如何在实现等待?(50分)

  • 主题发起人 主题发起人 oldwolf201
  • 开始时间 开始时间
O

oldwolf201

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在在写一个客户端到服务器端登陆验证的程序。采用clientsocket和serversocket控件。
在程序中
FrmLogin->strUserName=FrmLogin->Edt_UserName->Text;
FrmLogin->strPassWord=FrmLogin->Edt_PassWord->Text;
sendtext+="1;"+FrmLogin->strUserName+";"+FrmLogin->strPassWord+";";
sendinfo(FrmLogin->ClientSocket1,1,sendtext);
//需要等待服务器返回信息
if(sInfo=="false")//如验证失败
{
ShowMessage("用户名或密码错误!");
FrmLogin->bolSuc=false;
}
先将输入的用户名和密码发送到服务器端
然后在
void __fastcall TFrmLogin::ClientSocket1Read(TObject *Sender,
TCustomWinSocket *Socket)
{
//从服务器读取信息
sInfo=Socket->ReceiveText() ;

}
得到服务器端返回的判断信息
我使用for循环+sleep等待,但效果很差
请问如何判断onread事件被触发?如何实现等待?
 
waitfor 看看
 
在sleep后面加
application.ProcessMessages;
 
Time88 := time();
//计时开始
while (01 * abs(time - time88) * 24 * 60) > 2do
//等待2分钟
begin
application.ProcessMessages;
...
end;
这个等待方法怎么样?
 
还是在sendinfo(FrmLogin->ClientSocket1,1,sendtext);语句执行之前
弹出一个非模式提示框算了,上面再加上一个文件扫描动画。操作完毕后
再释放掉该提示框。
 
多人接受答案了。
 
后退
顶部