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

IdTelnet1DataAvailable事件跳出Reply Code is not valid?

尚未結案
tubeman
一般會員


發表:3
回覆:1
積分:0
註冊:2005-10-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-13 10:45:51 IP:219.84.xxx.xxx 未訂閱
想寫一個Terminal Client,但每次送出command後,在[IdTelnet1DataAvailable]事件就會跳出一個[Reply Code is not valid:xxx]的視窗出來ㄝ?不知為什麼?     還有送出echo test>a.txt 這類的command,為何畫面也顯示不出來? PS:其實是很想寫一個跟DOS模式一樣的Telnet client程式,但是實在是不知道要怎麼寫? 程式如下: var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Connect_ButtonClick(Sender: TObject); begin memo1.Clear; IdTelnet1.Host:=Host_IP.Text; IdTelnet1.Port:=strtoint(Host_Port.Text); IdTelnet1.Terminal:='vt100'; IdTelnet1.Connect(); IdTelnet1.SendCmd(Host_Password.Text); end; procedure TForm1.IdTelnet1DataAvailable(Sender: TIdTelnet; const Buffer: string); begin memo1.Lines.Append(buffer); end; procedure TForm1.IdTelnet1Disconnected(Sender: TObject); begin memo1.Clear; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin IdTelnet1.Disconnect(); IDTelnet1.Free; end; procedure TForm1.Command_ButtonClick(Sender: TObject); begin IdTelnet1.SendCmd(My_Command.Text); end; end.
tubeman
一般會員


發表:3
回覆:1
積分:0
註冊:2005-10-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-24 00:25:09 IP:61.229.xxx.xxx 未訂閱
爬了幾篇前輩文章自個兒把問題解決了,程式改成下面的寫法後就沒有問題了。 procedure TForm3.Connect_ButtonClick(Sender: TObject); var s:string; i:integer; begin memo1.Clear; IdTelnet1.Host:=Host_IP.Text; IdTelnet1.Port:=strtoint(Host_Port.Text); IdTelnet1.Terminal:='vt100'; IdTelnet1.Connect(); s:=Host_Password.Text; for i := 1 to length(s) do IdTelnet1.SendCh(s[i]); IdTelnet1.SendCh(#13); end; procedure TForm3.IdTelnet1DataAvailable(Sender: TIdTelnet; const Buffer: string); begin memo1.Lines.Append(buffer); end; procedure TForm3.IdTelnet1Disconnected(Sender: TObject); begin memo1.Clear; IdTelnet1.Disconnect(); IDTelnet1.Free; end; procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction); begin memo1.Clear; IdTelnet1.Disconnect(); IDTelnet1.Free; end; procedure TForm3.Command_ButtonClick(Sender: TObject); var s:string; i:integer; begin s:=My_Command.Text; for i := 1 to length(s) do IdTelnet1.SendCh(s[i]); IdTelnet1.SendCh(#13); end; end.
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-04-26 13:50:25 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-06 16:20:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!