Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Odwołanie z osobnej funkcji (pliku) do progressBaru (Visual studio)

Ostatnio zmodyfikowano 2015-06-06 22:35
Autor Wiadomość
kswmd
Temat założony przez niniejszego użytkownika
Odwołanie z osobnej funkcji (pliku) do progressBaru (Visual studio)
» 2015-04-28 15:01:40
Witam,
Tworzę program który wykonuje bardzo duże obliczenia (np. 50 000 razy przelicza po kolei 50000 punktów) w związku z czym przydałaby mi się informacja na temat postępu. Jeżeli nie byłaby to osobna funkcja użyłbym po prostu "progressBar1->value= ",jednak bez specjalnego odwołania Visual paska postępu nie widzi. W jaki sposób mogę się z osobnej funkcji (oraz z osobnego pliku) odwołać do progressBar'u?.
P-131553
darko202
» 2015-04-28 15:26:53
P-131555
kswmd
Temat założony przez niniejszego użytkownika
» 2015-04-28 15:48:13
Przykład niestety kompletnie niezwiązany z moim problemem. Nie interesuje mnie, by pasek postępu przesuwał się z czasem tyko aby był uzależniony od postępu liczenia pętli. Coś w stylu aby działa mi funkcja typu:
C/C++
void f1( int a )
{
    for( int t = 0; t < 100; ++t )
    {
        for( int i = 0; i < 50000; ++i )
             a += 5;
       
        progressBar1->value = t;
    }
    return;
}

 czyli co muszę dopisać przed " progressBar1->value=t;" aby kompilator wiedział co ma zrobić?
P-131558
xordi
» 2015-04-29 10:55:20
Wystarczy do funkcji (a najlepiej obiektu który przeprowadza obliczenia) wysłać weak_ptr, uchwyt(HWND), albo pointer obiektu zawierający metodę (badź analogicznie wykonać operację na uchwycie HWND) do uaktualniania "progressbara".

I przy każdej pętli wysyłać "wiadomość" do progressbara.

Można jeszcze się pobawić w eventy, ale to wyższa szkoła jazdy.
P-131601
kswmd
Temat założony przez niniejszego użytkownika
» 2015-04-29 11:49:36
A możesz to tak łopatologicznie co gdzie wpisać? Nigdy się nie posługiwałem ani uchwytami ani wskaźnikami, a takie podstawowe informacje w książkach odnoszą się jedynie do zmiennych, a nie fragmentów okienka.
P-131605
darko202
» 2015-04-29 12:55:35
Pomyśl !  
przedstawiony przykład i inne uzależniają zmiany progresBar'a od czasu, aby to zademonstrować.
Ty w swoim programie możesz to uzależnić od czegoś innego.
np. zmiana z przykładu
C/C++
...
// Increment the value of the ProgressBar a value of one each time.
if( teraz_w ł ą ś nie_chc ę _zmieni ć )
     progressBar1->Increment( 1 ); //1 jedynka też może być zmieniona na coś innego

...

możesz mi nie wierzyć i szukać dalej np.
http://www.dreamincode.net​/forums/topic​/163704-microsoft-working-with-​progress-bars​/
https://www.youtube.com/watch​?v=8DbVwJ8QOUo

z wielu innych
https://www.google.pl/​?gws_rd=ssl#q=progress+bar+c%2B%2B+example

P-131606
kswmd
Temat założony przez niniejszego użytkownika
» 2015-04-29 16:04:36
eh... Ale piszę wyraźnie, że nie chodzi o to jak działa progressbar, bo to wiem i nigdy o to nie pytałem. Pytam jak się do niego odwołać z osobnej funkcji. Bo jak wpiszę Twoją wersję to otrzymam błąd
"progressBar1" : niezadeklarowany identyfikator
I co zrobić by kompilator znalazł ten progressbar?
P-131611
xordi
» 2015-06-06 22:35:18
Żeby kompilator wiedział co ma zrobić wyślij UCHWYT(HWND - handle albo pointer) tego progressbara do swojej funkcji, przecież napisałem. Pokaż mi swoją implementację progressbara i swojej funkcji.
P-133270
« 1 »
  Strona 1 z 1