LB_DELETESTRING
-
LB_GETCOUNT
-
So ich hab den Code nur wenn ich ihn durchlaufenlasse h'ngt sich mein Prog. auf was mach ich den blos falsch.
//Abfrage Gruppenname HWND hWndListBox = GetDlgItem(hwnd,IDC_GRUPPE_E); TCHAR szText[20]; SendMessage(hWndListBox,LB_GETTEXT,0,(LPARAM)szText); SendMessage(hWndListBox,LB_GETCOUNT,0,(LPARAM)correct); if(correct) { for(int x = 0; x <= anzahl; x++) { if(Gruppen[x].name==szText) { Rwert=x; } } }else{MessageBox(hwnd,"Keine wahl oder Gruppen bei Gruppen","Fehler", MB_ICONEXCLAMATION | MB_OK); }
so.
[ Dieser Beitrag wurde am 18.12.2002 um 21:01 Uhr von mosta editiert. ][ Dieser Beitrag wurde am 18.12.2002 um 21:44 Uhr von mosta editiert. ]
-
DEIN CODE IST GRÄSLICH! Kann man sich ja ned angucken.
-
und guck dir mal den for-schleifen-kopf an (test-bedingung)
-
ok!!! (scheiss flüchtigkeits fehler)
-
Du solltest bei der for-Schleife 'x < anzahl' schreiben, sonst wird die Schleife nicht aufgerufen, außer 'anzahl' ist '0'.
cu
[ Dieser Beitrag wurde am 18.12.2002 um 21:03 Uhr von MagiC Creator editiert. ]
-
hast im ja wieder alles verraten
.
-
Mach ich doch gern :D...
Äh nochwas: 'ihm' schreibt man mit einem 'h'
cu
-
ein weiteres Problem ich folgenden code die Eingabe läuft bestens nur wenn ich versuche den Text in einer List Box auszugeben klapt es nicht ganz er zeigt in den ersten beiden feldern nichts an.
//Abfrage Gruppenname int len = GetWindowTextLength(GetDlgItem(hwnd, IDC_GRUPPEN_NAME)); //übergabe der Textlänge char GName[20]; GetDlgItemText(hwnd, IDC_GRUPPEN_NAME, GName, len+1);//übergabe des textes if(len==0) { correct = FALSE;//damit wird die eingabe für ungültig erklärt MessageBox(hwnd, "Keine Eingabe bei Gruppen Name", "Fehler", MB_ICONEXCLAMATION | MB_OK);// bei keiner eingabe hinweis } else { count++;//es wird eins hochgezählt strcpy(Gruppen[count].name,GName);//der wert aus der EditBox wird übergeben } //das ist nicht das wirkliche Problem nur wenn ich versuche den eingebenen //namen wieder in einer List Box auszugeben da gibt er in den ersten beiden //feldern nichts aus hier der code für die ausgabe HWND hWndListBox = GetDlgItem(hwnd,IDC_GRUPPE_E); SendMessage(hWndListBox,LB_RESETCONTENT,0,0); hWndListBox = GetDlgItem(hwnd,IDC_GRUPPE_E);//Handle auf die List Box for(int x = 0; x<=count; x++)//schleife für die ausgabe { SendMessage(hWndListBox,LB_ADDSTRING,x,(LPARAM)Gruppen[x].name); //lädt die namen in die List Box }
Ich hoffe auf schnelle antwort
ach so count wird am anfang auf NULL gesetzt.
[ Dieser Beitrag wurde am 19.12.2002 um 00:31 Uhr von mosta editiert. ]
-
ich kanns nur nochmal betonen. schreib endlich vernünftigen code!
-
kannst du einen Fehler finden
-
Hmm... auf Anhieb nicht, aber warum hast du im Schleifenkopf 'x <= count'? Wenn ein Array z.B. 3 Einträge hat, dann hat der letzte den Index '2', und nicht '3'. Ich würde das auf 'x < count' umändern.
cu
-
ich hab count++ einmal zu oft und am falschem platz so das bei jedem einlesen des gruppennamen 3 namen eingelesen.
-
Mal wieder ein typischer Fall: Syntax stimmt, aber Semantik nicht :)!
cu