为delphi程序员定制的中间件 新版本2.0(100分)

  • 主题发起人 主题发起人 wpy020327
  • 开始时间 开始时间
W

wpy020327

Unregistered / Unconfirmed
GUEST, unregistred user!
QuickBurro中间件绿色、随拷随用,自带数据库,也可适应一般sql server,安装后可无人职守运行,用于组建大型分布式应用网络,为客户端开发提供中间层服务,支持业务逻辑插件开发与部署,采用了pooling技术、多线程实现。
客户端是一个组件包,包含16个控件,可非常省力地实现远程数据库存取、文件传输、远过程调用、即时通信等。有全部控件的编程示例,有全部的开发技术资料。适合delphi7与delphi5。如有需要,可向我索取其它版本的。
需要的向我索取: QQ: 779545524
 
用户登陆控件TUserLogin编程示例:
//
// 登陆...
procedure TForm1.Button2Click(Sender: TObject);
begin
UserLogin1.UserId:=’admin’;
UserPassword:=’admin’;
userlogin1.Login;
end;
//
// 撤离...
procedure TForm1.Button3Click(Sender: TObject);
begin
userlogin1.Logoff;
end;
//
// 修改密码...
procedure TForm1.Button6Click(Sender: TObject);
begin
userlogin1.SetPassword('abcd');
end;
//
// 登陆成功时...
procedure TForm1.UserLogin1LoginSuccess(Sender: TObject);
begin
memo1.lines.add('admin登陆节点成功!');
end;
//
// 登陆失败时...
procedure TForm1.UserLogin1LoginFail(Sender: TObject);
begin
memo1.lines.add('admin登陆节点失败!');
end;
//
// 撤离成功时...
procedure TForm1.UserLogin1LogoffSuccess(Sender: TObject);
begin
memo1.lines.add('admin撤离节点成功!');
end;
//
// 撤离失败时...
procedure TForm1.UserLogin1LogoffFail(Sender: TObject);
begin
memo1.lines.add('admin撤离节点失败!');
end;
//
// 用户被挤出时...
procedure TForm1.UserLogin1UserExtrusion(Sender: TObject);
begin
memo1.lines.add('admin用户被挤出!');
end;
//
// 更改密码失败时...
procedure TForm1.UserLogin1ChgPswFail(Sender: TObject);
begin
memo1.lines.add('修改密码失败!');
end;
//
// 更改密码成功时...
procedure TForm1.UserLogin1ChgPswSuccess(Sender: TObject);
begin
memo1.lines.add('修改密码成功!');
end;
 
接收数据的控件TPsvReceiver的编程示例:
//
// 开启接收功能…
procedure TForm1.Button3Click(Sender: TObject);
begin
psvreceiver1.Active:=true;
memo1.lines.add('被动信息接收开启了!');
end;
//
// 关闭接收功能…
procedure TForm1.Button4Click(Sender: TObject);
begin
psvreceiver1.Close;
memo1.lines.add('被动信息接收停止了!');
end;
//
// 当远程有数据集送达本地节点时…
procedure TForm1.PsvReceiver1DatasetUploaded(Sender: TObject;
TableName,
Keyfield, KeyFieldType: String);
begin
memo1.lines.Add('数据表'+tablename+'中有新的数据送达!');
end;
//
// 当本客户端(用户)收到来自本地的广播消息时…
procedure TForm1.PsvReceiver1LocalMessage(Sender: TObject;
ReceivedText: String);
begin
memo1.lines.Add('收到本地消息如下:'+#13#10+ReceivedText);
end;
//
// 当收到来自远程用户的群发消息时…
procedure TForm1.PsvReceiver1RemoteMessage(Sender: TObject;
FromUserId,
ReceivedText: String);
begin
memo1.lines.Add('收到来自'+fromuserid+'的远程消息如下:'+#13#10+ReceivedText);
end;
//
// 当收到远程用户的点对点(用户对用户)二进制数据时…
procedure TForm1.PsvReceiver1U2UBinary(Sender: TObject;
FromUserId: String;
DataLength: Integer;
DataId: String);
begin
memo1.lines.Add('收到来自'+fromuserid+'的U2U二进制数据,长度='+inttostr(datalength)+',数据记录号='+dataid);
PsvReceiver1.DropData(dataid);
memo1.lines.Add('实际数据记录被清除!');
end;
//
// 当收到远程用户的点对点文本数据时…
procedure TForm1.PsvReceiver1U2UText(Sender: TObject;
FromUserId,
ReceivedText: String);
begin
memo1.lines.Add('收到来自'+fromuserid+'的U2U文本信息如下:'+#13#10+ReceivedText);
end;
 
远程数据库存取控件TRemoteADO的示例代码:
//
// 读数据集请求…
procedure TForm1.Button6Click(Sender: TObject);
begin
remoteado1.TaskTimeout:=60;
RemoteADO1.ReadDataset('中国','SELECT * FROM NETDNA_LOCALNODES ORDER BY NODEID');
end;
//
// 写ClientDataset到远程…
procedure TForm1.Button5Click(Sender: TObject);
begin
RemoteADO1.WriteClientDataset('中国','NETDNA_LOCALNODES','NodeId',0,2,clientdataset1);
end;
//
// 写ADODataset到远程…
procedure TForm1.Button7Click(Sender: TObject);
begin
adoconnection1.Connected:=true;
adodataset1.CommandText:='select * from netdna_localnodes order by nodeid';
adodataset1.Active:=true;
RemoteADO1.WriteAdoDataset('中国','NETDNA_LOCALNODES','NodeId',0,2,adodataset1);
end;
//
// 远程运行SQL…
procedure TForm1.Button12Click(Sender: TObject);
begin
RemoteAdo1.ExecSQL('中国','SELECT COUNT(*) FROM NETDNA_LOCALNODES',1);
end;
//
// 运行SQL失败时…
procedure TForm1.RemoteADO1ExecSQLFail(Sender: TObject);
begin
memo1.lines.Add('运行SQL命令失败!');
end;
//
// 运行SQL成功时…
procedure TForm1.RemoteADO1ExecSQLSuccess(Sender: TObject;
aRetValue: String);
begin
memo1.lines.Add('运行SQL命令成功!返回='+aRetValue);
end;
//
// 读取数据集失败时…
procedure TForm1.RemoteADO1ReadDatasetFail(Sender: TObject);
begin
memo1.lines.Add('读数据集失败!');
end;
//
// 读取数据集成功时…
procedure TForm1.RemoteADO1ReadDatasetSuccess(Sender: TObject;
aCDS: TClientDataSet);
begin
memo1.lines.Add('读数据集成功!');
clientdataset1.Active:=false;
clientdataset1.Data:=acds.Data;
end;
//
// 写数据集失败时…
procedure TForm1.RemoteADO1WriteDatasetFail(Sender: TObject);
begin
memo1.lines.Add('写数据集失败!');
end;
//
// 写数据集成功时…
procedure TForm1.RemoteADO1WriteDatasetSuccess(Sender: TObject);
begin
memo1.lines.Add('写数据集成功!');
end;
 
下面这个是远程群发控件TRemoteBroad控件的编程例子:
//
//
// 群发给节点用户…
procedure TForm1.Button3Click(Sender: TObject);
begin
remotebroad1.BroadToNodeUsers('中国','这是一个群发给节点用户的消息!');
end;
//
// 群发给地区用户…
procedure TForm1.Button4Click(Sender: TObject);
begin
remotebroad1.BroadToAreaUsers('中国','330000','这是一个群发给中国地区用户的消息!');
end;
//
// 发给地区用户失败时…
procedure TForm1.RemoteBroad1BroadToAreaFail(Sender: TObject);
begin
memo1.lines.add('群发消息到地区用户群失败!');
end;
//
// 发给地区用户成功时…
procedure TForm1.RemoteBroad1BroadToAreaSuccess(Sender: TObject);
begin
memo1.lines.add('群发消息到地区用户群成功了!');
end;
//
// 发给节点用户失败时…
procedure TForm1.RemoteBroad1BroadToNodeFail(Sender: TObject);
begin
memo1.lines.add('群发消息到节点用户群失败!');
end;
//
// 发给节点用户成功时…
procedure TForm1.RemoteBroad1BroadToNodeSuccess(Sender: TObject);
begin
memo1.lines.add('群发消息到节点用户群成功了!');
end;
 
下面这个是点对点(用户对用户)的传输控件TU2UTransfer的编程示例:
//
// 发送文本到目标用户…
procedure TForm1.Button3Click(Sender: TObject);
begin
U2UTransfer1.SendTextToUser('guest@中国','这是一个U2U文本信息!');
end;
//
// 发送流对象内容到目标用户…
procedure TForm1.Button4Click(Sender: TObject);
var
aStream: TMemoryStream;
tmpstr: string;
begin
tmpstr:='这是一个U2U流信息!';
aStream:=TMemoryStream.Create;
aStream.Write(tmpstr[1],length(tmpstr));
U2UTransfer1.SendStreamToUser('guest@中国',aStream);
aStream.Free;
end;
//
// 发送文件内容到目标用户…
procedure TForm1.Button5Click(Sender: TObject);
begin
if opendialog1.Execute then
U2UTransfer1.SendFileToUser('guest@中国',opendialog1.FileName);
end;
//
// U2U发送失败时…
procedure TForm1.U2UTransfer1U2UFail(Sender: TObject);
begin
memo1.lines.add('U2U传送失败!');
end;
//
// U2U发送成功时…
procedure TForm1.U2UTransfer1U2USuccess(Sender: TObject);
begin
memo1.lines.add('U2U传送成功!');
end;
 
下面这个是远过程调用控件TRPCaller的编程示例:
//
// 简单RPC…
procedure TForm1.Button3Click(Sender: TObject);
begin
RPCaller1.SimpRPC('中国','remotescreen','');
end;
//
// 以文件内容作为二进制入口参数的复杂RPC…
procedure TForm1.Button4Click(Sender: TObject);
var
filename: string;
begin
if opendialog1.Execute then
begin
filename:=opendialog1.FileName;
RPCaller1.CompRPCWithFile('中国','remotefiles','12'+#9+'d:/'+extractfilename(filename)+#9,filename);
end;
end;
//
// RPC失败时…
procedure TForm1.RPCaller1CallFail(Sender: TObject);
begin
memo1.lines.Add('远过程调用失败!');
end;
//
// RPC成功时…
procedure TForm1.RPCaller1CallSuccess(Sender: TObject;
ReturnText: String;
BinDataLength: LongInt;
DataId: string);
var
aStream: TMemoryStream;
begin
memo1.lines.Add('远过程调用成功!返回的文本数据='+ReturnText+' 返回的二进制数据长度='+inttostr(BinDataLength));
if bindatalength>0 then
begin
aStream:=TMemoryStream.Create;
RPCaller1.ReadDataToStream(dataid,aStream);
memo1.lines.Add('从数据库读取了'+inttostr(aStream.size)+'个字节的二进制数据!');
aStream.Free;
end;
end;
 
我是楼主,失业中,哪家公司要招人哟?
要求不高,5K,且不想与人争席位,俺做底层就行。
 
看了半天,没明白LZ这帖的意图是什么,感觉就是一个广告帖……
 
是广告贴,不然人家怎么会知道?
 
够坦白,我喜欢,[:D]
 
后退
顶部