A zerknij na ten kodzik - zrobiłem go kiedyś w celu przetestowania jak działa
komponent HTTPget
No i działa u mnie na bez zarzutów.
<delphi>
unit HTTPGetTestForm;
INTERFACE
Uses
HTTPGet,
ShellApi,modTools, Dialogs, StdCtrls, ExtCtrls, Controls, Classes,
ComCtrls, Windows, SysUtils, Forms;
Type
TForm1 = class(TForm)
ProgressBar: TProgressBar;
Panel1: TPanel;
Image: TImage;
HTTPGetPicture: THTTPGet; //1 komponent do obrazka
btnPobierzObrazek: TButton;
btnPobierzText: TButton;
Bevel1: TBevel;
GroupBox1: TGroupBox;
EditURL: TEdit;
Label2: TLabel;
Label4: TLabel;
EditFile: TEdit;
btnPobierzPlik: TButton;
HTTPGetString: THTTPGet; //2 komponent do tekstu
HTTPGetFile: THTTPGet; //3 komponent do plików
ComboAdres: TComboBox;
labAkcja: TLabel;
PROCEDURE HTTPGetPictureDoneFile(Sender: TObject; FileName: String; FileSize: Integer);
PROCEDURE HTTPGetPictureError(Sender: TObject);
PROCEDURE HTTPGetPictureProgress(Sender: TObject; TotalSize, Readed: Integer);
PROCEDURE btnPobierzObrazekClick(Sender: TObject);
PROCEDURE btnPobierzTextClick(Sender: TObject);
PROCEDURE HTTPGetStringDoneString(Sender: TObject; Result: String);
PROCEDURE btnPobierzPlikClick(Sender: TObject);
PROCEDURE HTTPGetFileDoneFile(Sender: TObject; FileName: String; FileSize: Integer);
PROCEDURE btnPokazClick(Sender: TObject);
PROCEDURE HTTPGetStringProgress(Sender: TObject; TotalSize,
Readed: Integer);
PROCEDURE HTTPGetStringError(Sender: TObject);
procedure HTTPGetFileError(Sender: TObject);
procedure HTTPGetFileProgress(Sender: TObject; TotalSize,
Readed: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
zdanie :String;
lista :TStringList;
implementation {$R .DFM}
{*****************************************************************************}
{============================== Pobranie obrazka =============================}
PROCEDURE TForm1.btnPobierzObrazekClick(Sender: TObject);
Begin
HTTPGetPicture.BinaryData:= True; //ustawia na typ pliku binarnego
HTTPGetPicture.WaitThread:= False; //czas oczekiwania - do skutku
HTTPGetPicture.FileName:= 'obrazek.bmp'; //nazwa pliku po ściągnięciu
HTTPGetPicture.URL:= ComboAdres.Text; pobranie adresu URL
HTTPGetPicture.GetFile; //wywołanie pobrania pliku
labAkcja.Caption:= 'Czekaj trwa pobieranie...';
End;
{------------------------------- Pasek postępu -------------------------------}
PROCEDURE TForm1.HTTPGetPictureProgress(Sender: TObject; TotalSize, Readed: Integer);
Begin
ProgressBar.Max:= TotalSize; //wielkość pliku
ProgressBar.Position:= Readed; //ilość już zapisanych bajtów
End;
{------------------ Procedura wykonywana po pobraniu pliku -------------------}
PROCEDURE TForm1.HTTPGetPictureDoneFile(Sender: TObject; FileName: String; FileSize: Integer);
Begin
ProgressBar.Position:= 0; //zeruje pasek postępu ściągania pliku
labAkcja.Caption:= 'Gotowe';
Beep;
Image.Picture.LoadFromFile(FileName); //wczytanie pliku do komponentu image
End;
{----------------- Procedura wykonywana po wystąpieniu błędu -----------------}
PROCEDURE TForm1.HTTPGetPictureError(Sender: TObject);
Begin
ShowMessage('Uwaga błąd pobierania !');
End;
{============================== Pobranie tekstu ==============================}
PROCEDURE TForm1.btnPobierzTextClick(Sender: TObject);
Begin
HTTPGetString.BinaryData:= False; //ustawia na typ pliku textowego
HTTPGetString.WaitThread:= False; //czas oczekiwania - do skutku
HTTPGetString.FileName:= 'Strona.htm'; //nazwa pliku po ściągnięciu
HTTPGetString.URL:= ComboAdres.Text; //pobranie adresu URL
HTTPGetString.GetString; //wywołanie pobrania textu
labAkcja.Caption:= 'Czekaj trwa pobieranie...';
End;
{------------------------------- Pasek postępu -------------------------------}
PROCEDURE TForm1.HTTPGetStringProgress(Sender: TObject; TotalSize,
Readed: Integer);
Begin
ProgressBar.Max:= TotalSize;
ProgressBar.Position:= Readed;
End;
{------------------ Procedura wykonywana po pobraniu pliku -------------------}
PROCEDURE TForm1.HTTPGetStringDoneString(Sender: TObject; Result: String);
Begin
ProgressBar.Position:= 0; //zeruje pasek postępu ściągania pliku
labAkcja.Caption:= 'Gotowe';
Beep;
lista:=TStringList.Create;
lista.Add(Result);
lista.SaveToFile('Strona.htm');
labAkcja.Caption:= 'Gotowe';
ShowMessage(Result);
End;
{----------------- Procedura wykonywana po wystąpieniu błędu -----------------}
PROCEDURE TForm1.HTTPGetStringError(Sender: TObject);
Begin
ShowMessage('Uwaga błąd pobierania !');
End;
{=============================== Pobranie pliku ==============================}
PROCEDURE TForm1.btnPobierzPlikClick(Sender: TObject);
Begin
HTTPGetFile.BinaryData:= True; //ustawia na typ pliku binarnego
HTTPGetFile.WaitThread:= False; //czas oczekiwania - do skutku
HTTPGetFile.FileName:= EditFile.Text; //nazwa pliku po ściągnięciu
HTTPGetFile.URL:= EditURL.Text; //pobranie adresu URL
HTTPGetFile.GetFile; //wywołanie pobrania pliku
labAkcja.Caption:= 'Czekaj trwa pobieranie...';
End;
{------------------------------- Pasek postępu -------------------------------}
procedure TForm1.HTTPGetFileProgress(Sender: TObject; TotalSize,
Readed: Integer);
Begin
ProgressBar.Max:= TotalSize;
ProgressBar.Position:= Readed;
End;
{------------------ Procedura wykonywana po pobraniu pliku -------------------}
PROCEDURE TForm1.HTTPGetFileDoneFile(Sender: TObject; FileName: String; FileSize: Integer);
Begin
ProgressBar.Position:= 0; //zeruje pasek postępu ściągania pliku
labAkcja.Caption:= 'Gotowe';
Beep;
ShowMessage('Zapisany jako: ' + FileName + #13#10 +
'Rozmiar: ' + IntToStr(FileSize) + ' bytes');
End;
{----------------- Procedura wykonywana po wystąpieniu błędu -----------------}
procedure TForm1.HTTPGetFileError(Sender: TObject);
Begin
ShowMessage('Uwaga błąd pobierania !');
End;
{=============================================================================}
PROCEDURE TForm1.btnPokazClick(Sender: TObject);
begin
ShellExecute(GetDesktopWindow,'open',PChar('strona.htm'),nil,nil,SW_SHOWNORMAL);
End;
//*************************************************************************
END.