|
#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
|
|||
|
|||
перезадал переменную... заработало. Спасибо, проблема решена.
|