| Class TSynchForm (unit SynchDlg) |
TForm
| Constructors |
| Functions |
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Connecting(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ClientSocket1Lookup(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure ConnectButClick(Sender: TObject);
procedure DisconButClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ListenButClick(Sender: TObject);
procedure MinTrayButClick(Sender: TObject);
procedure RestoreServerClick(Sender: TObject);
procedure SendButClick(Sender: TObject);
procedure ServerSocket1Accept(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1Listen(Sender: TObject;
Socket: TCustomWinSocket);
procedure Shutdown1Click(Sender: TObject);
procedure ShutdownButClick(Sender: TObject);
procedure SynchButClick(Sender: TObject);
function AdlerFields(Table: TTable): integer;
procedure BeginSynch;
procedure Check_Missing_Records;
procedure ClientButs;
procedure ClientStat(const s: string);
procedure Command_PostRecord;
procedure Command_SendRecord;
procedure Command_SynchAll;
procedure Command_SynchTable;
procedure Command_TableNames;
procedure Do_Manual_Synchronization;
function FindTable(TableName: string): TTable;
function FindTablePK(Table: TTable; pks: string): boolean;
procedure Get_User_Choice(InRemote: boolean);
procedure OnClientMsg(const s: string);
procedure OnServerMsg(const s: string);
procedure OnSynchTableMsg(const s: string);
procedure Process_Record_Request(InLocal, InRemote: boolean);
procedure Record_to_StringList(Table: TTable; pk: string; sl: TStringList);
procedure Send_Record_Request(const TableName: string; pk: string);
procedure ServerButs;
procedure ServerStat(const s: string);
procedure Use_Local_Values;
procedure Use_Remote_Values;| Properties |
| Events |
| Variables |
ClientList : TListBox;
ClientPanel : TPanel;
ClientSocket1 : TClientSocket;
ConnectBut : TButton;
DataSynchronizationServer1 : TMenuItem;
DisconBut : TButton;
FormSettings1 : TFormSettings;
Label1 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
ListenBut : TButton;
MinTrayBut : TButton;
N1 : TMenuItem;
PageControl1 : TPageControl;
RemoteAddressEdit : TEdit;
RemotePortEdit : TEdit;
SendBut : TButton;
SendEdit : TEdit;
ServerPanel : TPanel;
ServerPortEdit : TEdit;
ServerSocket1 : TServerSocket;
Shutdown1 : TMenuItem;
ShutdownBut : TButton;
SvrList : TListBox;
SynchBut : TButton;
TableSet : TTableSetHelper;
TabSheet1 : TTabSheet;
TabSheet2 : TTabSheet;
TrayIcon1 : TTrayIcon;
TrayPopup : TPopupMenu;
ClientBuf : array[0..8192] of char;
ClientCom : TStringList;
ClientTab : TTable;
ClientTabName : string;
ClntChoice : TUserChoice;
CompForm : TCompRecordForm;
Con : TCustomWinSocket;
CurCom : TStringList;
NumClient : integer;
NumServer : integer;
PKList : TStringList;
ServerBuf : array[0..8192] of char;
SRecList : TSynchRecList;| Constructors |
| Functions |
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Connecting(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ClientSocket1Lookup(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);ErrorCode := 0;
procedure ConnectButClick(Sender: TObject);******************************************************************** TSynchForm - Client
procedure DisconButClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormCreate(Sender: TObject);******************************************************************** TSynchForm
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ListenButClick(Sender: TObject);
procedure MinTrayButClick(Sender: TObject);******************************************************************** TSynchForm - Server
procedure RestoreServerClick(Sender: TObject);
procedure SendButClick(Sender: TObject);
procedure ServerSocket1Accept(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1Listen(Sender: TObject;
Socket: TCustomWinSocket);
procedure Shutdown1Click(Sender: TObject);
procedure ShutdownButClick(Sender: TObject);
procedure SynchButClick(Sender: TObject);
function AdlerFields(Table: TTable): integer;General
procedure BeginSynch;
procedure Check_Missing_Records;Process_Record_Request(True);
procedure ClientButs;
procedure ClientStat(const s: string);
procedure Command_PostRecord;pk
procedure Command_SendRecord;
procedure Command_SynchAll;
procedure Command_SynchTable;
procedure Command_TableNames;
procedure Do_Manual_Synchronization;
function FindTable(TableName: string): TTable;******************************************************************** General Helper functions
function FindTablePK(Table: TTable; pks: string): boolean;
procedure Get_User_Choice(InRemote: boolean);******************************************************************** TSynchForm - Client - Manual Synchronization Functions
procedure OnClientMsg(const s: string);******************************************************************** TSynchForm - Client - "Message Loop"
procedure OnServerMsg(const s: string);******************************************************************** TSynchForm - Server - "Message Loop"
procedure OnSynchTableMsg(const s: string);Process all records that are in the Local Table but NOT Remote
procedure Process_Record_Request(InLocal, InRemote: boolean);PK
procedure Record_to_StringList(Table: TTable; pk: string; sl: TStringList);
procedure Send_Record_Request(const TableName: string; pk: string);ClientStat(Format('%-20s %s', ['Record Match', s]));
procedure ServerButs;
procedure ServerStat(const s: string);
procedure Use_Local_Values;Process the User's choice
procedure Use_Remote_Values;pk
| Properties |
| Events |
| Variables |
ClientList : TListBox;
ClientPanel : TPanel;
ClientSocket1 : TClientSocket;
ConnectBut : TButton;
DataSynchronizationServer1 : TMenuItem;
DisconBut : TButton;
FormSettings1 : TFormSettings;
Label1 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
ListenBut : TButton;
MinTrayBut : TButton;
N1 : TMenuItem;
PageControl1 : TPageControl;
RemoteAddressEdit : TEdit;
RemotePortEdit : TEdit;
SendBut : TButton;
SendEdit : TEdit;
ServerPanel : TPanel;
ServerPortEdit : TEdit;
ServerSocket1 : TServerSocket;
Shutdown1 : TMenuItem;
ShutdownBut : TButton;
SvrList : TListBox;
SynchBut : TButton;
TableSet : TTableSetHelper;
TabSheet1 : TTabSheet;
TabSheet2 : TTabSheet;
TrayIcon1 : TTrayIcon;
TrayPopup : TPopupMenu;
ClientBuf : array[0..8192] of char;
ClientCom : TStringList;
ClientTab : TTable;
ClientTabName : string;
ClntChoice : TUserChoice;
CompForm : TCompRecordForm;
Con : TCustomWinSocket;
CurCom : TStringList;current Connection to client
NumClient : integer;Client
NumServer : integer;Server
PKList : TStringList;
ServerBuf : array[0..8192] of char;
SRecList : TSynchRecList;