求购多层数据结构COM服务器方案(可以是小例子!!!!!分数好说可以给到2000)(200分)

  • 主题发起人 主题发起人 com/dcom
  • 开始时间 开始时间
C

com/dcom

Unregistered / Unconfirmed
GUEST, unregistred user!
求购多层数据结构COM服务器方案(可以是小例子!!!!!分数好说可以给到2000)
开发环境是WIN2000 SERVER.数据库是SQL 2000或者是UNIX下的ORACAL,SYBASE
客户端是WIN98和win2000 Perfi.
大家可以只给我一个小例子就行了!!!!
 
我也想要,
jingwei@goldeastpaper.com.cn
 
这么好的东西,谁会不要;ypluo@163.net
我可以给1000人民币
 
请你买一个 速达erp 就行。
一般自己的软件不送人。
 
这个要出银子才行
 
TO COM/DOOM兄弟:
我调查过了,你25日刚成为新成员,何来2000分????????
 
我可以想办法借“钱”给你呀!
我让我的朋友们送钱给我不就 有了吗?
分数好商量,但你有没有方案呀!

大侠,救命呀!!!!!!!!
 
多谢007的相助,不过你们到底有没有方案呀!
这个也要钱呀!真不明白,,,,,,,
你们要多少?????
 
到HTTP://delphi.mychangshu.com/ 有个特博工资系统就是多层的。
 
那个数据库加不进来,真的没有办法,我还发信给它们了,没有回应,不知是为什么!
 
你去源码空间下个"物资管理"
那儿有服务器,客户端。
可以调试通过的
unit U_server;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, ExtCtrls, shellapi, Menus, Provider,
ComCtrls, registry, ScktComp, StdCtrls, Buttons, AxCtrls, OleCtrls, vcf1, Winsock,
DBCtrls;
const
CM_RESTORE = WM_USER + $1000;
{自定义的“恢复”消息}
WZGL_APP_NAME = 'WZGL_System';
const
WM_WZGLNOTIFY = WM_USER + 100;
//自定义消息
strNotifyTip = '物资管理应用服务器';
//状态区的提示信息
ID_MAIN = 100;
// 定义图标的ID

type
TfrmMain = class(TForm)
Panel1: TPanel;
PopupMenu: TPopupMenu;
NClose: TMenuItem;
NShowForm: TMenuItem;
StatusBar1: TStatusBar;
ListView: TListView;
Database: TDatabase;
procedure FormDestroy(Sender: TObject);
procedure NCloseClick(Sender: TObject);
procedure NShowFormClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject;
var Action: TCloseAction);
private
{ Private declarations }
public
function AddIcon(hwnd: HWND): Boolean;
//在状态区添加图标
function RemoveIcon(hwnd: HWND): Boolean;
//从状态区移去图标
procedure Notify(var Msg: TMessage);
message WM_WZGLNOTIFY;
//自定义消息处理函数
procedure minimize(sender: Tobject);
//定义最小化过程,赋给Application.OnMinimize;
function DBConnect(aServerName, aDatabaseName, aUserName, aPassword: string): boolean;
procedure CreateParams(var Params: TCreateParams);
override;
procedure RestoreRequest(var message: TMessage);
message CM_RESTORE;
{ Public declarations }
end;

var
frmMain: TfrmMain;
nid: NOTIFYICONDATA;
i: integer;
implementation

uses WZGL_RDB, DBConnectFrm;
{$R *.DFM}
procedure TFrmMain.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WinClassName := WZGL_APP_NAME;
end;

{处理“恢复”消息}
procedure TFrmMain.RestoreRequest(var message: TMessage);
begin
if IsIconic(Application.Handle) = True then
//窗体是否最小化
Application.Restore //恢复窗体
else
Application.BringToFront;
//提到前面显示
end;

//在状态区添加图标
function TfrmMain.AddIcon(hwnd: HWND): Boolean;
begin
nid.cbSize := sizeof(NOTIFYICONDATA);
nid.Wnd := hwnd;
nid.uID := ID_MAIN;
nid.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
nid.uCallbackMessage := WM_WZGLNOTIFY;
nid.hIcon := LoadIcon(hInstance, 'MAINICON');
strCopy(nid.szTip, strNotifyTip);
AddIcon := Shell_NotifyIcon(NIM_ADD, @nid);
end;

//从状态区移去图标
function TfrmMain.RemoveIcon(hwnd: HWND): Boolean;
var
nid: NOTIFYICONDATA;
begin
nid.cbSize := sizeof(NOTIFYICONDATA);
nid.Wnd := hwnd;
nid.uID := ID_MAIN;
nid.uFlags := 0;
RemoveIcon := Shell_NotifyIcon(NIM_DELETE, @nid);
end;

//自定义消息处理函数
procedure TfrmMain.Notify(var Msg: TMessage);
var
Pt: TPoint;
begin
case msg.LParam of
WM_RBUTTONDOWN: //当点击右键时,弹出快捷菜单
begin
SetForeGroundWindow(nid.wnd);
GetCursorPos(Pt);
Popupmenu.Popup(pt.x, pt.y);
end;
end;
end;

//定义最小化过程,赋给Application.OnMinimize;
procedure TfrmMain.minimize(sender: Tobject);
begin
AddIcon(handle);
ShowWindow(Application.handle, sw_hide)
end;

procedure TfrmMain.FormDestroy(Sender: TObject);
begin
RemoveIcon(handle);
end;

procedure TfrmMain.NCloseClick(Sender: TObject);
begin
close;
end;

procedure TfrmMain.NShowFormClick(Sender: TObject);
begin
RemoveIcon(handle);
ShowWindow(Application.handle, SW_SHOWNORMAL);
end;

procedure TfrmMain.FormCreate(Sender: TObject);
var
serverName, databaseName, userName, password: string;
begin
readFromIni(serverName, databaseName, userName, password);//读取配置文件
if not DBConnect(ServerName, DatabaseName, UserName, Password) then
//测试连接
if not DBConnectExecute(TfrmDBConnect) then
Application.Terminate;
//如果连接不成功,退出应用程序
Application.OnMinimize := minimize;
end;

procedure TfrmMain.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if application.messagebox('请确认是否退出!', '服务器端应用程序监测', mb_iconinformation + mb_yesno) = IDno then
abort;
end;

function TfrmMain.DBConnect(aServerName, aDatabaseName, aUserName, aPassword: string): boolean;
begin
Result := True;
Database.connected := False;
Database.DriverName := 'mssql';
//驱动名称
Database.Params.Values['Server Name'] := aServerName;
//服务器名
Database.Params.Values['Database Name'] := aDatabaseName;
//数据库名
Database.Params.Values['User Name'] := aUserName;//登录数据库用户名
Database.Params.Values['Password'] := aPassword;
//相应数据库用户的密码
try
Database.Connected := True;
except
result := False;
end;
end;

end.

 
贴主请留下E-Mail,随后会发给你。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部