Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

трабл с телнетом

27K
28 июля 2008 года
parviz
7 / / 02.05.2007
вообщем решил решил попробовать пример приведенный в "делфи глазами хакера"
и у меня зависает программа при запуске, т.е. в окне memo1 выходит что программа подключилась, и строка ввода логина пароля, и на этом зависает
скрин интерфейся прилагается, а вот и код:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, CheckLst, ComCtrls, ToolWin, Spin, WebComp, WebAdapt,
  IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdTelnet;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    Memo1: TMemo;
    IdTelnet1: TIdTelnet;

    procedure IdTelnet1DataAvailable(Sender: TIdTelnet; const Buffer: string);
    procedure IdTelnet1Connected(Sender: TObject);
    procedure Memo1KeyPress(Sender: TObject; var Key: Char);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);


begin
   IdTelnet1.Terminal:='vt100';
   IDTelnet1.Host:= Edit1.Text;
   IDTelnet1.Port:= strtoint(Edit2.Text);
   IDTelnet1.Connect;
   end;

procedure TForm1.Button2Click(Sender: TObject);
begin
IDTelnet1.Disconnect;
end;

procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin

if IdTelnet1.Connected then

IdTelnet1.SendCh(Key);
end;


procedure TForm1.IdTelnet1Connected(Sender: TObject);
begin
Memo1.Lines.Add('Клиент подключен.');
Memo1.Lines.Add ('Можете выполнять команды');
Memo1.Lines.Add('') ;

end;

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;


end.
14
28 июля 2008 года
Phodopus
3.3K / / 19.06.2008
На SendCh() зависает?
6
29 июля 2008 года
George
4.1K / / 05.01.2007
Цитата: parviz
вообщем решил решил попробовать пример приведенный в "делфи глазами хакера"


Боже мой, когда вы перестанете читать эту дрянь?!

Цитата: parviz
и у меня зависает программа при запуске, т.е. в окне memo1 выходит что программа подключилась, и строка ввода логина пароля, и на этом зависает


Естественно, это ж флёнов. Он противопоказан нормальным программистам. Выкинь его в ближайшую речку. Посмотри ветку про книги и читай их. Тогда ничего не будет зависать, если конечно руки нормальные.

27K
29 июля 2008 года
parviz
7 / / 02.05.2007
Цитата: Phodopus
На SendCh() зависает?



зависает после коннекта, т.е. выходит приглашение "login:"
и на этом программа виснет:confused:

27K
29 июля 2008 года
parviz
7 / / 02.05.2007
Цитата: Washington
Боже мой, когда вы перестанете читать эту дрянь?!

Естественно, это ж флёнов. Он противопоказан нормальным программистам. Выкинь его в ближайшую речку. Посмотри ветку про книги и читай их. Тогда ничего не будет зависать, если конечно руки нормальные.



а я тут в какой то ветке видел рекомендацию почитать как раз к эту книгу :cool:

6
29 июля 2008 года
George
4.1K / / 05.01.2007
не, друг. не читай флёнова. Читай Кэнту, Тексейру и Пачеко. Всё таки они считаются лучшими авторами по Delphi. А флёнов - ширпотреб.
27K
29 июля 2008 года
parviz
7 / / 02.05.2007



спасибы товарищ, ща почитаем

6
29 июля 2008 года
George
4.1K / / 05.01.2007
ну ты найди сначала вышеуказанные книжицы, потом читай ;)
27K
29 июля 2008 года
parviz
7 / / 02.05.2007
Цитата: Washington
ну ты найди сначала вышеуказанные книжицы, потом читай ;)



я думал ссылки на электронные версии :cool:

а где можно что нибудь подобное скачать? т.к. покупать их нет возможности (доставка СА не предусмотрена)

14
29 июля 2008 года
Phodopus
3.3K / / 19.06.2008
Цитата: parviz
зависает после коннекта, т.е. выходит приглашение "login:"
и на этом программа виснет:confused:



тоесть на IDTelnet1.Connect; ? это основной поток зависает..
кстати у тебя обращения к memo не синхронизированы из IdTelnet1Connected, а это уже другой поток если я ничего не путаю. Вполне может быть из-за этого!

27K
29 июля 2008 года
parviz
7 / / 02.05.2007
вообщем покопался в кодах, вроде ниче не менял, начала вылетать вот такая ошибка
261
29 июля 2008 года
ahilles
1.5K / / 03.11.2005
ничего не видно
6
29 июля 2008 года
George
4.1K / / 05.01.2007
Вышеуказанные книги ищи в гугле. но например Григорьева в электронке кажись нет, книга не так давно вышла. но она в принципе не для начинающих. так что Кэнту - гугл и у тебя всё получится
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог