ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

29.04.2010, 19:08
|
|
Участник форума
Регистрация: 12.11.2009
Сообщений: 160
Провел на форуме: 568182
Репутация:
11
|
|
цикл делфи
Кароче такой вопрос получаю сорсы страницы в стринг, в ней есть несколько искомых строк одну эту строку я могу найти, но вот немогу найти эти строки до конца переменной как сделать?
|
|
|

29.04.2010, 19:43
|
|
Участник форума
Регистрация: 09.05.2009
Сообщений: 186
Провел на форуме: 1682814
Репутация:
102
|
|
var
sl:tstringlist;
i:integer;
begin
sl:=tstringlist.create;
sl.text:=http.get('site.ru');
for i:=0 to sl.count-1 do
begin
//поиск строки, вывод куда надо
end;
end;
|
|
|

29.04.2010, 19:55
|
|
Участник форума
Регистрация: 12.11.2009
Сообщений: 160
Провел на форуме: 568182
Репутация:
11
|
|
а у меня просто string
|
|
|

29.04.2010, 19:56
|
|
Познавший АНТИЧАТ
Регистрация: 09.11.2009
Сообщений: 1,077
Провел на форуме: 7879791
Репутация:
265
|
|
Выложи код.
|
|
|

29.04.2010, 20:16
|
|
Участник форума
Регистрация: 12.11.2009
Сообщений: 160
Провел на форуме: 568182
Репутация:
11
|
|
Вот код, 1n0y должен помочь, он что-то типо этого делал
procedure TForm1.Button1Click(Sender: TObject);
var
s,s1,i:integer;
cod:string;
params, responseres : tstringlist;
begin
params := TStringList.Create;
responseres := TStringList.Create;
try
params.Add('Login=wolf12309');
params.Add('Domain=mail.ru');
params.Add('Password=1234567');
responseres.Text := IdHTTP1.Post('http://win.mail.ru/cgi-bin/auth',params);
if Pos('logout',responseres.Text)>0 then
responseres.Text :=IdHTTP1.Post('http://my.mail.ru/my/search?search=1&typeSimple=1&type=1&query=&firstna me=&country=24&lastname=&city=25',params);
if Pos('message&to=',responseres.Text)<>0 then
ShowMessage('Поиск начат!');
for i:= 0 to 2 do //тут нихрена не получаеться
begin
s:=pos ('message&to=',responseres.Text);
s1:=pos ('ru" title',responseres.Text);
memo2.text:=copy(responseres.Text,s+11,s1-s-9);
end;
finally
params.free;
responseres.free;
end;
end;
Последний раз редактировалось aydar; 29.04.2010 в 20:18..
|
|
|

29.04.2010, 20:26
|
|
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме: 188563
Репутация:
52
|
|
Сообщение от aydar
Вот код, 1n0y должен помочь, он что-то типо этого делал
1. Как один из вариантов копировать стринг.
1. 1. нашел, что надо, запомнил
1. 2. Удалил, от конца позиции - все начало. Delete
2. В инете много функций POS которые Работаютт с указанием позиции, тоесть нашел, запомнил позицию +1 дальше ищем...
Последний раз редактировалось JnK; 29.04.2010 в 20:29..
|
|
|

29.04.2010, 21:57
|
|
Участник форума
Регистрация: 09.05.2009
Сообщений: 186
Провел на форуме: 1682814
Репутация:
102
|
|
как я понял, тебе нужно парсить мыла?
я делал так:
Код:
var
i:integer;
ml:string;
resp:tstringlist;
// захожу на акк
resp:=tstringlist.create;
resp.Text:=form1.http1.get('ссылка на поиск');
for i:=0 to resp.Count-1 do
begin
if Pos('www.mail.ru/agent?message&to=',resp.Strings[i])>0 then // если в строке есть эта строчка, то парсим мыла
begin
ml:=copy(resp.Strings[i], pos('www.mail.ru/agent?message&to=',resp.Strings[i]),99);
delete(ml, 1, 29);
delete(ml, pos('"',ml) ,length(ml));
form1.memo1.lines.add(ml); // добавляем мыло в мемо.
end
end;
Последний раз редактировалось 1n0y; 29.04.2010 в 22:34..
|
|
|

29.04.2010, 22:50
|
|
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме: 188563
Репутация:
52
|
|
PHP код:
ml:=copy(resp.Strings[i], pos('www.mail.ru/agent?message&to=',resp.Strings[i])+29,99);
delete(ml, pos('"',ml) ,length(ml));
Думаю так быстрее будет чуточку
В идеале вообще бы так:
PHP код:
ml:=copy(resp.Strings[i], pos('www.mail.ru/agent?message&to=',resp.Strings[i])+29,pos('"',resp.Strings[i]);
|
|
|

30.04.2010, 03:01
|
|
Участник форума
Регистрация: 09.05.2009
Сообщений: 186
Провел на форуме: 1682814
Репутация:
102
|
|
JnK, ага, так действительно лучше 
|
|
|

30.04.2010, 20:08
|
|
Участник форума
Регистрация: 12.11.2009
Сообщений: 160
Провел на форуме: 568182
Репутация:
11
|
|
ребят проблема с функции delete, кароче делаю так
responseres := TStringList.Create;
delete (responseres.text,0,pos('" title="Ще',responseres.text)+11);
компилятор выдают ошибку [DCC Error] Unit1.pas(51): E2197 Constant object cannot be passed as var parameter
кароче удаляю с начала , вклюяительно позиции title="Ще, но компилятор не пропускает что я не правильно делаю
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
вопрос к програмистам на пхп и делфи...
|
zifanchuck |
С/С++, C#, Delphi, .NET, Asm |
8 |
27.08.2009 17:23 |
|
Делфи исходник фейка на вход Mail Агент 5.1
|
ingvar |
Soft - Windows |
3 |
11.08.2009 15:18 |
|
Делфи исходник фейка Mail Агент 5.1
|
TreV@N |
С/С++, C#, Delphi, .NET, Asm |
1 |
06.02.2009 19:49 |
|
Делфи для Новичков.....
|
~Fenix~ |
С/С++, C#, Delphi, .NET, Asm |
21 |
10.06.2006 14:11 |
|
Делфи для новичков. Урок 3
|
~Fenix~ |
С/С++, C#, Delphi, .NET, Asm |
17 |
05.04.2006 02:11 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|