Всем привет.Пытаюсь написать робота по icq.Которого можно биндовать. К примеру если будет введена цифра 1 бот должен послать опредленное сообщение.... Ближе к делу
| Код | res = компонент listbox all = компонент memo,в который ведется история ms,koman,pathfile,sk:string; kom = listbox в котором хранятся команды pather = listbox в котором хранятся пути к файлам //////////////////////////// procedure TForm1.icqMessageRecv(Sender: TObject; Msg, UIN: String); begin allmessage.Clear; ms:=''; allmessage.Text:=Msg; all.Text:=all.Text+#13#10+uin+': '+msg; all.Lines.Add(''); ms:=allmessage.Text; numbericq.Text:=uin; spinedit2.Value:=-1; spinedit3.Value:=-1; while spinedit2.Value<kom.Count do begin spinedit2.Value:=spinedit2.Value+1; kom.ItemIndex:=spinedit2.Value; pather.ItemIndex:=spinedit2.Value; koman:=kom.Items.Strings[kom.itemindex]; pathfile:=pather.items.strings[pather.itemindex]; load.Lines.LoadFromFile(pathfile); if koman=ms then begin icq.SendMessage(strtoint(numbericq.Text), load.text); all.Text:=all.Text+#13#10+'BOT'+': '+load.Text; all.Lines.Add(''); break; end else begin while spinedit3.Value<res.Count do begin spinedit3.Value:=spinedit3.Value+1; res.itemindex:=spinedit3.Value; sk:=res.Items.Strings[res.itemindex]; if sk<>numbericq.Text then begin break; load.Lines.LoadFromFile(path+'\'+'start.txt'); icq.SendMessage(strtoint(numbericq.Text), load.text); res.items.add(numbericq.text); end; ///////////////////// end;
|
Прикол вот в чем нужно отловить 1(первое) ли сообщение пришло от какого-то номера и если да,то сначала выдать меню(start.txt)А при последующих сообщениях меню не выдавать.
Проверку я пытаюсь сделать здесь:
| Код | if sk<>numbericq.Text then begin break; load.Lines.LoadFromFile(path+'\'+'start.txt'); icq.SendMessage(strtoint(numbericq.Text), load.text); res.items.add(numbericq.text);
|
Не могу понять что я неправильно делаю? Подскажите пожалуйста.Заранее благодарен
|