Solmis Opublikowano 16 Listopada 2006 Opublikowano 16 Listopada 2006 HWND hListBox = CreateWindowEx(WS_EX_CLIENTEDGE, "LISTBOX", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 5, 5, 150, 200, hwnd, NULL, hInstance, NULL); SendMessage(hListBox, LB_ADDSTRING, 0, (LPARAM)"Szarlotka"); SendMessage(hListBox, LB_ADDSTRING, 0, (LPARAM)"Piernik"); case WM_COMMAND: if((HWND)lParam == g_hPrzycisk) MessageBox(hwnd, "Składniki:...", "Piernik", MB_ICONINFORMATION); break; Co tu jest źle? :sp_ike: :sp_ike: :sp_ike: Powiedzcie mi, jak wiecie, bo mam problem. Zawsze nie chce sie skompilowac: 2 errors Line | Unit | Message ------------------------------------------------------------------------------ 53 main3.cpp case label `273' not within a switch statement. 53 main3.cpp confused by earlier errors, bailing out Pomoże ktoś? :P --------------------------------------------------- Projekty: Master Cooker - 3% Tyrasig - 20% Hewed racing - 67% AI - 27% xD =P xP
blackmaul Opublikowano 16 Listopada 2006 Opublikowano 16 Listopada 2006 Respect że chce ci się bawić WinApi ... Chodzi tu chyba o to, że nie możesz na samym końcu po IFie umieścić break; bo to jest instrukcja do funkcji CASE. Zamiast tego daj tam: return 0; (chyba tak to jest w C++, możliwe że będzie bez zero myli mi się z C# :) )
Solmis Opublikowano 16 Listopada 2006 Autor Opublikowano 16 Listopada 2006 Respect że chce ci się bawić WinApi ... Chodzi tu chyba o to, że nie możesz na samym końcu po IFie umieścić break; bo to jest instrukcja do funkcji CASE. Zamiast tego daj tam: return 0; (chyba tak to jest w C++, możliwe że będzie bez zero myli mi się z C# :) ) Nie o to chodzi, bo sprawdzałem, to samo. :( :( :( :( --------------------------------------------------- Projekty: Master Cooker - 3% Tyrasig - 20% Hewed racing - 67% AI - 27% xD =P xP
Filar Społeczności Ranmus Opublikowano 16 Listopada 2006 Filar Społeczności Opublikowano 16 Listopada 2006 53 main3.cpp case label `273' not within a switch statement.dyrektywę case używa się tylko i wyłącznie w strukturze warunkowej switch: switch ( zmienna ) { case wartość1: ...; break; case wartość2: ...; break; .... default: ....; break; } Dałeś samo case, a gdzie reszta switch'a?
Matthew Opublikowano 16 Listopada 2006 Opublikowano 16 Listopada 2006 @UP: Miałem właśnie to powiedzieć :[ LOL, a ten drugi error jest spowodowany tym, że są jakieś inne errory :)
Solmis Opublikowano 16 Listopada 2006 Autor Opublikowano 16 Listopada 2006 switch(hwnd) { case WM_COMMAND: if((HWND)lParam == Szarlotka) MessageBox(hwnd, "Nacisnąłeś przycisk!", "Ha!", MB_ICONINFORMATION); break; default; } SendMessage(hListBox, LB_ADDSTRING, 0, (LPARAM)"Piernik") To nie wchodzi... Widocznie pisać nie potrafię... :( :( dobra, do rzeczy... Jakiego mam do tego switcha wziac?? Bo nie bardzo chcą mi jakies wejsc. :( :( :( --------------------------------------------------- Projekty: Master Cooker - 8% Tyrasig - 20% Hewed racing - 67% AI - 27% xD =P xP
blackmaul Opublikowano 16 Listopada 2006 Opublikowano 16 Listopada 2006 Switch to nie żaden hwnd! Bierzesz się za WinApi, a po drodze zgubiłeś podstawy. Piszesz coś takiego: switch(nazwa_zmiennej) { // Jeśli zmienna jest typu string, to zamiast liczb, możesz pisać: case "tekst_tekst": itd Case 1: // jakas akcja break; Case 2: // inna akcja itd break; default : // czyli to się stanie w przecuwnym wypadku } Jakież to proste :D
Solmis Opublikowano 20 Listopada 2006 Autor Opublikowano 20 Listopada 2006 Niby jak???!!!!!!!!!! Nie wchodzi!! Nic takiego nie wchodzi: switch(string)// Jeśli zmienna jest typu string, to zamiast liczb, możesz pisać: case "tekst_tekst": itd { HWND hListBox = CreateWindowEx(WS_EX_CLIENTEDGE, "LISTBOX", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 5, 5, 150, 200, hwnd, NULL, hInstance, NULL); SendMessage(hListBox, LB_ADDSTRING, 0, (LPARAM)"Szarlotka"); case WM_COMMAND: if((HWND)lParam == g_hPrzycisk) essageBox(hwnd, "Szarlotka", "Ha!", MB_ICONINFORMATION); // jakas akcja break; SendMessage(hListBox, LB_ADDSTRING, 0, (LPARAM)"Piernik"); case WM_COMMAND: if((HWND)lParam == g_hPrzycisk) essageBox(hwnd, "Piernik", "Ha!", MB_ICONINFORMATION); // inna akcja itd break; default: } To zresztą też: switch(string)// Jeśli zmienna jest typu string, to zamiast liczb, możesz pisać: case "tekst_tekst": itd { HWND hListBox = CreateWindowEx(WS_EX_CLIENTEDGE, "LISTBOX", NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 5, 5, 150, 200, hwnd, NULL, hInstance, NULL); SendMessage(hListBox, LB_ADDSTRING, 0, (LPARAM)"Szarlotka"); case WM_COMMAND: if((HWND)lParam == "Szarlotka") essageBox(hwnd, "Szarlotka", "Ha!", MB_ICONINFORMATION); // jakas akcja break; SendMessage(hListBox, LB_ADDSTRING, 0, (LPARAM)"Piernik"); case WM_COMMAND: if((HWND)lParam == "Piernik") essageBox(hwnd, "Piernik", "Ha!", MB_ICONINFORMATION); // inna akcja itd break; default: }
Maximal Opublikowano 20 Listopada 2006 Opublikowano 20 Listopada 2006 Chłopie, po co Ty się bierzesz za WinApi, skoro podstaw nie opanowałeś?
blackmaul Opublikowano 20 Listopada 2006 Opublikowano 20 Listopada 2006 W switchu nie wpisujesz typu tylko nazwę. Poza tym, cały twój kod jest paskudny i pełen bugów. Wróć lpeiej do strukturalnego programowania (o ile od takiego zacząłeś :]) albo ściągnij C++ Buildera który połowę wykona za Ciebie, i nie będziesz musiał się męczyć z WinAPI.
Solmis Opublikowano 21 Listopada 2006 Autor Opublikowano 21 Listopada 2006 -.- Widzę, że od was się niczego nie dowiem. Zamiast mi odpowiedzieć to spamujecie. Możecie mnie zbanować. To tylko forum. Blackmaul! Mówiłeś, że tu pełno bugów <lolz>, nieby gdzie, odczytuje błąd ze switchem. Zresztą szkoda słów! }D
Filar Społeczności Ranmus Opublikowano 21 Listopada 2006 Filar Społeczności Opublikowano 21 Listopada 2006 A niby co mamy Ci odpisać? Cały kod tworzenia okna? Weź pierwszy lepszy kurs winapi i zobacz jak to wygląda, bo na moje oko powinien być 3 razy dłuży i na dodatek nie masz pętli odbierającej komunikaty. Ja na pamięć tego nie znam to nie piszę, a przecież nie będę za Ciebie szukał tylko po to by tu wkleić odpowiedź. Napisałeś to tyle dni temu, a ja bym na twoim miejscu już dawno to wyguglował.
Bartek (Kamrat) Opublikowano 21 Listopada 2006 Opublikowano 21 Listopada 2006 www.winapi.org www.winapi.org/forum i wszystko jasne ;]
Maximal Opublikowano 21 Listopada 2006 Opublikowano 21 Listopada 2006 Albo przechodzisz na C# ;PPrawda! Ale z drugiej strony, najpierw lepiej opanować podstawy algorytmiki ;p
Solmis Opublikowano 21 Listopada 2006 Autor Opublikowano 21 Listopada 2006 Buhahahahah! Myślicie, że ja wam podałem cały kod? Tylko to pokazałem, co konieczne :P czyli gdzie błąd!
Filar Społeczności Ranmus Opublikowano 21 Listopada 2006 Filar Społeczności Opublikowano 21 Listopada 2006 Buhahahahah! Myślicie, że ja wam podałem cały kod? Tylko to pokazałem, co konieczne :P czyli gdzie błąd! Oczywiście. To nie w naszym interesie jest znalezienie błędu tylko w twoim. Po tym kawałku kodu już widzę, że nie umiesz winapi, a po drugie nie podajesz komunikatów błędów: Niby jak???!!!!!!!!!! Nie wchodzi!! Nic takiego nie wchodzi: Wchodzić to może **** do ****. Co my jesteśmy jasnowidzami i zawsze wiemy jaki błąd kompilator wypluwa? Z jednej strony oburzasz się jak dziecko, że nie dostajesz odpowiedzi, a z drugiej strony nawet nie dajesz na to szansy, bo nie dokumentujesz dokładnie błędu i nie podajesz wszystkich ważnych informacji.
Solmis Opublikowano 21 Listopada 2006 Autor Opublikowano 21 Listopada 2006 Nie no sory, ale ja mam 13 lat! :boxed: Nie jestem, jakimś kujonem! :]
Maximal Opublikowano 21 Listopada 2006 Opublikowano 21 Listopada 2006 Nie no sory, ale ja mam 13 lat! :boxed: Nie jestem, jakimś kujonem! :] Omg... << Też mam 13 lat i jakoś sobie radzę, a wcale nie jestem "kujonem" :/
dziadekkleofas Opublikowano 21 Listopada 2006 Opublikowano 21 Listopada 2006 Nie no sory, ale ja mam 13 lat! :boxed: Nie jestem, jakimś kujonem! :] Stary, jak nie będziesz się uczył to sobie conajwyżej symulatory kopania rowów będziesz pisał. W TGF2. Na razie zamiast wkuwać WinApi zapoznaj się po kolei ze wszystkimi programami, naucz się podstaw paru języków programowania i sukcesywnie poszerzaj umiejętności w zakresie komputerów, a potem samo przyjdzie bo będziesz już wszystko rozumiał co do czego się ma i po prostu będzie ci dużo łatwiej. Nawet Ranmus gdzieś napisał że wziął się za programowanie w wieku 17 lat (No chyba że znowu źle przeczytałem, piszę głupoty i zasługuję na pięćset ostrzeżeń). A tak to nauczysz się tego wszystkiego a potem wpadniesz na pomysł żeby się wyspecjalizować w czymś innym i cała ta nauka pójdzie w ***du za przeproszeniem. A co do samego c++ faktycznie, lepiej naucz się podstaw bo śmietnik w kodzie robisz straszny.
Solmis Opublikowano 22 Listopada 2006 Autor Opublikowano 22 Listopada 2006 ok... Już sam se rozwiązałem wczoraj problem. :sp_ike:
blackmaul Opublikowano 22 Listopada 2006 Opublikowano 22 Listopada 2006 Albo przechodzisz na C# ;P Dokładnie! ;) Ale z drugiej strony, najpierw lepiej opanować podstawy algorytmiki ;p Do opanowania podstaw można użyć Logo Komeniusza :3
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się