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

25.08.2009, 16:34
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
Сообщение от Dr.Perry_Cox
Получается идентификатором может быть любое "cлово"?
да, главное чтобы не было цифр перед словом
|
|
|

25.08.2009, 16:35
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 127
Провел на форуме: 1313455
Репутация:
249
|
|
Идентификаторы Turbo Pacal:
1. Состоят из латинских букв и цифр. Начинать идентификатор надо с буквы (x1)
2. Строчные и прописные буквы не различимы (a=A)
3. Идентификатор может включать любое число символов, но различимыми будут только первые 63 символа
4. Идентификатор не может быть служебным словом Turbo Pascal
|
|
|

25.08.2009, 17:56
|
|
Познающий
Регистрация: 31.05.2009
Сообщений: 68
Провел на форуме: 1271980
Репутация:
19
|
|
Подкиньте идею - нужно последовательно считывать по строке из текстового файла используя WinApi. Получается считать сразу весь файл в буфер, а можно ли сделать это именно построчно? Просто разделять вручную массив немного геморно.
Часть кодa:
Код:
const
MAX_BYTES_TO_READ = 65536;
var
hFile: Cardinal;
dw: DWORD;
buf: array of char;
len: integer;
begin
hFile:= CreateFile('file.zip', GENERIC_READ, 0, nil, OPEN_EXISTING, 0, 0);
If hFile = -1 then exit;
len:=GetFileSize(hFile, nil);
SetLength(buf, len);
repeat
ReadFile(hFile, buf, MAX_BYTES_TO_READ, dw, nil);
until dw = 0;
CloseHandle(hFile);
|
|
|

26.08.2009, 05:37
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме: 5209663
Репутация:
357
|
|
intNet, Вот из учебника чтение по строчкам и запись в мемо
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
f: TextFile; // файл
fName: String[80]; // имя файла
buf: String[80]; // буфер для чтения из файла
begin
fName := 'C:\test.txt;
AssignFile(f, fName);
{$I-}
Reset(f); // открыть для чтения
{$I+}
if IOResult <> 0 then
begin
MessageDlg('Ошибка доступа к файлу ' + fName,
mtError,[mbOk],0);
exit;
end;
// чтение из файла
while not EOF(f) do
begin
readln(f, buf); // прочитать строку из файла
Memo1.Lines.Add(buf); // добавить строку в поле Memo1
end;
CloseFile(f); // закрыть файл
end;
|
|
|

26.08.2009, 05:53
|
|
Постоянный
Регистрация: 27.10.2008
Сообщений: 380
Провел на форуме: 1249808
Репутация:
149
|
|
Он вроде на WinApi просил
|
|
|

26.08.2009, 09:17
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 intNet Вот что значит впадлу встать посмотреть на градусник )
В этом треде я уже кидал функцию чисто на WinAPI для построчного чтения файла.
https://forum.antichat.ru/showpost.php?p=1440018&postcount=4085
Последний раз редактировалось slesh; 26.08.2009 в 09:24..
|
|
|

26.08.2009, 17:56
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме: 5209663
Репутация:
357
|
|
Как при событии TForm1.FormClose отменить закрытие формы?
Exit не работает, в гугле по этой теме много мусора
|
|
|

26.08.2009, 17:58
|
|
Участник форума
Регистрация: 14.03.2009
Сообщений: 237
Провел на форуме: 813785
Репутация:
314
|
|
Сообщение от НTL
Как при событии TForm1.FormClose отменить закрытие формы?
Exit не работает, в гугле по этой теме много мусора
В гугле много инфы
Код:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=False;
end;
еще можно в OnClose прописать:
-
[edited]
Спасибо тому доброму человеку, который поставил мне -20 за этот пост. Чмаке, детка
[/edited]
Последний раз редактировалось s0l_ir0n; 26.08.2009 в 19:12..
|
|
|

26.08.2009, 23:30
|
|
Познающий
Регистрация: 04.11.2007
Сообщений: 51
Провел на форуме: 310791
Репутация:
6
|
|
может кто скинуть пример отправки post запросов через winsock ?
в гугле мало примеров если находил то кривые
|
|
|

26.08.2009, 23:36
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 186
Провел на форуме: 1247273
Репутация:
166
|
|
Код:
var
wData:WSAData;
s:TSOCKET;
addr:sockaddr_in;
email,pass,sendbuff:string;
PostData:string;
begin
WSAStartup(makeword(1,1),wData)
s:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
FillChar(addr, SizeOf(sockaddr_in), 0);
addr.sin_family:=AF_Inet;
addr.sin_port:=htons(80);
addr.sin_addr.S_addr:=inet_addr('93.186.224.234');
Connect(S,addr,SizeOf(TSockAddr));
PostData := '';
PostData := 'email=' + email+'&'+'pass='+pass ;
sendbuff := '';
sendbuff := 'POST /login.php HTTP/1.1'+ #13#10 +
'Host: vkontakte.ru'+ #13#10 +
'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 AdCentriaIM/1.7 Firefox/2.0.0.14 WebMoney Advisor'+ #13#10 +
'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5'+ #13#10 +
'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3'+ #13#10 +
'Accept-Encoding: gzip,deflate'+ #13#10 +
'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'+ #13#10 +
'Keep-Alive: 300'+ #13#10 +
'Connection: keep-alive'+ #13#10 +
'Referer: http://vkontakte.ru/index.php'+ #13#10 +
'Cookie: remixchk=5'+ #13#10 +
'Content-Type: application/x-www-form-urlencoded'+ #13#10 +
'Content-Length: ' + IntToStr(Length(PostData)) + #13#10#13#10 + PostData+#13#10+'Connection: close' + #13#10#13#10;
send(s, sendbuff[1] , Length(sendbuff), 0);
application.ProcessMessages;
recv(s,sBuff,5000,0);
application.ProcessMessages;
Shutdown(S,SD_Send));
closesocket(s));
WSACleanUp;
Код честно скомунизжен =)
Последний раз редактировалось ex3me; 27.08.2009 в 20:36..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|