writeln 和readln的問題 |
尚未結案
|
bebehome123
一般會員 發表:13 回覆:4 積分:3 註冊:2004-11-16 發送簡訊給我 |
程式如下.....
我這是一個傳檔程式
可以互相傳檔
也可以輸入網址讓對方的電腦裡可以存儲存網址裡的東西
(我暫時先設定只能抓GIF檔,然後儲存的檔名也先預設好了) 問題來了
我再抓網路空間上的圖片時沒有問題
可是再傳檔時我讀不出檔名
事了很久還是弄不出來
請高手 幫我看看......
修正一下.....
謝謝
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdTCPServer,strUtils, IdHTTP; type TForm1 = class(TForm) IdTCPClient1: TIdTCPClient; Button1: TButton; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; IdTCPServer1: TIdTCPServer; IdHTTP1: TIdHTTP; procedure Button1Click(Sender: TObject); procedure IdTCPServer1Execute(AThread: TIdPeerThread); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var t2 : tmemorystream; sExtName: String; begin try IdTCPClient1.Host := edit1.Text ; IdTCPClient1.port := 1111; IdTCPClient1.Connect; if LeftStr(edit2.Text,7) = 'http://' then begin sExtName:= edit2.Text ; IdTCPClient1.WriteLn(sExtName); form1.Caption := sExtName ; end else begin t2 := tmemorystream.Create; t2.LoadFromFile(edit2.Text); t2.savetostream(t2); IdTCPClient1.WriteStream(t2,true,true); sExtName := ExtractFileName(edit2.Text); IdTCPClient1.WriteLn(sExtName); form1.Caption := sExtName ; end; finally t2.Free; IdTCPClient1.Disconnect; end; end; procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread); var t1: tmemorystream; t2: string ; t3 : string ; t4 : tfilestream; begin t2:= AThread.Connection.ReadLn(t2); if LeftStr(t2,7) = 'http://' then begin t4:= tfilestream.Create('d:\知識管理\1.gif',fmcreate); form1.Caption := t2; idhttp1.Get(t2,t4); end else begin form1.Caption := t2; //這一行的form1.Caption讀不出來 t1:= tmemorystream.create; AThread.Connection.ReadStream(t1,-1,false); t1.LoadFromStream(t1); try if DirectoryExists('d:\知識管理')=true then t1.SaveToFile('d:\知識管理\' t2); if DirectoryExists('d:\知識管理')=false then CreateDir('d:\知識管理') ; t1.SaveToFile('d:\知識管理\' t2); finally showmessage('已經傳送到d:\知識管理\'); end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin IdTCPServer1.Active := true ; end; end.豬ㄚ你!!這麼簡單的東西...你都不懂......= =....誰叫我是新手呢...@ @ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |