Ĺadny brzuch
Piszę bota do delphi na komponentach i mam np.
If MessageContent='co porabiasz?' then begin gg1.SendMessage(GGNumber,'rozmawiam, a ty nie masz nic lepszego do roboty?'); end;
czyli jak ktoś do bota napisze "co porabiasz" to on mu odpowie.
Inaczej sprawa wygląda jak ktoś zapisze "co porabiasz??" lub "co porabiasz co?".
Na to pytanie bot nic nie odpisze.
Czy jest jakiś sposób by bot odpisywał na komendy napisane w kodzie jako np. "co pora" tak, że jak ktoś napisze do niego "co porabiiisz?" to odczyta tą komendę jako "co pora" i odpowie...
rozumiecie o co mi chodzi?
po prostu ktoś napisze "co u ciebie słychać robocie?", a w kodzie mam "co u ciebie" i on na to odpowie....
PS. Co to za komenda trimRight?
PS. Co to za komenda trimRight?
Funkcja, która usuwa białe znaki z końca (prawej strony) napisu?
Polecam wyrażenia regularne do takich celów. Można też na piechotę, np. przez pos, czy copy, albo porównanie w pętli, ale wyrażenia regularne raczej wygodniejsze.
dzięki za pomoc
spodobał mi się ten POS, ale jest jedna wada w nim. (albo i nie).
Jak ma przykładowo wpisane:
If (Pos('cze', Edit1.Text)=1) then begin
close;
to po wpisaniu: "cze", "czesc","czeeeeenduw" itd zadziała, ale jak wpisze się "no cze" to już nie zadziała.
Czy można coś do tego POS dopisać coś by danego słowa szukał wśród innych słów??
dzięki za pomoc
spodobał mi się ten POS, ale jest jedna wada w nim. (albo i nie).
Jak ma przykładowo wpisane:
If (Pos('cze', Edit1.Text)=1) then begin
close;
to po wpisaniu: "cze", "czesc","czeeeeenduw" itd zadziała, ale jak wpisze się "no cze" to już nie zadziała.
Czy można coś do tego POS dopisać coś by danego słowa szukał wśród innych słów??
Pos zwraca Ci pozycję szukanego tekstu w stringu lub 0 gdy go tam nie ma. Więce jeżeli zwróci wartość > 0 to szukany tekst znajduje się w stringu.
var string s; begin s := 'test'; showmessage(inttostr(pos('test', s))); s := 'to jest test'; showmessage(inttostr(pos('test', s))); s := 'test2'; showmessage(inttostr(pos('test', s))); s := 'supertesto!'; showmessage(inttostr(pos('test', s))); s := 'zupa'; showmessage(inttostr(pos('test', s))); end
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
If MessageContent='co porabiasz?' then begin gg1.SendMessage(GGNumber,'rozmawiam, a ty nie masz nic lepszego do roboty?'); end;
czyli jak ktoś do bota napisze "co porabiasz" to on mu odpowie.
Inaczej sprawa wygląda jak ktoś zapisze "co porabiasz??" lub "co porabiasz co?".
Na to pytanie bot nic nie odpisze.
Czy jest jakiś sposób by bot odpisywał na komendy napisane w kodzie jako np. "co pora" tak, że jak ktoś napisze do niego "co porabiiisz?" to odczyta tą komendę jako "co pora" i odpowie...
rozumiecie o co mi chodzi?
po prostu ktoś napisze "co u ciebie słychać robocie?", a w kodzie mam "co u ciebie" i on na to odpowie....
PS. Co to za komenda trimRight?
PS. Co to za komenda trimRight?
Funkcja, która usuwa białe znaki z końca (prawej strony) napisu?
Polecam wyrażenia regularne do takich celów. Można też na piechotę, np. przez pos, czy copy, albo porównanie w pętli, ale wyrażenia regularne raczej wygodniejsze.
dzięki za pomoc
spodobał mi się ten POS, ale jest jedna wada w nim. (albo i nie).
Jak ma przykładowo wpisane:
If (Pos('cze', Edit1.Text)=1) then begin
close;
to po wpisaniu: "cze", "czesc","czeeeeenduw" itd zadziała, ale jak wpisze się "no cze" to już nie zadziała.
Czy można coś do tego POS dopisać coś by danego słowa szukał wśród innych słów??
dzięki za pomoc
spodobał mi się ten POS, ale jest jedna wada w nim. (albo i nie).
Jak ma przykładowo wpisane:
If (Pos('cze', Edit1.Text)=1) then begin
close;
to po wpisaniu: "cze", "czesc","czeeeeenduw" itd zadziała, ale jak wpisze się "no cze" to już nie zadziała.
Czy można coś do tego POS dopisać coś by danego słowa szukał wśród innych słów??
Pos zwraca Ci pozycję szukanego tekstu w stringu lub 0 gdy go tam nie ma. Więce jeżeli zwróci wartość > 0 to szukany tekst znajduje się w stringu.
var string s; begin s := 'test'; showmessage(inttostr(pos('test', s))); s := 'to jest test'; showmessage(inttostr(pos('test', s))); s := 'test2'; showmessage(inttostr(pos('test', s))); s := 'supertesto!'; showmessage(inttostr(pos('test', s))); s := 'zupa'; showmessage(inttostr(pos('test', s))); end