HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #4231  
Старый 25.08.2009, 17:22
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Цитата:
Сообщение от 2pick  
Сообщение от 2pick
Глюк при чтении файла... Текстовые файлы читает наура, а вот двоичные (картинки, архивы и т.п.) только первые 5-10 байт. Где косяк?
Код:

Function GetBuff(szFile: PChar): PChar;
Var
hFile, dwSize, dwBytes: DWORD;
Begin
Result:='';
hFile:=CreateFile(szFile, GENERIC_READ, 0, nil, OPEN_EXISTING, 0, 0);
If hFile<>INVALID_HANDLE_VALUE then
Begin
dwSize:=GetFileSize(hFile, nil);
Result:=VirtualAlloc(nil, dwSize, MEM_COMMIT, PAGE_READWRITE);
ReadFile(hFile, Result^, dwSize, dwBytes, nil);
End;
CloseHandle(hFile);
End;


Кто-то поможет все таки?

Присоеденяюсь. Тоже очень интересен ответ.
 
Ответить с цитированием

  #4232  
Старый 25.08.2009, 17:56
intNet
Познающий
Регистрация: 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);
 
Ответить с цитированием

  #4233  
Старый 26.08.2009, 05:37
НTL
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме:
5209663

Репутация: 357


Отправить сообщение для НTL с помощью ICQ
По умолчанию

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;
 
Ответить с цитированием

  #4234  
Старый 26.08.2009, 05:53
RumShun
Постоянный
Регистрация: 27.10.2008
Сообщений: 380
Провел на форуме:
1249808

Репутация: 149
Отправить сообщение для RumShun с помощью ICQ
По умолчанию

Он вроде на WinApi просил
 
Ответить с цитированием

  #4235  
Старый 26.08.2009, 09:17
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

2 intNet Вот что значит впадлу встать посмотреть на градусник )
В этом треде я уже кидал функцию чисто на WinAPI для построчного чтения файла.

https://forum.antichat.ru/showpost.php?p=1440018&postcount=4085

Последний раз редактировалось slesh; 26.08.2009 в 09:24..
 
Ответить с цитированием

  #4236  
Старый 26.08.2009, 17:56
НTL
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме:
5209663

Репутация: 357


Отправить сообщение для НTL с помощью ICQ
По умолчанию

Как при событии TForm1.FormClose отменить закрытие формы?

Exit не работает, в гугле по этой теме много мусора
 
Ответить с цитированием

  #4237  
Старый 26.08.2009, 17:58
s0l_ir0n
Участник форума
Регистрация: 14.03.2009
Сообщений: 237
Провел на форуме:
813785

Репутация: 314
Отправить сообщение для s0l_ir0n с помощью ICQ
По умолчанию

Цитата:
Сообщение от НTL  
Как при событии TForm1.FormClose отменить закрытие формы?

Exit не работает, в гугле по этой теме много мусора
В гугле много инфы

Код:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=False;
end;
еще можно в OnClose прописать:
Код:
action:=caNone;
-
[edited]
Спасибо тому доброму человеку, который поставил мне -20 за этот пост. Чмаке, детка
[/edited]

Последний раз редактировалось s0l_ir0n; 26.08.2009 в 19:12..
 
Ответить с цитированием

  #4238  
Старый 26.08.2009, 23:30
InfectedM
Познающий
Регистрация: 04.11.2007
Сообщений: 51
Провел на форуме:
310791

Репутация: 6
Отправить сообщение для InfectedM с помощью ICQ
По умолчанию

может кто скинуть пример отправки post запросов через winsock ?
в гугле мало примеров если находил то кривые
 
Ответить с цитированием

  #4239  
Старый 26.08.2009, 23:36
ex3me
Участник форума
Регистрация: 07.01.2009
Сообщений: 186
Провел на форуме:
1247273

Репутация: 166
Отправить сообщение для ex3me с помощью ICQ
По умолчанию

Код:
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..
 
Ответить с цитированием

  #4240  
Старый 26.08.2009, 23:43
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме:
4761503

Репутация: 229
По умолчанию

ex3me, мда, вам лишь бы скомуниздить и не проверить сам код
если я был бы новичком то сразу же вопросы стали типа "А что такое Err(Connect(S,addr,SizeOf(TSockAddr))), и почему он не выполняется"

InfectedM, стучи в асю 114400О2, кину пример с коментами
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2568 25.04.2026 12:58
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ