[delphi] wysylanie wiadomosci


(Dashmen515) #1

Witam

Chce aby program wysyłał wiadomość jeżeli w wiadomości przychodzącej znajdzie słowo siema. Ale wyskakuje błąd

po słowie THEN

Oto kawałek źródła:

procedure TForm1.ggMessage(Sender: TObject; GGNumber: Integer;

  MessageContent: String; MessageTime: TDateTime);

var wyraz:string;

begin

     wiadomosci.Lines.Add('[' +inttostr(ggnumber) +']: ' +MessageContent);

     IF pos(wyraz,'siema') = true then


      begin

        gg.SendMessage(ggnumber,'Witam Cię')

      end


     else

     gg.SendMessage(ggnumber, odpowiedz.text); //wysyla odpowiedz

end;

Proszę o pomoc


(Ryan) #2

Jeśli wierzyć definicji Pos

function Pos(Substr: string; S: string): Integer;

i dokumentacjihttp://delphi.about.com/od/beginners/l/blrtlPos.htmPos zwraca inta a nie boola. Opis mówi: "Pos looks for the first complete occurence of Str in Source. If it finds one, it returns the character position in Source of the first character in Str as an integer value, otherwise it returns 0." więc interesuje Cię porównanie wyniku Pos do nie-zero:

if pos(wyraz,'siema') <> 0 then

Sugeruję czytać dokumentację.


(Dashmen515) #3

hmm no działa, ale po znalezieniu słowa siema nie odpisuje Witam Cię tylko wysyła inna odpowiedz jaka wstawię w odpowiedz.text


(Ryan) #4

A zerknąłeś do strony z dokumentacją? Czarno na białym widnieje:

Dla Pos Witam to nie to samo co witam albo wItam czy wITAm.