有難度,說出思路也給分---delphi 調用外部程序執行登陸 下載(100分)

  • 主题发起人 主题发起人 myemwjb
  • 开始时间 开始时间
M

myemwjb

Unregistered / Unconfirmed
GUEST, unregistred user!
基本上就是網站上有一個對應的網頁程式,共DELPHI呼叫,帳號密碼由 delphi 驗證通過後,網頁會給出一個資料包,DELPHI接收下並載這個檔案,然後解壓到本地機器上即可.整個過程要求html 頁面對用戶不可見.
如果那位朋友以前做過,也不會很難,希望幫小弟一把,先謝謝了.沒有做過的朋友給個思路也有分
 
問題解決了,現在想結貼,可惜連個接分的人都沒有 ,現在吧代嗎貼出來 ;

原始碼如下:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw, ActiveX, OleServer;

type
TForm1 = class(TForm)
Edit2: TEdit;
Edit3: TEdit;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

// 把 Post Dtat (String) 轉成 IE 所需要的格式 VarArray
function StringToPostData(const Value: string): OleVariant;
begin
Result := Unassigned;
if Value <> '' then
begin
Result := VarArrayCreate([0, Length(Value) - 1], varByte);
Move(Pointer(Value)^, VarArrayLock(Result)^, Length(Value));
VarArrayUnlock(Result);
end;
end;

// 示範如何使用操控 IE Post Data
procedure TForm1.Button1Click(Sender: TObject);
var
IE: TInternetExplorer;
vFlag, vFrame, vPost, vHeader: OleVariant;
begin
CoInitialize(nil);
IE := TInternetExplorer.Create(nil);
try
// 開啟新的 IE 並顯示
IE.Visible := true;
vFlag := navOpenInNewWindow;

// Post String, 請依需求修改, 以下是 Delphi K.Top Login 用的 :P
vPost := StringToPostData(Format('Method_Type=login&Name=%s&Password=%s',
[Edit2.Text, Edit3.Text]));

// Post 的資料是加在 Http-Header 後方[/red]
// 在 Http-Header 處要多加 Content-Type 做解釋 (不需要修改)
vHeader := 'Content-Type: application/x-www-form-urlencoded' + #10#13;

// 使用 Navigate 連接到所要的 URL, 請依需求修改
IE.Navigate('http://delphi.ktop.com.tw/default.asp', vFlag, vFrame, vPost,
vHeader);
finally
IE.Free;
CoUnInitialize;
end;
end;

end.

 
謝謝共享!
 
哦,谢谢
 
后退
顶部