易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi 控制分布式数据库通信方式

一、     网络布局
   一台中心SQL服务器(简称:中心服务器),多台分布在不同地域的SQL服务器(简称:本地服务器),各个本地服务器和中心服务器都能通过internet实现网络互连。
二、所用语言及数据库:Delphi +Sql
二、     通信要求
   每台本地服务器与中心服务器每天都能相互交换数据库内的数据,实现数据的一致。但是不能保证数据的时实性(这一点请大家赐教)。本地服务器和中心服务器上都有一个通信程序,负责文件的网络传输。本地服务器和中心服务器中的数据库结构完全一样。
三、     本地服务器向中心服务器传输数据
1、          本地通信程序先把本地数据库中要传输的数据从各个表中收集起来,形成一个新的单机数据库(sqlite,这种数据库比较小)。里面各个表中存放着要上传的数据。
2、          与中心服务器上的通信程序连接,握手后,把生成的sqlite数据库通过网络传输给中心服务器,传输结束后,中心服务器对两个数据进行处理,如果sqlite内有的,sql 没有,则进行插入操作,如果都有的话,进行修改操作(删除的数据只是在库变化下标志位,并没有删除)。
3、          这些都处理好后,中心服务器上的通信程序给本地的通信程序发回一个标志,看是否处理成功,如果成功,则把本地中发送数据的标志位改成“已发送”,否则不变,等待下一次发送。
四、     中心服务器向本地服务器传输数据
1、          本地服务器向中心服务器发送下载指令和本地的IP,中心服务器上的通信程序收到指令后,开始收集数据形成sqlite数据库,然后向已指定IP的本地服务器发送文件。
2、          本地服务器收到文件后,开始与本地数据库内的数据进行比较,看是应该进行插入还是修改操作。结束后,再向中心服务器发送结束指令,
 


相关文档:

Delphi Pubic Function

function GetFileSizeString(const pFileName: String):String;
var
iFileSize: Int64;
begin
Result := '0';
iFileSize := FileSizeByName(pFileName);
Result := IntToStr(iFileSize);
end;
  function WinExecAndWait(strFileName: string; uCmdShow: UINT): DWORD;
var
cAppName: array ......

Delphi PureAPIWindow program

program PureAPIWindow;
uses
SysUtils,
Windows,
Messages;
const
WinClassName = 'DvsClass';
StrOut = 'Davis TextOut';
//窗口回调函数
function MyWinProc(
hWindow: HWND;
aMessage: UINT;
WParam: WPARAM;
LParam: LPARAM): LRESULT; stdcall; export; ......

Delete Delphi temporary file

Rem Delete Delphi temporary file
Rem ****************************
@echo Delete Delphi temporary file
@dir/w/s *.~*
@echo 以上为当前目录及子目录临时文件,请按任意键确认删除!
@pause
@for /r . %%a in (.) do @if exist "%%a\*.~*" del "%%a\*.~*"
@echo 删除成功!
@pause
Rem ************************* ......

Delphi中的容器类

 Delphi中的容器类
作者 陈省
 
从Delphi 5开始VCL中增加了一个新的Contnrs单元,单元中定义了8个新的类,全部都是基于标准的TList 类。 
TList 类
TList 类实际上就是一个可以存储指针的容器类,提供了一系列的方法和属性来添加,删除,重排,定位,存取和排序容器中的类,它是基于数组的机制来实现 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号