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

26.02.2009, 10:31
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
ата ошибка из-за того что ты юзаешь слишком большие типы данных которые в сумме привышают 65кил. Ты посчитай сколько у тебя тратится место на массивы.
Единственных выход - выделять память под массивы и работать с указателями
|
|
|

27.02.2009, 10:04
|
|
Познающий
Регистрация: 27.09.2008
Сообщений: 57
Провел на форуме: 265628
Репутация:
23
|
|
Доброго времени суток, собственно вопрос - как на дельфях реализовать deskband (когда WMP сворачиваешь, в трее висит) или хотя бы где можно почитать про создание оного, желательно с примером.
|
|
|

27.02.2009, 10:25
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
как вариант найти дискриптор таскбара и туда засунуть свой элемент управления.
|
|
|

27.02.2009, 15:15
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
Вот тут у меня опть проблема
пытаюсь загрузить файл из интернэта по средствам сокетов
Код:
var Site : PChar;
sock : TSocket;
HostEnt : PHostEnt;
WSA : TWSAData;
addr : sockaddr_in;
sendbuff : String;
PostData : String;
f:TextFile;
i:integer;
buf:array[0..255] of char;
begin
if WSAStartup($0101, WSA) <> 0 then
Exit;
sock := Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
FillChar(addr, SizeOf(sockaddr_in), 0);
addr.sin_family := AF_INET;
addr.sin_port := htons(80);
Site := 'www.google.ru';
HostEnt := gethostbyname(Site);
addr.sin_addr.s_addr := Longint(PLongint(HostEnt^.h_addr_list^)^);
Connect(sock, addr, SizeOf(addr));
sendbuff := '';
sendbuff := 'GET http://www.google.ru/images/nav_logo3.png HTTP/1.0' + #13#10 +
'User-Agent: Opera/9.10 (Windows NT 5.1; U; ru)' + #13#10 +
'Host: www.google.ru' + #13#10 +
'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1' + #13#10 +
'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8' + #13#10 +
'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1' + #13#10 +
'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0' + #13#10 +
'Proxy-Connection: close' + #13#10 +
'Referer: http://www.google.ru/images/nav_logo3.png' + #13#10 +
'Proxy-Connection: close';
send(sock, sendbuff [1], Length(sendbuff), 0);
AssignFile(f, 'logo.png');
Rewrite(f);
repeat
i := recv(sock, buf, length(buf), 0);
writeln(f, buf);
until i <= 0;
CloseFile(f);
CloseSocket(sock);
end;
но в файл добавляется только несколько символов переноса строки и всё, прозреваю что я использую не тот тип данных для записи ответа сервера в файл или вообще не правильно записываю ответ, подскажите как правильно.
|
|
|

27.02.2009, 15:21
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
repeat
i := recv(sock, buf, length(buf), 0);
writeln(f, buf);
until i <= 0;
замени на
Код:
repeat
i := recv(sock, buf, sizeof(255), 0);
writeln(f, copy(buf,1,i));
until i <= 0;
|
|
|

27.02.2009, 15:57
|
|
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме: 2589211
Репутация:
151
|
|
В процессе создания исключений назрел вопрос. А почему, собсно
Код:
showmessage(inttostr(strtoint('xc')));
Выдаёт мессагой '12' ?
Обнаружил случайно, когда вбивал заведомо нечисловые значения в нужный мне edit.
зы: нет, это не переменная, точнее, я её не объявлял.
а, сам понял.
x в данном случае указывает на то, что дальше будет следовать число в hex
Последний раз редактировалось FindeR; 27.02.2009 в 16:02..
|
|
|

27.02.2009, 16:45
|
|
Постоянный
Регистрация: 20.06.2008
Сообщений: 323
Провел на форуме: 1240829
Репутация:
165
|
|
strtoint('xc') переводит строку в числовое значение! Тебе вообще что надо?
|
|
|

27.02.2009, 21:55
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
slesh спасибо, но опять в файл записывает 2 байта, может что не так с запросом?
|
|
|

27.02.2009, 22:05
|
|
Постоянный
Регистрация: 29.04.2007
Сообщений: 496
Провел на форуме: 2715445
Репутация:
588
|
|
ZET36
не правильный подход в принципе. т.к. recv может вернуть 0, но это не будет ошибкой! просто в данный момент в сокете нет данных.  так что советую или читать про сокеты, или использовать wininetapi
з.ы. код ужасен:
i := recv(sock, buf, length(buf), 0);
writeln(f, buf);
и что же запишится в файл?  понятно что данные из buf, но сколько же их будет? 255 или меньше?
Последний раз редактировалось Hellsp@wn; 27.02.2009 в 22:08..
|
|
|

27.02.2009, 22:59
|
|
Познающий
Регистрация: 20.12.2008
Сообщений: 76
Провел на форуме: 432982
Репутация:
6
|
|
Гдето видел в манулах как сделать для нескольких форм "ресурсы", но теперь немогу найти. Тоесть у меня есть главная форма и дочерняя и мне надо допустим в дочерней форме в Edit1 пишешь значение и оно меняется в главной форме в Label1 тоесть как связать компоненты главной формы с дочерней?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|