全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1397
推到 Plurk!
推到 Facebook!

請問Indy8.0的TCP Client&Server元件問題...

答題得分者是:RaynorPao
kelon
一般會員


發表:17
回覆:27
積分:18
註冊:2002-07-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-13 17:43:39 IP:211.20.xxx.xxx 未訂閱
請問一下... 我使用Indy8.0的TCP Client & Server元件 發現在傳中文檔名時會出現問題 要如何解決呢???
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-13 22:56:02 IP:61.221.xxx.xxx 未訂閱
引言: 請問一下... 我使用Indy8.0的TCP Client & Server元件 發現在傳中文檔名時會出現問題 要如何解決呢???
kelon 你好: 方便把你的程式碼貼上來嗎?? --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
kelon
一般會員


發表:17
回覆:27
積分:18
註冊:2002-07-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-14 08:32:31 IP:211.20.xxx.xxx 未訂閱
你好...我參考Indy 8.0 的Demo程式 在IdTCPExecute()中寫了... tmpfStream = new TFileStream(File_Path->Caption "\\" FilrName,fmOpenRead|fmShareDenyNone); AThread->Connection->OpenWriteBuffer(-1); AThread->Connection->WriteStream(tmpfStream,true,false); AThread->Connection->CloseWriteBuffer(); delete tmpfStream; tmpfStream=NULL; lstRequests->Items->Add("File transfer completed"); AThread->Connection->Disconnect(); 接收端 TFileStream* ftmpStream; if (IdTCPClient->Connected()) IdTCPClient->Disconnect(); IdTCPClient->Host = Server_Host->Caption; IdTCPClient->Port = Server_Port->Caption.ToInt(); IdTCPClient->Connect(); AnsiString Temp="File_List->Items->Strings[i]; IdTCPClient->WriteLn(Temp); ftmpStream=new TFileStream(Client_Path->Caption "\\" Update_List->Items->Strings[i],fmCreate); while (IdTCPClient->Connected()) { IdTCPClient->ReadStream(ftmpStream,-1,true); } delete ftmpStream; ftmpStream=NULL; IdTCPClient->Disconnect(); 在傳中文檔案時會變成亂碼 這是為什麼呢???
kelon
一般會員


發表:17
回覆:27
積分:18
註冊:2002-07-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-14 08:51:03 IP:211.20.xxx.xxx 未訂閱
不好意思...再補充一下... 我trace後 Client在送出時 IdTCPClient->WriteLn("新增文字文件.txt"); 是正確的 但Server接收時 AnsiString s = UpperCase(AThread->Connection->ReadLn("",5000)); s的中文部份會改變... 這是為什麼呢 
kelon
一般會員


發表:17
回覆:27
積分:18
註冊:2002-07-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-01-14 09:02:57 IP:211.20.xxx.xxx 未訂閱
解決了 @@ 只要將Server接收把UpperCase()去掉 就可以接收正常的中文檔名... 這函式的功能到底是...
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-01-14 12:13:56 IP:203.73.xxx.xxx 未訂閱
引言: 解決了 @@ 只要將Server接收把UpperCase()去掉 就可以接收正常的中文檔名... 這函式的功能到底是...
kelon 你好: 請做以下的實驗~~你就會知道為什麼了 ( > --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
kelon
一般會員


發表:17
回覆:27
積分:18
註冊:2002-07-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-01-14 17:18:09 IP:211.20.xxx.xxx 未訂閱
能再請教... 我後來發現一個問題 使用TFileStream下載 因為Client端是create新檔下載 會把原來的檔案建立日期改變成下載的時間 有什麼辦法可以不改變它的原始日期嗎????
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-01-14 23:28:28 IP:61.221.xxx.xxx 未訂閱
引言: 能再請教... 我後來發現一個問題 使用TFileStream下載 因為Client端是create新檔下載 會把原來的檔案建立日期改變成下載的時間 有什麼辦法可以不改變它的原始日期嗎????
kelon 你好: 這個問題可能只能用這個辦法了 請參考 M$DN 關鍵字「GetFileTime」「SetFileTime」 --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
系統時間:2024-04-25 8:13:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!