Ĺadny brzuch
No więc mam taki kodzik:
if edit2.text= 'Czesc' then
HGG1.SendMessage(GGNumber, 'Siemka',[])
No i teraz mam problem, gdyż jeśli ktoś Wpisze "czesc" lub "CZEŚĆ" lub "CzEśC" i inne to mi nie wyśle wiadomości "Siemka" :( Jak zrobić, aby reagował na każdy tekst rozpoczynający sie np. od "Cze"? Robienie nowych if'ów raczej odpada, gdyż program byłby bardzo duży :(. Próbowałem szukać na necie, ale nie wiem co wpisać ;/
Z góry serdecznie dziękuje za jakieś wskazówki, pomoc :)
Pozdrawiam
Ps: Prawdopodobnie napisałem źle tytuł tematu, gdyż nie wiem jak go nazwać :(. Jeśli jest źle, proszę moderatorów o zmianę...
Użyj po 2 stronach np. LowerCase() lub z obsługą ogonków AnsiLowerCase()
Użytkownik rol` edytował ten post 10 październik 2007, 06:03
Użyj po 2 stronach np. LowerCase() lub z obsługą ogonków AnsiLowerCase()
Tzn. jak po 2 stronach? Bo nie rozumiem ;/ Próbowałem z kodem:
if edit2.text=LowerCase('Czesc') then HGG1.SendMessage(GGNumber, 'Siemka',[])
No i działa, ale tylko na małe litery :( Gdy wpisze np. "Czesc" czy "CzEść" to juz nie :( Próbowałem tez z AnsiLowerCase() ale to samo :( Ma ktoś inne propozycje?
tak jak powiedzial rol` - musisz OBIE wartosci sprowadzic do malych/duzych znakow i wtedy porownywac...
swoja droga, w przypadku stalej to konstrukcja LowerCase('Czesc') nie ma zadnego sensu - rownie dobrze mozna wpisac po prostu 'czesc' :>
A możesz i pomóc sobie funkcją - napisz taką, gdzie stworzysz tablicę z dopuszczonymi wartościami (np. 'cześć','cze','elo'), a następnie sprawdzasz, czy parametr funkcji jest w tablicy. Jeśli tak, zwracasz true i tyle :P
Tzn. jak po 2 stronach? Bo nie rozumiem ;/ Próbowałem z kodem:
if edit2.text=LowerCase('Czesc') then<BR> HGG1.SendMessage(GGNumber, 'Siemka',[])
No i działa, ale tylko na małe litery :( Gdy wpisze np. "Czesc" czy "CzEść" to juz nie :( Próbowałem tez z AnsiLowerCase() ale to samo :( Ma ktoś inne propozycje? LowerCase daje tekst podany jako parametr w malych literach, czyli dajac LowerCase('CzEsC') dostaniesz 'czesc'. Logicznie rozumujac dajac LowerCase(edit1.text) dostaniesz tekst w edicie i wszystkie litery beda male.
Czyli wystarczy dac if LowerCase(edit1.text) = 'czesc' then...
A jak chcesz reagowac na 'cze' na poczatku to uzywasz copy razem z lowercase tak jak podalem wyzej.
A jak chcesz reagowac na 'cze' na poczatku to uzywasz copy razem z lowercase tak jak podalem wyzej.
ja bym dal pos(..) = 1 ;) no ale kwestia przyzwyczajen ;)
ja bym dal pos(..) = 1 ;) no ale kwestia przyzwyczajen ;) Albo i od pogladow, znam jedna osobe ktora ma fiola na punkcie optymalizacji, wszedzie musi miec odpowiednie typy zmiennych, np. zamiast int - shortint albo nawet word, wiec moznaby podywagowac ktora metoda jest szybsza - pos'owanie czy copy'owanie ;)
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
if edit2.text= 'Czesc' then
HGG1.SendMessage(GGNumber, 'Siemka',[])
No i teraz mam problem, gdyż jeśli ktoś Wpisze "czesc" lub "CZEŚĆ" lub "CzEśC" i inne to mi nie wyśle wiadomości "Siemka" :( Jak zrobić, aby reagował na każdy tekst rozpoczynający sie np. od "Cze"? Robienie nowych if'ów raczej odpada, gdyż program byłby bardzo duży :(. Próbowałem szukać na necie, ale nie wiem co wpisać ;/
Z góry serdecznie dziękuje za jakieś wskazówki, pomoc :)
Pozdrawiam
Ps: Prawdopodobnie napisałem źle tytuł tematu, gdyż nie wiem jak go nazwać :(. Jeśli jest źle, proszę moderatorów o zmianę...
Użyj po 2 stronach np. LowerCase() lub z obsługą ogonków AnsiLowerCase()
Użytkownik rol` edytował ten post 10 październik 2007, 06:03
Użyj po 2 stronach np. LowerCase() lub z obsługą ogonków AnsiLowerCase()
Tzn. jak po 2 stronach? Bo nie rozumiem ;/ Próbowałem z kodem:
if edit2.text=LowerCase('Czesc') then HGG1.SendMessage(GGNumber, 'Siemka',[])
No i działa, ale tylko na małe litery :( Gdy wpisze np. "Czesc" czy "CzEść" to juz nie :( Próbowałem tez z AnsiLowerCase() ale to samo :( Ma ktoś inne propozycje?
tak jak powiedzial rol` - musisz OBIE wartosci sprowadzic do malych/duzych znakow i wtedy porownywac...
swoja droga, w przypadku stalej to konstrukcja LowerCase('Czesc') nie ma zadnego sensu - rownie dobrze mozna wpisac po prostu 'czesc' :>
A możesz i pomóc sobie funkcją - napisz taką, gdzie stworzysz tablicę z dopuszczonymi wartościami (np. 'cześć','cze','elo'), a następnie sprawdzasz, czy parametr funkcji jest w tablicy. Jeśli tak, zwracasz true i tyle :P
Tzn. jak po 2 stronach? Bo nie rozumiem ;/ Próbowałem z kodem:
if edit2.text=LowerCase('Czesc') then<BR> HGG1.SendMessage(GGNumber, 'Siemka',[])
No i działa, ale tylko na małe litery :( Gdy wpisze np. "Czesc" czy "CzEść" to juz nie :( Próbowałem tez z AnsiLowerCase() ale to samo :( Ma ktoś inne propozycje? LowerCase daje tekst podany jako parametr w malych literach, czyli dajac LowerCase('CzEsC') dostaniesz 'czesc'. Logicznie rozumujac dajac LowerCase(edit1.text) dostaniesz tekst w edicie i wszystkie litery beda male.
Czyli wystarczy dac if LowerCase(edit1.text) = 'czesc' then...
A jak chcesz reagowac na 'cze' na poczatku to uzywasz copy razem z lowercase tak jak podalem wyzej.
A jak chcesz reagowac na 'cze' na poczatku to uzywasz copy razem z lowercase tak jak podalem wyzej.
ja bym dal pos(..) = 1 ;) no ale kwestia przyzwyczajen ;)
ja bym dal pos(..) = 1 ;) no ale kwestia przyzwyczajen ;) Albo i od pogladow, znam jedna osobe ktora ma fiola na punkcie optymalizacji, wszedzie musi miec odpowiednie typy zmiennych, np. zamiast int - shortint albo nawet word, wiec moznaby podywagowac ktora metoda jest szybsza - pos'owanie czy copy'owanie ;)