Доброе время суток!
Не так давно появилась потребность написать телнет клиент. Написать написал, да вот такая проблема у меня: при выполнении батников в программе отображаются какие-то непонятные символы хотя все и проходит на ура

подскажите пожалуйста где подправить надо, самому мне не разобраться...
Код:
unit TelnetUnit;
interface
uses
Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls,
windows, messages, spin, SysUtils, Classes, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdTelnet, ExtCtrls, IdAntiFreezeBase,
IdAntiFreeze, XPMan, jpeg;
type
TTelnetForm = class(TForm)
Memo1: TRichEdit;
sbrStatus: TStatusBar;
IdTelnet1: TIdTelnet;
Panel1: TPanel;
lblServer: TLabel;
lblPort: TLabel;
SpnedtPort: TSpinEdit;
ConnectButton: TButton;
btnDisconnect: TButton;
TerminalCB: TComboBox;
Label1: TLabel;
ComboBox1: TComboBox;
XPManifest1: TXPManifest;
Image1: TImage;
Timer1: TTimer;
Image2: TImage;
procedure ConnectButtonClick(Sender: TObject);
procedure btnDisconnectClick(Sender: TObject);
procedure Memo1KeyPress(Sender: TObject; var Key: Char);
procedure IdTelnet1Connected(Sender: TObject);
procedure IdTelnetDemoConnect;
procedure IdTelnet1Status(axSender: TObject;
const axStatus: TIdStatus; const asStatusText: String);
procedure IdTelnet1DataAvailable(Sender: TIdTelnet;
const Buffer: String);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure IdTelnet1TelnetCommand(Sender: TIdTelnet;
Status: TIdTelnetCommand);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
TelnetForm: TTelnetForm;
implementation
{$R *.dfm}
procedure TTelnetForm.ConnectButtonClick(Sender: TObject);
begin
IdTelnet1.Terminal:=TerminalCB.Text;
IdTelnet1.Host := ComboBox1.Text;
IdTelnet1.port := SpnedtPort.Value;
{begin
try }
IdTelnet1.Connect;
{ except
ShowMessage('Ошибка при подключении!');
end; }
end;
procedure TTelnetForm.btnDisconnectClick(Sender: TObject);
begin
IdTelnet1.Disconnect;
end;
procedure TTelnetForm.Memo1KeyPress(Sender: TObject;
var Key: Char);
begin
if IdTelnet1.Connected then
begin
IdTelnet1.SendCh(Key);
end;
end;
procedure TTelnetForm.IdTelnet1Connected(Sender: TObject);
begin
Memo1.Lines.Add('Клиент подключен');
sbrStatus.Panels[0].text:=('Клиент подключен.');
Memo1.Lines.Add('Можете выполнять команды');
Memo1.Lines.Add('');
end;
procedure TTelnetForm.IdTelnetDemoConnect;
begin
Memo1.Lines.Add('Подключение');
end;
procedure TTelnetForm.IdTelnet1Status(axSender: TObject;
const axStatus: TIdStatus; const asStatusText: String);
begin
if axStatus = hsDisconnected then
Memo1.Lines.Add('Сессия закончена');
sbrStatus.Panels[0].text:=('Клиент отключен.');
end;
procedure TTelnetForm.IdTelnet1DataAvailable(Sender: TIdTelnet;
const Buffer: String);
const
CR = #13;
LF = #10;
var
Start, Stop: Integer;
begin
Memo1.Lines.Add('');
Start := 1;
Stop := Pos(CR, Buffer);
if Stop = 0 then
Stop := Length(Buffer) + 1;
while Start <= Length(Buffer) do
begin
Memo1.Lines.Strings[Memo1.Lines.Count - 1] := Memo1.Lines.Strings[Memo1.Lines.Count - 1] + Copy(Buffer, Start, Stop - Start);
if Buffer[Stop] = CR then
begin
Memo1.Lines.Add('');
end;
Start := Stop + 1;
if Start > Length(Buffer) then
Break;
if Buffer[Start] = LF then
Start := Start + 1;
Stop := Start;
while (Buffer[Stop] <> CR) and (Stop <= Length(Buffer)) do
Stop := Stop + 1;
end;
end;
procedure TTelnetForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
if IdTelnet1.Connected then
IdTelnet1.Disconnect;
end;
procedure TTelnetForm.IdTelnet1TelnetCommand(Sender: TIdTelnet;
Status: TIdTelnetCommand);
begin
//
end;
procedure TTelnetForm.Timer1Timer(Sender: TObject);
begin
sbrStatus.Panels[1].text:=TimeToStr(now);
sbrStatus.Panels[2].text:=DateToStr(now);
end;
procedure TTelnetForm.FormCreate(Sender: TObject);
begin
ComboBox1.Items.LoadFromFile('server.ini');
end;
procedure TTelnetForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ComboBox1.Items.SaveToFile('server.ini');
end;
end.
вид batника:
chcp 1251
@echo off
net stop lanmanserver && net start lanmanserver
PAUSE