⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pfm_main.pas

📁 < Delphi网络通信协议分析与应用实现>>一书的源代码。
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit pfm_main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons,my_fun, Db, DBTables;

type
  Tmain = class(TForm)
    Memo1: TMemo;
    GroupBox1: TGroupBox;
    BBtnClient: TBitBtn;
    BBtnServer: TBitBtn;
    BBtnSvrfile: TBitBtn;
    BBtnCltfile: TBitBtn;
    Table1: TTable;
    BBtnSvrfile2: TBitBtn;
    BBtnCltfile2: TBitBtn;
    Memo2: TMemo;
    procedure BBtnClientClick(Sender: TObject);
    procedure BBtnServerClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BBtnSvrfileClick(Sender: TObject);
    procedure BBtnCltfileClick(Sender: TObject);
    procedure BBtnCltfile2Click(Sender: TObject);
    procedure BBtnSvrfile2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  main: Tmain;

implementation

uses fm_mainsev, fm_mainclt;

{$R *.DFM}

procedure Tmain.BBtnClientClick(Sender: TObject);
begin
  Application.CreateForm(Tfm_mainclt1, fm_mainclt1);
  fm_mainclt1.showmodal;
  fm_mainclt1.free;
end;

procedure Tmain.BBtnServerClick(Sender: TObject);
begin
  Application.CreateForm(Tfm_mainsev1, fm_mainsev1);
  fm_mainsev1.showmodal;
  fm_mainsev1.free;
end;

procedure Tmain.FormCreate(Sender: TObject);
var
exedir,tmpstr:string;
pos1:integer;
begin
    exedir:='';
    tmpstr:=application.ExeName;
    pos1:=pos('\',tmpstr);
    while pos1>0 do
    begin
         if exedir<>'' then
         begin
            exedir:=exedir+'\'+copy(tmpstr,1,pos1-1);
         end
         else
         begin
             exedir:=copy(tmpstr,1,pos1-1);
         end;
         tmpstr:=copy(tmpstr,pos1+1,length(tmpstr)-pos1);
         pos1:=pos('\',tmpstr);
    end;
    setcurrentdir(exedir);
    if initread2('设置','服务器','0')='1' then
    begin
        BBtnClient.Visible:=false;
        BBtnCltfile.Visible:=false;
        BBtnCltfile2.Visible:=false;
        myserverset.mServername:=initread2('服务器MODEM设置','服务器名称','MODEM文件传输服务器V1.0');
        myserverset.mCommName:=initread2('服务器MODEM设置','串口','COM3');
        myserverset.mSevDatapath:=initread2('服务器MODEM设置','总部数据路径','');
    end
    else
    begin
        BBtnServer.Visible:=false;
        BBtnSvrfile.Visible:=false;
        BBtnSvrfile2.Visible:=false;
        myClientset.mClientName:=initread2('客户端MODEM设置','分店简称','');;
        myClientset.mClientFdid:=initread2('客户端MODEM设置','分店标识','');;
        myclientset.mCommName:=initread2('客户端MODEM设置','串口','COM3');
        myclientset.mDialnum:=initread2('客户端MODEM设置','电话','802');
        myClientset.mCltDatapath:=initread2('客户端MODEM设置','数据路径','');
    end;
end;

procedure Tmain.BBtnSvrfileClick(Sender: TObject);
var
filelist1:tstringlist;
i:integer;
begin
    if not fileexists(myserverset.mSevDatapath+'ini\admin.ini') then
    begin
        showmessage('总部程序的数据路径设置不对,请重新设置');
        exit;
    end;

    //查找下载文件
    table1.TableName:='rztrans\getfile.db';
    table1.Active:=true;
    //分店提货单
    filelist1:=mySearchfile(myserverset.mSevDatapath+'comdata\retfddata\retfdthd-*-*.db');
    if filelist1.Count=0 then
    begin
        memo1.lines.add('总部程序的数据目录中没有返回给分店【确认提货单】');
    end;
    for i:=0 to filelist1.count-1 do
    begin
        if not table1.Locate('fname',filelist1.Strings[0],[]) then
        begin//如果该文件已经被下载了,就不考了
            if copyfile(pchar(myserverset.mSevDatapath+'comdata\retfddata\'+filelist1.Strings[i]),
                pchar('sendfile\'+filelist1.Strings[i]),false) then
            begin
                deletefile(myserverset.mSevDatapath+'comdata\retfddata\'+filelist1.Strings[i]);
                memo1.lines.add('【分店确认提货单】文件'+filelist1.Strings[i]+'考到发送目录');
            end;
        end;
    end;
    //分店退仓单
    filelist1:=mySearchfile(myserverset.mSevDatapath+'comdata\retfddata\retfdtcd-*-*.db');
    if filelist1.Count=0 then
    begin
        memo1.lines.add('总部程序的数据目录中没有返回给分店的【退仓单】');
    end;
    for i:=0 to filelist1.count-1 do
    begin
        if not table1.Locate('fname',filelist1.Strings[0],[]) then
        begin//如果该文件已经被下载了,就不考了
            if copyfile(pchar(myserverset.mSevDatapath+'comdata\retfddata\'+filelist1.Strings[i]),
                pchar('sendfile\'+filelist1.Strings[i]),false) then
            begin
                deletefile(myserverset.mSevDatapath+'comdata\retfddata\'+filelist1.Strings[i]);
                memo1.lines.add('【分店退仓单】文件'+filelist1.Strings[i]+'考到发送目录');
            end;
        end;
    end;
    //分店员工信息
    filelist1:=mySearchfile(myserverset.mSevDatapath+'comdata\tofd\fdygxx-*-*.db');
    if filelist1.Count=0 then
    begin
        memo1.lines.add('总部程序的数据目录中没有返回给分店的【员工信息表】');
    end;
    for i:=0 to filelist1.count-1 do
    begin
        if not table1.Locate('fname',filelist1.Strings[0],[]) then
        begin//如果该文件已经被下载了,就不考了
            if copyfile(pchar(myserverset.mSevDatapath+'comdata\tofd\'+filelist1.Strings[i]),
                pchar('sendfile\'+filelist1.Strings[i]),false) then
            begin
                deletefile(myserverset.mSevDatapath+'comdata\tofd\'+filelist1.Strings[i]);
                memo1.lines.add('【分店员工信息表】文件'+filelist1.Strings[i]+'考到发送目录');
            end;
        end;
    end;
    //分店商品信息

    filelist1:=mySearchfile(myserverset.mSevDatapath+'comdata\tofd\spmx-*-*.db');
    if filelist1.Count=0 then
    begin
        memo1.lines.add('总部程序的数据目录中没有返回给分店的【商品信息表】');
    end;
    for i:=0 to filelist1.count-1 do
    begin
        if not table1.Locate('fname',filelist1.Strings[0],[]) then
        begin//如果该文件已经被下载了,就不考了
            if copyfile(pchar(myserverset.mSevDatapath+'comdata\tofd\'+filelist1.Strings[i]),
                pchar('sendfile\'+filelist1.Strings[i]),false) then
            begin
                deletefile(myserverset.mSevDatapath+'comdata\tofd\'+filelist1.Strings[i]);
                memo1.lines.add('【商品信息表】文件'+filelist1.Strings[i]+'考到发送目录');
            end;
        end;
    end;
    //部分商品信息
    filelist1:=mySearchfile(myserverset.mSevDatapath+'comdata\tofd\udspmx-*-*.db');
    if filelist1.Count=0 then
    begin
        memo1.lines.add('总部程序的数据目录中没有返回给分店的【部分商品信息表】');
    end;
    for i:=0 to filelist1.count-1 do
    begin
        if not table1.Locate('fname',filelist1.Strings[0],[]) then
        begin//如果该文件已经被下载了,就不考了
            if copyfile(pchar(myserverset.mSevDatapath+'comdata\tofd\'+filelist1.Strings[i]),
                pchar('sendfile\'+filelist1.Strings[i]),false) then
            begin
                deletefile(myserverset.mSevDatapath+'comdata\tofd\'+filelist1.Strings[i]);
                memo1.lines.add('【部分商品信息表】文件'+filelist1.Strings[i]+'考到发送目录');
            end;
        end;
    end;
    table1.Active:=false;

end;

procedure Tmain.BBtnCltfileClick(Sender: TObject);
var
filelist1:tstringlist;
i:integer;
begin
    //查找上传文件
    if not fileexists(myclientset.mcltDatapath+'ini\frontadmin.ini') then
    begin
        showmessage('分店控制程序的数据路径设置不对,请重新设置');
        exit;
    end;

    table1.TableName:='rztrans\upfile.db';

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -