如何实现类似公文包的功能?(200分)

  • 主题发起人 主题发起人 askman
  • 开始时间 开始时间
好的办法应该是更新数据时再选择"数据库文件",然后动态设置BDE别名.
这样在form上放一个opendialog对话框,用来选取数据库文件就可以了.
如果向你所想的那样,不仅要自己枚举"网上邻居",而且一样要用户自己
去选择目录/文件---- 总不能用固定的目录/文件名吧?那样太不灵活了.
 
cAKK:
由于用户要求极傻瓜的界面,所以我想尽量不采用文件对话框形式。
我现在的设想是这样的:做到每次只有一台笔记本与台式机相连,不知道有没有这样
的函数或win API函数能够取得被连计算机的名字,然后再从被连的计算机的注册表
中读到该计算机中数据库文件的路径,从而构成共享文件的完整路径。
不知道这样的方案是否有可行性?
 
to askman:
这样似乎太傻瓜了点,操作一点不透明, 一旦中间环节出点什么差错,你根本不知道
错在那一步, 因为你的每个步骤都是自动的. 况且,读取别的机器的注册标不一定
有效.

我提个建议,既然你一定要做成自动的,干脆用winsock+文件共享,反正你的主数据库
不是放在server上吗? 在 server的程序里添加一个TServerSocket,监听一个端口,
客户端程序(笔记本上)放一个TClientSocket,当需要更新到主数据库中时,连接到
server上的那个端口, 然后把自己机器的信息发过去, 信息包括:自己的机器名,数
据库所在路径就够了. server端接受到这个连接, 于是通过文件共享连接到指定的
机器的指定的目录,建立BDE别名,然后ok! 虽然增加了socket控件,但编程量并没
增加多少,只是一个简单的连接而已.

让我来描绘一下未来的软件:
你的客户从外面回来,打开笔记本,连上服务器, 运行你的程序, 点击"发送更新数据"
按钮, 只见屏幕上显示"正在向主数据库发送更新数据....",看起来似乎很神秘, 其实它发送的只是自己的机器名和数据库路径, 真正执行更新操作的还是server.

 
答案基本满意,多谢各位大虾指点!
 
多人接受答案了。
 
后退
顶部