Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > fastnet


Автор: windy 4.12.2004, 19:07
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Psock, NMFngr, StdCtrls, Menus;

type
TForm1 = class(TForm)
Button1: TButton;
NMFinger1: TNMFinger;
StatusBar1: TStatusBar;
Edit1: TEdit;
Edit2: TEdit;
Memo1: TMemo;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
MainMenu1: TMainMenu;
Help1: TMenuItem;
AboutNMFinger1: TMenuItem;
Apache1: TMenuItem;
exit1: TMenuItem;
procedure Button1Click(Sender: TObject);
procedure NMFinger1Connect(Sender: TObject);
procedure NMFinger1ConnectionFailed(Sender: TObject);
procedure NMFinger1Disconnect(Sender: TObject);
procedure NMFinger1HostResolved(Sender: TComponent);
procedure NMFinger1InvalidHost(var Handled: Boolean);
procedure NMFinger1Status(Sender: TComponent; Status: String);
procedure AboutNMFinger1Click(Sender: TObject);
procedure Apache1Click(Sender: TObject);
procedure exit1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2, Unit4, Unit3;

{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
begin
NMFinger1.User:=Edit2.Text;
NMFinger1.Host:=Edit1.Text;
NMFinger1.Port:=StrToInt(Edit3.Text);



Memo1.Text:= 'Локальный IP'+#13#10+NMFinger1.LocalIP+#13#10+'Имя пользователя'+#13#10+NMFinger1.User+#13#10+'Хост'+#13#10+NMFinger1.Host+#13#10+'Локальный адрес'+#13#10+NMFinger1.GetLocalAddress+#13#10+'Локальный порт'+#13#10+NMFinger1.GetPortString;


//если здесь в мемо вместо всего этого поставить Memo1.Text:=NMFinger1.FingerStr, то по идее мы должны получить приблизительно такую же информацию. только эта строка не работает. апаче настроен нормально.




end;

procedure TForm1.NMFinger1Connect(Sender: TObject);
begin
StatusBar1.SimpleText:='Подключено';

end;

procedure TForm1.NMFinger1ConnectionFailed(Sender: TObject);
begin
StatusBar1.SimpleText:='Невозможно установить соединение';
end;

procedure TForm1.NMFinger1Disconnect(Sender: TObject);
begin
If StatusBar1 <> nil then
StatusBar1.SimpleText:='Соединение не происходит';
end;

procedure TForm1.NMFinger1HostResolved(Sender: TComponent);
begin
StatusBar1.SimpleText:='Host найден';
end;

procedure TForm1.NMFinger1InvalidHost(var Handled: Boolean);
var
TmpStr: String;
begin

StatusBar1.SimpleText:='Host указан неверно';
If InputQuery('Неверно указан Host!', 'Введите новый host:', TmpStr) then
Begin
NMFinger1.Host := TmpStr;
Edit1.text := NMFinger1.Host;
Handled := TRUE;
end;
end;

procedure TForm1.NMFinger1Status(Sender: TComponent; Status: String);
begin
If StatusBar1 <> nil then
StatusBar1.SimpleText:=Status;
end;



procedure TForm1.AboutNMFinger1Click(Sender: TObject);
begin
Form2.Show;
end;

procedure TForm1.Apache1Click(Sender: TObject);
begin
Form4.Show;
end;

procedure TForm1.exit1Click(Sender: TObject);
begin
Form1.Close;
Form3.Close;
end;

end.




Автор: <Spawn> 4.12.2004, 22:06
Модератор: Название темы должно отражать ее суть!

В чем заключается проблема?

Автор: windy 5.12.2004, 20:18
не могу разобраться со строчкой
Memo1.Text:=NMFinger1.FingerStr
как она работает? в 7-ой делфе такого нет. приходится работать с 6-ой делфой. компонент NMFinger должен выдать инфу о юзере по хосту и порту и имени юзера. в демо эта строчка есть, но у меня рабоитает криво. она пишет Подключено, а потом зависает и ничего не выдает. при дисконнекте выдает адрес на харде, где находится каталог с ошибками апаче. не могу понять в чем проблема. апаче не глючит.
smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)