在tary上单击鼠标右键弹出菜单popmenu1;按下程序窗口的最小化按钮,程序最小化后隐藏任务栏上的标题栏;双击tary将会恢复程序最小化;
而且,tary图标以1000毫秒(1秒)的速度变换。够简单了吧?!
四:数据库中的一条记录,如何打包发送到客户端?
我们把数据库中的一条记录,放在一个结构体中,然后把该结构体send出去。
下面是一个简单的例子:
.h
struct tuserinfo
{
int no; //用户组别
char usrid[20]; //用户帐号
};
.cpp
void __fastcall tform1::button1click(tobject *sender)
{ tuserinfo *tst = new tuserinfo[2];
tst[0].no=1;
tst[1].no=2;
string tmp = "正常";
memcpy(tst[0].usrid,tmp.c_str(),tmp.length()+1);
tmp = "不正常";
memcpy(tst[1].usrid,tmp.c_str(),tmp.length()+1);
clientsocket1->socket->sendbuf(tst,24);
delete tst;}
void __fastcall tform1::serversocket1clientread(tobject *sender,
tcustomwinsocket *socket)
{
tuserinfo *tst = new tuserinfo[2];
socket->receivebuf(tst,24);
showmessage(tst[0].usrid);
showmessage(tst[1].usrid);
}
上面的例子很简单,可以实现struct的发送,但存在一个小问题:
如果要传2条记录,必须sendbuf(tst,24*2);那么接受的时候必须receivebuf(tst,24*2);
而我发的条数是不确定的,时多时少,有什么办法可以我发多少,客户就接多少?
其实也简单解决:
每次只发一个struct,用for循环发出去就可以了。
通过了以上的一二三四的技术准备,消息提示工具的具体实现就很明朗了,只是工作量的问题了。
在消息提示工具中,我采用ado访问数据库。