CYFROWY BARON • PROGRAMOWANIE • Zobacz wÄ…tek - ComboBox wyszukiwanie

ComboBox wyszukiwanie

dział ogólny

ComboBox wyszukiwanie

Nowy postprzez mirekpl6 » Å›roda, 30 listopada 2016, 19:35

Witam. Piszę w aplikacji kod, który ma za zadanie dodawanie do ComboBox kolejnej pozycji,jeśli nie znajduje się ona na liście. Jeśli znajduje się, to ma nic nie dodawać.
Ma być ignorowana wielkość znaków.

Napisałem taki kod, ale on nie działa:

KOD cpp:   •  UKRYJ  •
 if(Form6->ComboBox1->Items->IndexOf(Label1->Caption.c_str())==-1);
  Form6->ComboBox1->Items->Add(Label1->Caption);


Probowałem z c_str() i bez,z wartością -1 i false i nadal nie działa.
Avatar użytkownika
mirekpl6
Bladawiec
Bladawiec
 
Posty: 15
Dołączył(a): piątek, 11 listopada 2016, 13:53
PodziÄ™kowaÅ‚ : 4
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows 8 Pro 64bit
Kompilator: C++Builder 10.1 Berlin
Gadu Gadu: 0
    Windows 7Chrome

Re: ComboBox wyszukiwanie

Nowy postprzez Cyfrowy Baron » Å›roda, 30 listopada 2016, 20:18

Czy sprawdzałeś w nowym projekcje na prostej testowej aplikacji czy c_str() działa?

ComboBox i Label zawierają wartości typu UnicodeString i ta konwersja jest tam zbędna. Czyli wystarczy tak:

KOD cpp:   •  UKRYJ  •
if(Form6->ComboBox1->Items->IndexOf(Label1->Caption)==-1)
  Form6->ComboBox1->Items->Add(Label1->Caption);


Kod ci nie działa bo postawiłeś średnik po warunku i program po sprawdzeniu warunku niczego nie robi i wykonuje kolejną instrukcję, czyli dodaje zawartość Label1 niezależnie od tego czy ona już tam jest czy nie.
Na przyszłość używaj nawiasów to unikniesz takich niewidocznych na pierwszy rzut oka błędów.


KOD cpp:   •  UKRYJ  •
 if( Form6->ComboBox1->Items->IndexOf( Label1->Caption ) == -1 )
 {
  Form6->ComboBox1->Items->Add(Label1->Caption);
 }


Jeżeli chodzi o ignorowanie znaków to funkcja IndexOf nie ma takiej opcji.

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
mirekpl6
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 14 gości

cron