![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Доброго времени суток. Пишу для себя небольшой чекер. Суть его работы: из файла akks.txt прога берет строку с логином и паролем, отправляет запрос на сервер - если пароль верный, то сохраняет в файл good.txt, иначе - bad.txt. Никак не могу сделать так, чтобы после проверки очередной строки программа удаляла ее, т.е чтобы файл source очищался в процессе работы. (на случай лагов с интернетом - чтобы заново не запускать)
Код:
begin
post:=tstringlist.Create;
reset(f1);
while not EOF(f1) do
begin
form1.edit2.text:=inttostr(i);
form1.edit3.Text:=inttostr(k);
readln(f1,s);
login:=copy(s,1,pos(';',s)-1);
pass:=copy(s,pos(';',s)+1,length(s)-length(login)+1);
post.add('username='+login);
post.add('password='+pass);
d:=form1.IdHTTP1.post('http://сайт', post);
b:=pos('<title>',d);
c:=pos('</title>',d);
g:=copy(d,b+7,c-b-7);
if g='условие проверки' then
begin
append(f2);
writeln(f2,login+';'+pass);
i:=i+1;
close(f2);
end
else
begin
append(f3);
writeln(f3,login+';'+pass);
k:=k+1;
close(f3);
end;
with tstringlist.create do
begin
loadfromfile('temp_source.txt');
delete(0);
savetofile('temp_source.txt');
free
end;
end;
close(f1);
end;Получилось только так - через дополнительный файл. Подскажите плиз, как обойтись без него? |
|
#2
|
||||
|
||||
|
А не проще воспользоваться Ini-файлом...
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
Ini: TIniFile;
begin
Ini := TIniFile.Create('C:\MyIni.ini');
Ini.DeleteKey('Login','Log1');
Ini.DeleteKey('Password','Pass1');
end;Код:
[Login] Log1=Login_1 Log2=Login_2 [Password] Pass1=Password_1 Pass2=Password_2 Код:
[Login] Log2=Login_2 [Password] Pass2=Password_2 |
|
#3
|
|||
|
|||
|
Аккаунты сожержатся в файле в формате логин;пароль. Так что не вижу, чтобы было проще)
|
|
#4
|
||||
|
||||
|
Неужели так сложно пользоваться гуглом?
Код:
procedure DeleteLineFromFile(FileName:string;LineNumber:integer); var F:TStringList; begin F:=TStringList.Create; F.LoadFromFile(FileName); F.Delete(LineNumber); F.SaveToFile(FileName); F.Free; end; ![]() |
|
#5
|
|||
|
|||
|
Если посмотреть в мой код, то там именно так и сделано
. Просто если включить этот код с основным файлом source, то программа работает неверно (не работает цикл, не удаляет строчки) |