[Error] U_FrmSearchNetIp.pas(111): Undeclared identifier: 'RxDispinf'

aabbabababaa 2008-03-18 12:09:55
procedure TFrmSearchNetIp.FormCreate(Sender: TObject);
begin
IntGridCol:=0;
{TRxRichEdit 去除64K的限制}
RxDispinf.MaxLength := High(Integer) - 1024;
{Grid清除 ClearGrid}
ClearGrid;
end;


Procedure WinSockInital(Handle: HWnd);
begin
{ 1 初始化SOCKET}
TF_stop:=false;
if WSAStartup(2, TempWSAData)=1 then
begin
showmessage('Socket初始化出错');
exit
end;
{若是用UDP通信,则用}
sockfd:=Socket(AF_INET,SOCK_DGRAM,0);

FSockAddrIn.SIn_Family := AF_INET;
FSockAddrIn.SIn_Port := htons(NBTPORT); {137端口}

{Socket的信息传递--》From.Handle 窗体, FD_READ 在读就绪的时候, WM_SOCK 自定义消息号}
WSAAsyncSelect(sockfd, Handle , WM_SOCK, FD_READ);
{创建事件}
WAIT_ACK_EVENT:=CreateEvent(nil,true,false,pchar('WAIT_ACK') );
ResetEvent(WAIT_ACK_EVENT);
end;


procedure TFrmSearchNetIp.SBrnScanNetIPClick(Sender: TObject);
var
DWx1,Dwx:Dword;
IP,Str_Ip:string;
Tcomr:TComread;
begin
RichEdit1.text:='';
Setlength(TGroupNet,0);
{始化SOCKET}
WinSockInital(FrmSearchNetIp.Handle);

{清除Grid}
ClearGrid;
TF_stop:=false;
IP:=trim(EdNetIP1.text);
RxRedDispinf.Text :='';
label4.Caption:='IP个数:';
LabIP.caption:='';
LabStartTime.caption:='开始时间:';
LabEndTime.caption:='结束时间:';
LabTime.caption:='扫描用时:';
if Longword(inet_addr(pchar(IP)))=INADDR_NONE then
begin
Messagebox(Application.handle,pchar(IP + ' TP 出错'),'警告',MB_OK+MB_ICONERROR);
exit;
end;
IP:=trim(EdNetIP2.text);
if Longword(inet_addr(pchar(IP)))=INADDR_NONE then
begin
Messagebox(Application.handle,pchar(IP + ' TP 出错'),'警告',MB_OK+MB_ICONERROR);
exit;
end;
IP:=trim(EdNetIP1.text);
ComputerIP:=inet_addr(PChar(IP)) ; // 192.168.0.1 ===>01 00 A8 C0
str_ip:=inttohex(ComputerIP,8); //01 00 A8 C0
str_ip:=copy(str_ip,7,2)+copy(str_ip,5,2)+copy(str_ip,3,2)+copy(str_ip,1,2); //==> C0 A8 00 01
DWx:=strtoint('$'+str_ip); {转换成为一个长整形数}

str_ip:=inttohex(ComputerIP,8);
str_ip:=inttostr(strtoint('$' + copy(str_ip,7,2)))
+'.' + inttostr(strtoint('$' + copy(str_ip,5,2)))
+'.' + inttostr(strtoint('$' + copy(str_ip,3,2)))
+'.' + inttostr(strtoint('$' + copy(str_ip,1,2)));
EdNetIP1.text:=str_ip; {允许输入 一个数值表示IP}

IP:=trim(EdNetIP2.text);
ComputerIP:=inet_addr(PChar(IP)) ; // 192.168.0.1 ===>01 00 A8 C0
str_ip:=inttohex(ComputerIP,8); //01 00 A8 C0
str_ip:=copy(str_ip,7,2)+copy(str_ip,5,2)+copy(str_ip,3,2)+copy(str_ip,1,2); //==> C0 A8 00 01
DWx1:=strtoint('$'+str_ip); {转换成为一个长整形数}

str_ip:=inttohex(ComputerIP,8);
str_ip:=inttostr(strtoint('$' + copy(str_ip,7,2)))
+'.' + inttostr(strtoint('$' + copy(str_ip,5,2)))
+'.' + inttostr(strtoint('$' + copy(str_ip,3,2)))
+'.' + inttostr(strtoint('$' + copy(str_ip,1,2)));
EdNetIP2.text:=str_ip; {允许输入 一个数值表示IP}

if DWx1>Dwx then
begin
IP_count:=DWx1-Dwx;
ComputerIP:=inet_addr(PChar(trim(EdNetIP1.text)));
IP_end:=DWx1;
label1.caption:='-->>';
end
else begin
IP_count:=DWx-Dwx1;
ComputerIP:=inet_addr(PChar(trim(EdNetIP2.text)));
IP_end:=DWx;
label1.caption:='<<--';
end;

SBrnScanNetIP.Enabled :=false; {屏蔽按键}
Tcomr:=TComread.Create(True);
StartTickCount:=GetTickCount;
LabStartTime.caption:='开始时间:' + FloatToStr(StartTickCount);
Tcomr.Resume ; {开始线程}
end;


procedure TComread.Execute;
var
str_ip:string;
IP_now:Dword;
Procedure MakeEnd();
begin
FrmSearchNetIp.SBrnScanNetIP.Enabled :=True;
StopTickCount:=GetTickCount;
FrmSearchNetIp.LabEndTime.caption:='结束时间:' +FloatToStr(StopTickCount);
FrmSearchNetIp.LabTime.caption:='扫描用时:' +FloatToStr(StopTickCount-startTickCount)+' mS';
FrmSearchNetIp.label4.Caption:='IP个数:'+ inttostr(FrmSearchNetIp.SgDispNetIP.RowCount-1);
FrmSearchNetIp.MakeGrid(3);
{排序
'TP地址'0 '计算机名称'1 '计算机描述' 2
'网络组'3 '网卡MAC码'4
MakeGrid(const IntIndex: integer=3);}
end;
begin

with FrmSearchNetIp do
begin
str_ip:=inttohex(ComputerIP,8); //01 00 A8 C0
str_ip:=copy(str_ip,7,2)+copy(str_ip,5,2)+copy(str_ip,3,2)+copy(str_ip,1,2); //==> C0 A8 00 01
IP_now:=strtoint('$'+str_ip);

while IP_end>=IP_now do ////IP_end==> C0 A8 00 01
begin
if TF_stop=True then
begin
MakeEnd();
{关闭SOCKET}
WinSockClose();
exit;
end;
str_ip:=inttohex(ComputerIP,8);
str_ip:=inttostr(strtoint('$' + copy(str_ip,7,2)))
+'.' + inttostr(strtoint('$' + copy(str_ip,5,2)))
+'.' + inttostr(strtoint('$' + copy(str_ip,3,2)))
+'.' + inttostr(strtoint('$' + copy(str_ip,1,2)));
LabIP.caption:=str_ip; {目前扫描的IP}

FSockAddrIn.SIn_Addr.S_addr := ComputerIP;//inet_addr(pchar(IP));
str_ip:=inttohex(ComputerIP,8); //01 00 A8 C0
str_ip:=copy(str_ip,7,2)+copy(str_ip,5,2)+copy(str_ip,3,2)+copy(str_ip,1,2); //==> C0 A8 00 01
str_ip:=inttohex( strtoint(('$' + str_ip))+1,8); //==> 加一C0 A8 00 02
IP_now:=strtoint('$'+str_ip);
str_ip:=copy(str_ip,7,2)+copy(str_ip,5,2)+copy(str_ip,3,2)+copy(str_ip,1,2); //==>02 00 A8 C0
ComputerIP:=strtoint('$'+str_ip);
sendto(sockfd, NbtstatPacket,50, 0, FSockAddrIn, sizeof(FSockAddrIn));
//发送数据后
waitforsingleobject(WAIT_ACK_EVENT,trunc(RxSEdDelay.Value)); // 等待事件变成有信号
ResetEvent(WAIT_ACK_EVENT); // 设为没有信号
end;
MakeEnd();
end;
{关闭SOCKET}
WinSockClose();
end;




[Error] U_FrmSearchNetIp.pas(111): Undeclared identifier: 'RxDispinf'
[Warning] U_FrmSearchNetIp.pas(150): Unsafe type 'PChar'
[Error] U_FrmSearchNetIp.pas(169): Undeclared identifier: 'RichEdit1'
[Error] U_FrmSearchNetIp.pas(178): Undeclared identifier: 'RxRedDispinf'
[Error] U_FrmSearchNetIp.pas(178): Missing operator or semicolon
[Warning] U_FrmSearchNetIp.pas(184): Unsafe type 'PChar'
[Warning] U_FrmSearchNetIp.pas(184): Comparison always evaluates to False
[Warning] U_FrmSearchNetIp.pas(186): Unsafe type 'PChar'
[Warning] U_FrmSearchNetIp.pas(190): Unsafe type 'PChar'
[Warning] U_FrmSearchNetIp.pas(190): Comparison always evaluates to False
[Warning] U_FrmSearchNetIp.pas(192): Unsafe type 'PChar'
[Warning] U_FrmSearchNetIp.pas(196): Unsafe type 'PChar'
[Warning] U_FrmSearchNetIp.pas(209): Unsafe type 'PChar'
[Warning] U_FrmSearchNetIp.pas(224): Unsafe type 'PChar'
[Warning] U_FrmSearchNetIp.pas(230): Unsafe type 'PChar'
[Error] U_FrmSearchNetIp.pas(293): Undeclared identifier: 'RxSEdDelay'
[Error] U_FrmSearchNetIp.pas(293): ')' expected but identifier 'Value' found
[Error] U_FrmSearchNetIp.pas(299): Declaration expected but identifier 'WinSockClose' found
[Error] U_FrmSearchNetIp.pas(300): '.' expected but ';' found
[Error] U_FrmSearchNetIp.pas(375): Undeclared identifier: 'RxRedDispinf'
[Error] U_FrmSearchNetIp.pas(375): Missing operator or semicolon
[Error] U_FrmSearchNetIp.pas(375): Missing operator or semicolon
[Error] U_FrmSearchNetIp.pas(376): Statement expected, but expression of type 'TCaption' found
[Error] U_FrmSearchNetIp.pas(411): Undeclared identifier: 'RxRichEdit1'
[Error] U_FrmSearchNetIp.pas(411): Missing operator or semicolon
[Warning] U_FrmSearchNetIp.pas(456): Unsafe type 'PChar'
[Warning] U_FrmSearchNetIp.pas(461): Unsafe type 'PChar'
[Error] U_FrmSearchNetIp.pas(510): Undeclared identifier: 'RxRichEdit1'
[Error] U_FrmSearchNetIp.pas(510): Missing operator or semicolon
[Error] U_FrmSearchNetIp.pas(522): Missing operator or semicolon
[Fatal Error] PScanNetIP.dpr(5): Could not compile used unit 'U_FrmSearchNetIp.pas'
...全文
894 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
aabbabababaa 2008-03-18
  • 打赏
  • 举报
回复
rxlib for d7 这个?安装后还是提示错误的..........
hongqi162 2008-03-18
  • 打赏
  • 举报
回复
你需要在你的delphi IDE中安装Rxlib组件包,在组件包里找到相应的组件添加到你的form里

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧