гуру подскажите что я делаю не так?
вот так на данный момент выглядит прога для бекапов:
Код:
procedure TForm1.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 TForm1.snd(ds: string);
begin
for i:=1 to length(ds) do idtelnet1.SendCh(ds[i]);
idtelnet1.SendCh(#13);
end;
procedure TForm1.tlnt(ipadr: string; hostname: string);
begin
usr:='rroot';
pass:='rootpass';
lgt:='logout';
cmd:='enable' + #13 + 'backup configuration ftp 10.244.7.205 ' + hostname + '-' + datetimetostr(date);
IdTelnet1.Host:=ipadr;
IdTelnet1.Connect;
snd(usr);
snd(pass);
snd('q');
snd(cmd);
snd('y');
// Sleep(60000);
snd(lgt);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
for i:=1 to 2 do begin
if i=1 then tlnt('10.24.5.14', 'huawei-1');
if i=2 then tlnt('10.24.5.178', 'huawei-2');
end;
end;
end.
Подключается через раз, если подключается то не отправляет usr и pass. Если делать на одной железке то через раз проходит если проходит через раз отправляет usr и pass. Так вот не понятно в чем проблема. Очень надо.