www.pudn.com > sample-netbios.rar > Unit1.pas


unit Unit1; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, StdCtrls, nb30; 
 
type 
  TForm1 = class(TForm) 
    Button1: TButton; 
    Edit1: TEdit; 
    procedure Button1Click(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 
 
var 
  Form1: TForm1; 
 
implementation 
 
{$R *.dfm} 
 
procedure TForm1.Button1Click(Sender: TObject); 
  var 
   ncb:Tncb; 
   adapter:TAdapterStatus; 
   lanaenum:Tlanaenum; 
   intidx:integer; 
   re:char; 
   buf:string; 
begin 
  try 
    zeromemory(@ncb,sizeof(ncb)); 
    ncb.ncb_command:=chr(NCBRESET); 
    ncb.ncb_lana_num:=Lanaenum.lana[0]; 
    re:=NetBios(@Ncb); 
    if ord(re)<>0 then 
      exit; 
 
    zeromemory(@ncb,sizeof(ncb)); 
    ncb.ncb_command:=chr(ncbastat); 
    ncb.ncb_lana_num:=Lanaenum.lana[0]; 
 
    strpcopy(ncb.ncb_callname,'*'); 
    ncb.ncb_buffer:=@Adapter; 
    ncb.ncb_length:=sizeof(Adapter); 
    re:=NetBios(@ncb); 
 
    if ord(re)<>0 then 
      exit; 
 
    buf:=''; 
    for intidx:=0 to 5 do 
      buf:=buf+inttoHex(integer(adapter.adapter_address[intidx]),2)+'-'; 
 
    edit1.text:=copy(buf,0,length(buf)-1); 
  finally 
  end; 
end; 
 
end.