sjjsfrm.pas
来自「本人编写的有关军队营房工作的管理系统」· PAS 代码 · 共 451 行 · 第 1/3 页
PAS
451 行
unit sjjsfrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, backup, StdCtrls, db, Gauges, Buttons, ExtCtrls;
type
Tsjjs = class(TForm)
Panel2: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Panel1: TPanel;
Label2: TLabel;
Gauge1: TGauge;
Label3: TLabel;
SpeedButton4: TSpeedButton;
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
BackupFile1: TBackupFile;
OpenDialog1: TOpenDialog;
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure BackupFile1NeedDisk(Sender: TObject; DiskID: Word;
var Continue: Boolean);
procedure BackupFile1Progress(Sender: TObject; Filename: String;
Percent: TPercentage; var Continue: Boolean);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
sjjs: Tsjjs;
implementation
uses datafrm,mainfrm;
{$R *.dfm}
procedure Tsjjs.SpeedButton2Click(Sender: TObject);
begin
close;
end;
procedure Tsjjs.SpeedButton4Click(Sender: TObject);
begin
sjjs.OpenDialog1.InitialDir:=extractfilepath(application.ExeName)+'sb';
sjjs.OpenDialog1.Execute;
if fileexists(sjjs.OpenDialog1.FileName) then
sjjs.Edit1.Text:=sjjs.OpenDialog1.FileName
else
messagebox(sjjs.handle,'请选择正确的上报数据文件。','营房工作管理系统',16);
end;
procedure Tsjjs.BackupFile1NeedDisk(Sender: TObject; DiskID: Word;
var Continue: Boolean);
begin
Continue := MessageDlg('请插入下一张磁盘' +inttostr(DiskID)+'后并按下OK键以继续',mtInformation, mbOKCancel, 0) = mrOK;
end;
procedure Tsjjs.BackupFile1Progress(Sender: TObject; Filename: String;
Percent: TPercentage; var Continue: Boolean);
begin
sjjs.Label2.caption:= extractfilename(filename);
sjjs.Gauge1.Progress:= percent;
if sjjs.SpeedButton2.down then Continue := false;
end;
procedure Tsjjs.SpeedButton1Click(Sender: TObject);
var
i,j,s:longint;
begin
if sjjs.Edit1.Text<>'' then
begin
if fileexists(sjjs.Edit1.Text) then
begin
sjjs.SpeedButton1.Enabled:=false;
sjjs.SpeedButton2.Enabled:=false;
main.Timer1.Enabled:=false;
yfgldata.Free;
if sjjs.BackupFile1.Restore(sjjs.Edit1.Text,extractfilepath(application.ExeName)+'data0\') then
messagebox(sjjs.handle,pansichar('数据解压完毕,共有'+inttostr(sjjs.BackupFile1.FilesTotal)+'个文件,'+inttostr(sjjs.BackupFile1.SizeTotal)+'字节。'),'营房工作管理系统',mb_iconexclamation)
else
messagebox(sjjs.handle,'解压过程有误。','营房工作管理系统',16);
application.CreateForm(tyfgldata,yfgldata);
main.Timer1.Enabled:=true;
sjjs.Label2.Caption:='正在进行数据检查...';
s:=0;
s:=s+yfgldata.dwqk1.RecordCount;
s:=s+yfgldata.yfzl1.RecordCount;
s:=s+yfgldata.guolu1.RecordCount;
s:=s+yfgldata.gx1.RecordCount;
s:=s+yfgldata.xjyf1.RecordCount;
s:=s+yfgldata.yfda1.RecordCount;
s:=s+yfgldata.yffd1.RecordCount;
s:=s+yfgldata.yfsb1.RecordCount;
s:=s+yfgldata.yfwz1.RecordCount;
s:=s+yfgldata.dt1.RecordCount;
j:=0;
if s=0 then
messagebox(sjjs.handle,'无上报记录或上报数据文件有误。','营房工作管理系统',16)
else
begin
yfgldata.dwqk1.First;
for i:=1 to yfgldata.dwqk1.RecordCount do
begin
if yfgldata.dwqk.Locate('单位代码',yfgldata.dwqk1.fieldbyname('单位代码').AsString,[loCaseInsensitive]) then
begin
messagebox(sjjs.handle,'单位代码发生重复,接收过程将被终止。','营房工作管理系统',16);
close;
exit;
end;
yfgldata.dwqk1.Next;
end;
yfgldata.yfzl1.First;
for i:=1 to yfgldata.yfzl1.RecordCount do
begin
if yfgldata.yfzl.Locate('坐落号',yfgldata.yfzl1.fieldbyname('坐落号').AsString,[loCaseInsensitive]) then
begin
messagebox(sjjs.handle,'坐落号发生重复,接收过程将被终止。','营房工作管理系统',16);
close;
exit;
end;
yfgldata.yfzl1.Next;
end;
sjjs.Label2.Caption:='正在进行数据接收...';
yfgldata.dwqk1.First;
for i:=1 to yfgldata.dwqk1.RecordCount do
begin
yfgldata.dwqk.Append;
yfgldata.dwqk.FieldByName('单位代码').AsString:=yfgldata.dwqk1.FieldByName('单位代码').AsString;
yfgldata.dwqk.FieldByName('单位名称').AsString:=yfgldata.dwqk1.FieldByName('单位名称').AsString;
yfgldata.dwqk.FieldByName('地区代码').AsString:=yfgldata.dwqk1.FieldByName('地区代码').AsString;
yfgldata.dwqk.FieldByName('单位地址').AsString:=yfgldata.dwqk1.FieldByName('单位地址').AsString;
yfgldata.dwqk.FieldByName('单位性质').AsString:=yfgldata.dwqk1.FieldByName('单位性质').AsString;
yfgldata.dwqk.FieldByName('供应关系').AsString:=yfgldata.dwqk1.FieldByName('供应关系').AsString;
yfgldata.dwqk.FieldByName('隶属关系').AsString:=yfgldata.dwqk1.FieldByName('隶属关系').AsString;
yfgldata.dwqk.FieldByName('联勤关系').AsString:=yfgldata.dwqk1.FieldByName('联勤关系').AsString;
yfgldata.dwqk.FieldByName('部队类别').AsString:=yfgldata.dwqk1.FieldByName('部队类别').AsString;
yfgldata.dwqk.FieldByName('单位级别').AsString:=yfgldata.dwqk1.FieldByName('单位级别').AsString;
yfgldata.dwqk.FieldByName('单位用房').AsInteger:=yfgldata.dwqk1.FieldByName('单位用房').AsInteger;
yfgldata.dwqk.FieldByName('公寓房').AsInteger:=yfgldata.dwqk1.FieldByName('公寓房').AsInteger;
yfgldata.dwqk.FieldByName('变更依据').AsString:=yfgldata.dwqk1.FieldByName('变更依据').AsString;
yfgldata.dwqk.FieldByName('部队代号').AsString:=yfgldata.dwqk1.FieldByName('部队代号').AsString;
yfgldata.dwqk.FieldByName('上级单位代码').AsString:=yfgldata.dwqk1.FieldByName('上级单位代码').AsString;
yfgldata.dwqk.FieldByName('邮编').AsString:=yfgldata.dwqk1.FieldByName('邮编').AsString;
yfgldata.dwqk.FieldByName('基地面积').AsInteger:=yfgldata.dwqk1.FieldByName('基地面积').AsInteger;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?