Показать сообщение отдельно
  #17  
Старый 30.09.2010, 18:06
treiv treiv вне форума
Прохожий
 
Регистрация: 12.07.2010
Сообщения: 2
Репутация: 10
По умолчанию

У меня следующий вопрос. пишу icq бота на delphi вот кусок кода

Цитата:
procedure TForm1.ICQClient1MessageRecv(Sender: TObject; Msg, UIN: String);
var
answ : string;
line : integer;
i : integer;
begin
line := -1;
for i := 0 to base.Count - 1 do
if pos(Msg, base.Strings[i]) <> 0 then
begin
line := i;
Break;
end;
answ := base.Strings[Line];
Delete(answ, 1, Pos('=', answ));
AddEvent('['+TimeToStr(Time)+']'+ ' | '+ UIN + Crlf + Msg);

if base.Count >= -1 then
ICQClient1.SendMessage(StrToInt(UIN), 'команды нет') ;

Вродже работет ищет по базе команды. В текстовом файле заисаны команды так
1=команда номер1
привет=ну привет
3=команда 3
то есть то что перед равно это команда которую бот должен обработать и выслать ответ после = работает но не правильно если например этой команды нет выдает ошибку что то Etstringerror lines -1 что то в этом роде помогите решить проблему((
Ответить с цитированием