![]() |
|
|
#1
|
|||
|
|||
![]() Доброго времени суток уважаемые
![]() Пишу ICQ бота... Вообщем кусок кода: Код:
var icq: cardinal; i: integer; Find:string; // Искомая строка posit : Integer; S: String; KeyCode: integer; begin KeyCode:= 0; Key := Copy(Msg,0,7); Nick := Copy(Msg,9,35); find:=Key; ts := find; Memo1.Lines.LoadFromFile('keys.txt'); begin for i := 0 to Memo1.Lines.Count-1 do if Memo1.Lines.Strings[i] = find then KeyCode:= 1; end; if KeyCode = 1 then begin Memo1.Lines.Delete(i); Memo1.Lines.SaveToFile('keys.txt'); Memo1.Lines.Clear; KeyCode:= 0; Полученное сообщение разбивается на 2 слова, ключ и имя, в мемо грузится файл c ключами (1 ключ на строку), если полученный ключ совпадает со строкой из мемо (т.е. из keys.txt) строка с ключом поидее должна удаляться.... Но этого не происходит ![]() ![]() Последний раз редактировалось Cracer, 27.04.2010 в 19:48. |
#2
|
||||
|
||||
![]() Цитата:
Цитата:
П.с.: а вобщем это все можно гораздо лучше реализовать. Зачем каждый раз грузить с файла в файл? Зачем сравнивать именно в мемо? Зачем соединять пароль и ник в одном файле? И т.д. Последний раз редактировалось Konrad, 27.04.2010 в 19:30. |
#3
|
|||
|
|||
![]() В поставленной задаче есть хоть намек на рассылку спама? Совершенно не для этих целей. Для рассылки спама мне просто необходимо принимать входящие сообщения?
![]() В файле нет пасса и кода, а лишь одни пассы-ключи, по 1 ключу в строку. Вы меня спрашиваете зачем? ![]() Пароль и ник в файле не соединяются вообще. Меня конкретно интересует как в данном примере удалить найденную строку. Последний раз редактировалось Cracer, 27.04.2010 в 19:56. |
#4
|
||||
|
||||
![]() Код:
if Memo1.Lines.Strings[i] = find then |
#5
|
|||
|
|||
![]() перезадал переменную... заработало. Спасибо, проблема решена.
|