線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1341
推到 Plurk!
推到 Facebook!

writeln 和readln的問題

尚未結案
bebehome123
一般會員


發表:13
回覆:4
積分:3
註冊:2004-11-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-01 16:03:29 IP:192.192.xxx.xxx 未訂閱
程式如下..... 我這是一個傳檔程式 可以互相傳檔 也可以輸入網址讓對方的電腦裡可以存儲存網址裡的東西 (我暫時先設定只能抓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.
豬ㄚ你!!這麼簡單的東西...你都不懂......= =....誰叫我是新手呢...@ @
系統時間:2024-07-03 19:02:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!