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

02.10.2009, 23:32
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
ну первый ворнинг гласит, что лучше было бы, если б описание перегруженного метода совпадало 1 в 1 с предком, то есть с точностью до названий параметров и регистра букв.
с Suspend не знаю. ни в 7ой, ни в 2009-ой делфе никаких "Deprecated" ворнингов не вижу.
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

03.10.2009, 09:17
|
|
Познающий
Регистрация: 19.08.2008
Сообщений: 69
Провел на форуме: 458484
Репутация:
31
|
|
Сообщение от desTiny
ну первый ворнинг гласит, что лучше было бы, если б описание перегруженного метода совпадало 1 в 1 с предком, то есть с точностью до названий параметров и регистра букв.
с Suspend не знаю. ни в 7ой, ни в 2009-ой делфе никаких "Deprecated" ворнингов не вижу.
Вот блин=) А я думаю почему ошибка на ровном месте=)
Ну насчёт Suspend в делфи 2010(Rad Studio 2010) нашол
PHP код:
About Suspend and Resume. POSIX does not support suspending/resuming a thread.
Suspending a thread is considerd dangerous since it is not guaranteed where the
thread would be suspend. It might be holding a lock, mutex or it might be inside
a critical section. In order to simulate it in Linux we've used signals. To
suspend, a thread SIGSTOP is sent and to resume, SIGCONT is sent. Note that this
is Linux only i.e. according to POSIX if a thread receives SIGSTOP then the
entire process is stopped. However Linux doesn't entirely exhibit the POSIX-mandated
behaviour. If and when it fully complies with the POSIX standard then suspend
and resume won't work.
А вообще как остановить поток? без Suspend(+ потом Terminate) поток не останавливается...
ну вообще впринципе работа в никсах невожна..
просто хотелось бы избавиться от замечаний.
|
|
|

03.10.2009, 18:26
|
|
Познающий
Регистрация: 13.06.2009
Сообщений: 32
Провел на форуме: 42683
Репутация:
2
|
|
Сообщение от slesh
2 InternetOpenUrl автоматом сама учитывает куки полученные на предыдущих запросах.
ЧТобы отключить это юзается предпоследний параметр - Flag = INTERNET_FLAG_NO_COOKIES
также в этой функции 3-й параметр - адрес буфера где хранятся дополнительные хидеры.
а четрветый параметр - длинна их.
Вот их и юзай. т.е. сам составляй дополнительныйт ихер типа
Cookie: xxxxxx
Спс огромный всё пучком) а в данном примере: _http://forum.antichat.ru/showpost.php?p=1321076&postcount=19
не подскажеш где юзать флаг INTERNET_FLAG_NO_COOKIES ?)
предпоследний параметр HttpOpenRequest ?)
Последний раз редактировалось Seregakz; 03.10.2009 в 18:28..
|
|
|

03.10.2009, 21:31
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
предпоследний параметр. в HttpOpenRequest
|
|
|

04.10.2009, 03:28
|
|
Познающий
Регистрация: 13.06.2009
Сообщений: 32
Провел на форуме: 42683
Репутация:
2
|
|
Сообщение от slesh
предпоследний параметр. в HttpOpenRequest
ещё вопросик! мб ты сталкивался! если допустим сервак сильно нагружен (сайт долго грузится) и прога падает в висняк, нельзяли както вылечить? 
|
|
|

04.10.2009, 11:07
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
смотря какой метод юзаеш. Если сокеты, то можно ставить таймаут на connect и на recv на уровне сокетов. Если юзаеш чтото большее типа WinInet то можно запускать в потоке и через WaitForSingleObject ждать определенное время завершения потока. Если WaitForSingleObject вернул статус таймаута, то закрываеш хендлы wininet'овские и прибиваешь поток.
|
|
|

04.10.2009, 15:05
|
|
Познающий
Регистрация: 13.06.2009
Сообщений: 32
Провел на форуме: 42683
Репутация:
2
|
|
Сообщение от slesh
смотря какой метод юзаеш. Если сокеты, то можно ставить таймаут на connect и на recv на уровне сокетов. Если юзаеш чтото большее типа WinInet то можно запускать в потоке и через WaitForSingleObject ждать определенное время завершения потока. Если WaitForSingleObject вернул статус таймаута, то закрываеш хендлы wininet'овские и прибиваешь поток.
не совсем дошло) вот исходничок)
Код:
function mp3(cto: string): string;
var F: File;
hSession, hURL: HInternet;
Buffer: array[1..1024] of Byte;
err: boolean;
ResumePos,BufferLen,SumSize: DWORD;
iii: integer; kyda:string;
header, data:string;
begin
kyda:='1.mp3';
SumSize:=0; ResumePos:=0;
AssignFile (F,kyda);
IF FileExists (kyda) then
begin
Reset(f,1);
ResumePos:=FileSize(F);
Seek(F, FileSize(F));
end else ReWrite(f,1);
form1.NADO:= TRUE;
hSession:= InternetOpen('MP3 Down',PRE_CONFIG_INTERNET_ACCESS,nil,nil,0);
Data:='Content-Type: application/x-www-form-urlencoded'#10;
hURL := InternetOpenURL(hSession,PChar(cto),pchar(data),length(data),INTERNET_FLAG_NO_COOKIES,0);
WaitForSingleObject(InternetOpenURL.hProcess, INFINITE);
InternetQueryDataAvailable(hURL, SumSize,0,0);
if ResumePos>0 then
begin
InternetSetFilePointer(hURL,ResumePos,nil,0,0);
end;
REPEAT
err:= InternetReadFile(hURL, @Buffer,SizeOf(Buffer),BufferLen);
IF err= false then
begin
Result := 'err';
exit;
end
else
begin
///
end;
BlockWrite(f, Buffer, BufferLen);
Application.Processmessages;
UNTIL (BufferLen= 0) Or (form1.NADO= FALSE);
Result := 'ok';
end;
|
|
|

04.10.2009, 20:20
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
Есть к примеру такой html код:
Код:
<html>
<head><title>Отпарсите меня пожалуйста :-)</title></head>
<body>
<a href="http://yandex.ru/">Го на яндекс</a>
<a href="http://google.ru/">Го на гугл</a>
<a href="http://yahoo.com/">Го на яху</a>
</body>
</html>
Как отпарсить этот код с помощью регулярки?
Именно нужно в мемо добавить то что в href стоит
Мемо должен такой получится после парсинга
Код:
http://yandex.ru/
http://google.ru/
http://yahoo.com/
Знаю как парсить один результат а как несколько парсить не знаю :-(
|
|
|

04.10.2009, 20:53
|
|
Участник форума
Регистрация: 16.09.2006
Сообщений: 139
Провел на форуме: 513709
Репутация:
144
|
|
wolmer,собстно вот:
http://forum.vingrad.ru/articles/topic-213075.html
Последний раз редактировалось ZirroCool; 04.10.2009 в 20:56..
|
|
|

04.10.2009, 21:39
|
|
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме: 1702086
Репутация:
89
|
|
wolmer, ежели использовать RegExpr... Применительно к вашему примеру (s - ваш текст).
Код:
function extract (const ainputstring : string; buf : string) : tstringlist;
var
r : tregexpr;
f : tstringlist;
begin
f := tstringlist.create;
r := tregexpr.create;
try
r.expression := buf;
if r.exec (ainputstring) then
repeat
f.add (r.match [0]);
until not r.execnext;
finally r.free;
end;
result := f;
end;
function to_memo (s : widestring) : integer;
begin
if extract (s, 'http[^"]*[^"]') <> nil then form1.memo1.lines.addstrings (extract (s, 'http[^"]*[^"]'));
result := 1;
end;
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|