home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / DELPHI / IMS.ZIP / HTTPMAIN.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1996-09-22  |  2.6 KB  |  117 lines

  1. unit httpmain;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, ExtCtrls, Buttons, ComCtrls, agsocket,
  8.   aghttp;
  9.  
  10. type
  11.   THTTPForm = class(TForm)
  12.     Panel1: TPanel;
  13.     URLEdit: TEdit;
  14.     Label1: TLabel;
  15.     GetButton: TBitBtn;
  16.     CancelButton: TBitBtn;
  17.     StatusBar1: TStatusBar;
  18.     SaveDialog1: TSaveDialog;
  19.     Memo1: TMemo;
  20.     HTTP1: TagHTTP;
  21.     procedure GetButtonClick(Sender: TObject);
  22.     procedure HTTP1Receiving(Sender: TObject; Total: Longint);
  23.     procedure HTTP1Cancel(Sender: TObject);
  24.     procedure HTTP1Closed(Sender: TObject);
  25.     procedure HTTP1Open(Sender: TObject);
  26.     procedure HTTP1Sending(Sender: TObject);
  27.     procedure HTTP1Error(Sender: TObject; var Msg: string);
  28.     procedure CancelButtonClick(Sender: TObject);
  29.   private
  30.     { Private declarations }
  31.     procedure EnableControls;
  32.     procedure DisableControls;
  33.     procedure SaveData;
  34.   public
  35.     { Public declarations }
  36.   end;
  37.  
  38. var
  39.   HTTPForm: THTTPForm;
  40.  
  41. implementation
  42.  
  43. {$R *.DFM}
  44.  
  45. procedure THTTPForm.DisableControls;
  46. begin
  47.   URLEdit.Enabled:=false;
  48.   GetButton.Enabled:=false;
  49.   CancelButton.Enabled:=true;
  50. end;
  51.  
  52. procedure THTTPForm.EnableControls;
  53. begin
  54.   URLEdit.Enabled:=true;
  55.   GetButton.Enabled:=true;
  56.   CancelButton.Enabled:=false;
  57. end;
  58.  
  59. procedure THTTPForm.SaveData;
  60. begin
  61.   SaveDialog1.FileName:=HTTP1.FileName;
  62.   if SaveDialog1.Execute then
  63.     HTTP1.OutStream.SaveToFile(SaveDialog1.FileName);
  64. end;
  65.  
  66. procedure THTTPForm.GetButtonClick(Sender: TObject);
  67. begin
  68.   DisableControls;
  69.   try
  70.     HTTP1.URL:=URLEdit.Text;
  71.     HTTP1.Get;
  72.     Memo1.Lines:=HTTP1.Headers;
  73.     if MessageDlg('Do you want to save the retrieved data?',
  74.                    mtConfirmation,[mbYes,mbNo],0)=mrYes then
  75.       SaveData;
  76.   finally
  77.     EnableControls;
  78.   end;
  79. end;
  80.  
  81. procedure THTTPForm.HTTP1Receiving(Sender: TObject; Total: Longint);
  82. begin
  83.   StatusBar1.SimpleText:=IntToStr(Total)+' bytes received';
  84. end;
  85.  
  86. procedure THTTPForm.HTTP1Cancel(Sender: TObject);
  87. begin
  88.   StatusBar1.SimpleText:='Operation canceled';
  89. end;
  90.  
  91. procedure THTTPForm.HTTP1Closed(Sender: TObject);
  92. begin
  93.   StatusBar1.SimpleText:='Connection closed';
  94. end;
  95.  
  96. procedure THTTPForm.HTTP1Open(Sender: TObject);
  97. begin
  98.   StatusBar1.SimpleText:='Opening connection';
  99. end;
  100.  
  101. procedure THTTPForm.HTTP1Sending(Sender: TObject);
  102. begin
  103.   StatusBar1.SimpleText:='Sending Query';
  104. end;
  105.  
  106. procedure THTTPForm.HTTP1Error(Sender: TObject; var Msg: string);
  107. begin
  108.   StatusBar1.SimpleText:=Msg;
  109. end;
  110.  
  111. procedure THTTPForm.CancelButtonClick(Sender: TObject);
  112. begin
  113.   HTTP1.Cancel;
  114. end;
  115.  
  116. end.
  117.