Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Интересные вопросы по Delphi и не только (https://forum.antichat.xyz/showthread.php?t=115085)

CeHoKoC 09.04.2009 08:28

Интересные вопросы по Delphi и не только
 
Уважаемые знатоки, у меня накопилось немного совсем не глупых вопросов.
За понятный ответ хотябы на один из них не пожелею +1

1. Как в Delphi (7) пользуясь методом загрузки файлов из Web, который начинается
с “InternetOpen” быть уверенным, что загружаемый файл будет передоваться как
бинарный?
2. Как передать Web серверу запрос, содержащий моё имя браузера и ссылку страницы, с которой я пришел? (в Delphi 7)
3. Есть ли специальная функция (например, ассемблерная) для преобразования десятичного числа в двоичное с сохранением в строку? (в Delphi 7) Не подумайте, что я не знаю как это сделать, но я бы лучше использовал специальную быструю функцию, чем циклом делил на 2…
4. Как преобразовать (в Delphi 7) тип данных в те байты, которые он из себя представляет? Например Char можно просто преобразовать в Byte(так: Byte(‘f’);) и обратно, а как, например преобразовать Cardinal или Integer в массив байт? Причем мне не нужно делать так: S:=IntToStr(SomeInt); for SomeInt:=1 to Length(S) do ByteArray[SomeInt]:=Byte(S[SomeInt]);
5. Уж извените, не занимался раньше чтением памяти процессов, но разбирал прогу с исходником AntiMiner и она легко читала память процесса минера, а вот когда я захотел просканировать память WarCraft 3 : The Frozen Throne то не изменяя кода, кроме имени процесса, получал ошибку… Вобщем дайте урыль или просто напешите как прочитать память процесса побайтно(ну или блоками по 128)?
6. Если кто пользуется uCoZ подскажите плз как надо именовать файлы, чтобы при загрузке их через FTP не выдавалась ошибка? А то файл с именем «Some File v.1.0.5.zip» не грузится, например, хотя для FTP, вроде, все символы нормальны…
7. Если у меня есть свой сайт на uCoZ могу ли я как-нибудь сделать программу, чтобы она могла сохранять данные на сервер, для того чтобы другие программы могли по этим данным получать информацию? Например, я подумал уже про FTP, но он не подойдет, так как нужно будет вбить в программу свой FTP-логин и FTP-пароль, а т.к. на укоз FTP-логины с разными правами не поддерживаются (вроде?), то, конечно, давать в общее пользование эти данные не стоит, т.к. удалят их блин…


Большое спасибо за внимание =)

slesh 09.04.2009 20:19

/me плакает от интерестных вопросов этих
1. Открой Delphi World или заюзай инет. там 1000 статй по этому.
2. смотри предыдущий пункт. Там типа команжа InternetOpenRequest или както так
3. функции нет, но кто тебе не дает её самому написать. Читай алгоритм перевода числа в BIN (тупо дели на 2 всё время)
4. юзай адресацию памяти типа byte(@твояпеременаня)^
5. Должны быть права отладчика чтобы читать. Получаешь прова отдачика. Открываешь процесс. а потмо ReadProcessMemory главное при открытии указывать права типа запить, чтение, завершение итд итп
6. Это тебе в другой раздел. Хотя попробуй убрать пробелы
7. юзай гейтовую систему. если Ucoz поддерживает php

Vitaliy-55 15.04.2009 15:51

Доброго времени суток!!!
У меня такая проблема, необходимо через Wininet настроить подключение от клиента к серверу (используя аутентификацию) и дальнейшую загрузку файлов с сервера.
Делаю так:
Код:

function GetInetFile
(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen,mnb: DWORD;
  f: File;
  sAppName: string;
begin
  Result:=False;
  sAppName := ExtractFileName(Application.ExeName);
  hSession := InternetOpen(PChar(sAppName),INTERNET_OPEN_TYPE_PROXY,PIInfo^.lpszProxy,nil,0);
  Dispose(PIInfo);
  try
    hURL := InternetOpenURL(hSession, PChar(fileURL), nil,0,0,0);
    try
      AssignFile(f, FileName);
      Rewrite(f,1);
    repeat
    InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
    BlockWrite(f, Buffer, BufferLen)
  until BufferLen = 0;
  CloseFile(f);
  Result:=True;
  finally
    InternetCloseHandle(hURL)
  end
  finally
    InternetCloseHandle(hSession)
  end
end;

procedure TForm1.ConnectButtonClick(Sender: TObject);
var
  i,k:integer;
  old_date,ftp_name,ftp_name1,save_name:string;
Flags, TargetFrameName, PostData, Headers: OleVariant;
FileOnNet, LocalFileName: string;
begin
FileOnNet:='http://trulala.ru/lala/123.txt';
LocalFileName:='123.txt';
if GetInetFile(FileOnNet,LocalFileName)=True then
  ShowMessage('Файл загружен')
else
  ShowMessage('Ошибка загрузки файла')

Все работает нормально при подключенном Траффик испекторе (программу пишу на работе), когда его выключаешь, программа записывает в файл строки с содержимым HTML-кода, вроде того, что требуется аутентификация на сервере.

Помогите пожалуйста.
Заранее благодарен.

slesh 15.04.2009 16:48

ТАк вроде без включенного клиенсткого приложения сервер трафинспектора не пропускает траф

Vitaliy-55 20.04.2009 10:33

Доброго времени суток!
Подскахите пожалуйста, как с помощю idHTTP и idFTP скачать файл с прокси сервера, используя аутентификацию. Срочно нужно. Буду очень признателен.

Заранее благодарен!!!


Время: 05:59