TELNET客户端的问题
先看源程序
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdTelnet1Connected(TObject *Sender)
{
Memo1->Lines->Add("Connected");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
IdTelnet1->Terminal="vt100";
IdTelnet1->Connect();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdTelnet1DataAvailable(TIdTelnet *Sender,
const AnsiString Buffer)
{
int Start, Stop;
if(Memo1->Lines->Count == 0)
Memo1->Lines->Add("");
Start = 1;
Stop = Buffer.Pos(IntToStr('\n')); //the character count to a CR in the buffer
if(Stop == 0)
Stop = Buffer.Length() + 1;
while(Start <= Buffer.Length()){
Memo1->Lines->Strings[Memo1->Lines->Count -1] =
Memo1->Lines->Strings[Memo1->Lines->Count -1] +
Buffer.SubString(Start,Stop-Start);
if(Buffer.SubString(Stop,1)=='\n')
{
Memo1->Lines->Add("");
SendMessage(Memo1->Handle,WM_KEYDOWN, VK_UP,1);
}
Start = Stop + 1;
if(Start > Buffer.Length()){
break;
}
if(Buffer.SubString(Start,1)=='\n'){
Start++;
}
Stop = Start;
while((Buffer.SubString(Stop, 1)!= '\n')&&(Stop <= Buffer.Length())){
Stop++;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
IdTelnet1->Disconnect();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if (Key ==Char(13)){
if(IdTelnet1->Connected()){
for(int i=1;i<=Edit1->Text.Length();i++)
IdTelnet1->SendCh(Edit1->Text[i]);
IdTelnet1->SendCh(Char(13));
}
Edit1->Text="";
}
}
//---------------------------------------------------------------------------
这是在网上找到的,我模拟了一下,连接linux时没有问题,但是连接我的modem(大亚科技)时,输入完密码显示不了接收到的内容,为何?