Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2012, 14:46   #11
god5
Катков Кирилл:)
Пользователь
 
Аватар для god5
 
Регистрация: 26.06.2012
Сообщений: 48
По умолчанию

Цитата:
Сообщение от Slym Посмотреть сообщение
попробуй в место TFileStream загнать все в TMemoryStream, а в самом конце SaveToFile
можно код? вообще не получается проект загрузить!
god5 вне форума Ответить с цитированием
Старый 09.12.2012, 11:27   #12
god5
Катков Кирилл:)
Пользователь
 
Аватар для god5
 
Регистрация: 26.06.2012
Сообщений: 48
По умолчанию

Цитата:
Сообщение от god5 Посмотреть сообщение
можно код? вообще не получается проект загрузить!
помогите )? если не получится то пофиг тогда)
god5 вне форума Ответить с цитированием
Старый 09.12.2012, 14:40   #13
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

какой нафиг код? подумать самому трудно?
заменить строку TFileStream на TMemoryStream
а вконце Stream.SaveToFile(FileName);
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 09.12.2012, 15:30   #14
god5
Катков Кирилл:)
Пользователь
 
Аватар для god5
 
Регистрация: 26.06.2012
Сообщений: 48
По умолчанию

Цитата:
Сообщение от Slym Посмотреть сообщение
какой нафиг код? подумать самому трудно?
заменить строку TFileStream на TMemoryStream
а вконце Stream.SaveToFile(FileName);
я думаю) я сразу же поменял
TFileStream на TMemoryStream дальше он пишет ошибку на Stream:=TFileStream.Create(FileName ,fmCreate);
меняю данную строку на Stream.SaveToFile(FileName); полсе нажатия на кнопку ошибка на try! что не так)
god5 вне форума Ответить с цитированием
Старый 09.12.2012, 15:45   #15
god5
Катков Кирилл:)
Пользователь
 
Аватар для god5
 
Регистрация: 26.06.2012
Сообщений: 48
По умолчанию

Цитата:
Сообщение от Slym Посмотреть сообщение
какой нафиг код? подумать самому трудно?
заменить строку TFileStream на TMemoryStream
а вконце Stream.SaveToFile(FileName);

PHP код:
 что не так ?)
unit Unit1;

interface

uses
  Windows
MessagesSysUtilsVariantsClassesGraphicsControlsForms,
  
Dialogs,WinInet,XPManStdCtrlsComCtrls,;

type
  TForm1 
= class(TForm)
    
pb1TProgressBar;
    
btn1TButton;
    
procedure btn1Click(SenderTObject);
  private
    { Private 
declarations }
  public
    { Public 
declarations }
  
end;

var
  
Form1TForm1;

implementation

{$R *.dfm}

 function 
GetInetFile(const fileURLFileNameStringProgressTProgressBar): boolean;
const 
BufferSize 1024;
var
  
hSessionhURLHInternet;
  
Buffer: array[1..BufferSizeof Byte;
  
DataSize,BufferLenDWORD;
  
Stream:TMemoryStream;
begin
  Result
:=False;
  
hSession := InternetOpen(PChar(ExtractFileName(Application.ExeName)), INTERNET_OPEN_TYPE_PRECONFIGnilnil0);
  try
    
hURL := InternetOpenURL(hSessionPChar(fileURL),nil,0,0,0);
    try
      
DataSize:= 0;
      
BufferLen:= sizeof(DataSize);
      if 
HttpQueryInfo(hURLHTTP_QUERY_CONTENT_LENGTH or HTTP_QUERY_FLAG_NUMBER,
        @
DataSize,BufferLen,PDWORD(nil)^) then
        begin
          Progress
.Max:=DataSize;
          
Progress.Position:=Progress.Min;
        
end;
        
Stream.SaveToFile(FileName);
      try
        
repeat
          InternetReadFile
(hURL, @BufferSizeOf(Buffer), BufferLen);
          
Stream.WriteBuffer(BufferBufferLen);
          
Progress.StepBy(BufferLen);
          
Application.ProcessMessages;
        
until BufferLen 0;
        
Result:=True;
      finally
        
Stream.Free;
      
end;
    finally
      
InternetCloseHandle(hURL);
      
Progress.Position:= SizeOf(Buffer);
    
end;
  finally
    
InternetCloseHandle(hSession);
  
end;
end;

procedure TForm1.btn1Click(SenderTObject);
begin
 
if GetInetFile('http://godim.p.ht/te.exe''te.exe'Pb1then
    ShowMessage
('Ñêà÷êà çàâåðøåíà');
end;

end
god5 вне форума Ответить с цитированием
Старый 09.12.2012, 17:55   #16
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

Код:
function GetInetFile(const fileURL, FileName: String; Progress: TProgressBar): boolean;
const BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  DataSize,BufferLen: DWORD;
  Stream:TMemoryStream;
begin
  Result:=False;
  hSession := InternetOpen(PChar(ExtractFileName(Application.ExeName)), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    hURL := InternetOpenURL(hSession, PChar(fileURL),nil,0,0,0);
    try
      DataSize:= 0;
      BufferLen:= sizeof(DataSize);
      if HttpQueryInfo(hURL, HTTP_QUERY_CONTENT_LENGTH or HTTP_QUERY_FLAG_NUMBER,
        @DataSize,BufferLen,PDWORD(nil)^) then
        begin
          Progress.Max:=DataSize;
          Progress.Position:=Progress.Min;
        end;
      Stream:=TMemoryStream.Create;
      try
        repeat
          InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
          Stream.WriteBuffer(Buffer, BufferLen);
          Progress.StepBy(BufferLen);
          Application.ProcessMessages;
        until BufferLen = 0;
        Stream.SaveToFile(FileName);
        Result:=True;
      finally
        Stream.Free;
      end;
    finally
      InternetCloseHandle(hURL);
      Progress.Position:= SizeOf(Buffer);
    end;
  finally
    InternetCloseHandle(hSession);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if GetInetFile('http://www.rarlab.com/rar/winrar-x64-420ru.exe', 'winrar-x64-420ru.exe', ProgressBar1) then
    ShowMessage('Скачка завершена');
end;
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 09.12.2012, 18:17   #17
god5
Катков Кирилл:)
Пользователь
 
Аватар для god5
 
Регистрация: 26.06.2012
Сообщений: 48
По умолчанию

Спасибо!)))_
god5 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами на http сервере. Sadhacker Работа с сетью в Delphi 1 20.01.2012 14:04
http server,http сервер, проблемы с post реализация на java snajper_ro Общие вопросы по Java, Java SE, Kotlin 1 23.10.2011 14:25
WebBrowser C# работа с HTTP, обработка POST / GET ответов MarselleBelarus C# (си шарп) 0 15.10.2011 21:52
Работа с HTTP из C# Altera PHP 5 23.01.2011 11:50
работа MySQL через HTTP-proxy programmer1988 Работа с сетью в Delphi 2 13.08.2010 20:35