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

nieprawidłowe działanie pętli for

Ostatnio zmodyfikowano 2013-11-11 11:51
Autor Wiadomość
oval
Temat założony przez niniejszego użytkownika
nieprawidłowe działanie pętli for
» 2013-11-11 11:10:42
Witam,
Uczę się tworzenia GUI i chciałem zrobić przycisk, który wprowadzi okno w ruch i przesunie je po ekranie. Stworzyłem więc taki kod:
C/C++
case WM_COMMAND:
if(( HWND ) lParam == g_hPrzycisk )
     MessageBox( hwnd, "Nacisnales przycisk!", "Ha!", MB_ICONINFORMATION );

if(( HWND ) lParam == g_hPrzyciska )
{
    int i = 0;
    for( int i = 0; i = 300; i++ )
    {
        MoveWindow( hwnd, i, i, 400, 400, TRUE );
        std::cout << i << endl;
        MessageBox( hwnd, "nr " + i, "Ha!", MB_ICONINFORMATION );
    }
}

break;
Jestem dopiero na początku kursu, więc wybaczcie, że nie korzystam z id kontrolek.
Błąd pojawia się w pętli for:
std::cout > pokazuje od samego początku 300, zamiast 0,1,2 itd...
w messageBox-ie zamiast nr + i, nic się nie pojawia(pusty msgbox).
Okno przemieszcza się od razu na koordynaty o x-y: 300-300.
Zincludowany windows.h oraz iostream. Korzystam z C::B.
Co robię źle ?
P-95991
kubawal
» 2013-11-11 11:13:44
i=300
Powinno być
i == 300
P-95993
Monika90
» 2013-11-11 11:23:14
@oval
"nr " + i

Wartością tego wyrażenia jest wskaźnik do znaku o indeksie i w łańcuch "nr ", jeżeli i == 300 to jest to wyjście poza zakres tablicy, bo łańcuch "nr " ma tylko 4 znaki.
P-95994
oval
Temat założony przez niniejszego użytkownika
» 2013-11-11 11:49:12
@kubawal: z == nie działa wcale. Zmieniłem na <= i śmiga pięknie :)
@Monika90: Jak więc wypisać napis "nr " i do niego dopisać zmienną typu int?
P-96003
Monika90
» 2013-11-11 11:51:55
Jak więc wypisać napis "nr " i do niego dopisać zmienną typu int?
Uzyj std::sprintf
P-96004
« 1 »
  Strona 1 z 1