Immer wahr?
-
Mit folgenden Code versuche ich Items die den Text aus 2 ComboBoxen enthalten aus einer Liste in eine andere zu kopieren,aber es werden alle kopiert.
Name unde Marke enthalten den richtigen Wert,aber b1 und b2 sind immer true egal ob der Text drin ist oder nicht.Könnte mir bitte jemand sagen wo ich den Fehler gemacht habe.m_SortListe.DeleteAllItems(); CString Name,Marke; m_Name.GetLBText(m_Name.GetCurSel(),Name); m_Marke.GetLBText(m_Marke.GetCurSel(),Marke); for(int i =0; i< m_Store.GetItemCount();i++) { CString t = m_Store.GetItemText(i,1); bool b1 =(t.Find(Marke) > -1)||(Marke = "Alle")||(Marke = ""); bool b2 =(t.Find(Name) > -1)||(Name = "Alle")||(Name = ""); if(b1&&b2) { LVITEM lvi; lvi.mask = LVIF_PARAM|LVIF_TEXT; lvi.lParam = i; lvi.iItem = i; lvi.iSubItem =0; lvi.pszText =m_Store.GetItemText(i,0).GetBuffer(0); m_SortListe.InsertItem(&lvi); for(int si =1;si < 11;si++) { m_SortListe.SetItemText(i,si,m_Store.GetItemText(i,si)); } } }
-
Woher hast Du die Information, dass der Befehl Find > -1 zurückgibt, wenn er den String gefunden hat?
-
Aus der Hilfe
Return Value
The zero-based index of the first character in this CString object that matches the requested substring or characters; -1 if the substring or character is not found.
[ Dieser Beitrag wurde am 22.04.2003 um 14:39 Uhr von Andorxor editiert. ]
-
Ähm, ups, da hab ich mich verlesen
Aber bei Vergleichsoperatoren würde ich immer '==' statt '=' verwenden!
-
Danke