我做了一个"远程控制"的东东,但有个问题我还没解决,请大家帮帮我,小弟有分相送!(100分)

  • 主题发起人 主题发起人 LILIANG2002
  • 开始时间 开始时间
L

LILIANG2002

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]  我做了三个按钮:关机、开IE、弹窗口。我把他们三个的事件写在了ServerSocket的OnServerClientReadr事件里
代码如下:
   procedure TForm1.ServerClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
if socket.ReceiveText='open' then
begin
ShellExecute(handle,nil,pchar('http://www.ft2.com.cn'),nil,nil,SW_SHOWNORMAL);
end
else
begin
if socket.ReceiveText='show' then
begin
showmessage('你好啊!!');
end
else
begin
if socket.ReceiveText='close' then
exitwindowsex(EWX_REBOOT,2);
end;
end;
end;

  但是。我在调试的时后总只可以用在程序开头部分的代码也就是第一个IF,像上面的就只可以用“开IE”这个功能,其它的就不可以用,我
把其另两个IF放在第一时它们又可以用了。
  我左看右看,语法好像没错,请各位大哥们帮帮小弟,再下感激送分。
 
procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
begin
if (socket.ReceiveText='open') then begin
ShellExecute(handle,nil,pchar('http://www.ft2.com.cn'),nil,nil,SW_SHOWNORMAL);
Exit;
end;
if (socket.ReceiveText='show') then begin
showmessage('你好啊!!');
Exit;
end;
if socket.ReceiveText='close' then begin
exitwindowsex(EWX_REBOOT,2);
Exit;
end;
end;
 
三个if 分开写
 
楼主:
这回行了没?
 
你的问题我也遇到过,需要定义变量
procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
Str:String;
begin
Str:=socket.ReceiveText;
if Str='open' then
begin
ShellExecute(handle,nil,pchar('http://www.ft2.com.cn'),nil,nil,SW_SHOWNORMAL);
end
else
begin
if Str='show' then
begin
showmessage('你好啊!!');
end
else
begin
if Str='close' then
exitwindowsex(EWX_REBOOT,2);
end;
end;
 
odbc1230说的对
 
这种情况你应该使用 case 语句比较好,或者用if....else if 。
 
多人接受答案了。
 
后退
顶部