📄 menu.pas
字号:
open;
first;
while not eof do
begin
delete;
end;
end;
j:=0;
assignfile(mytextfile,filename);
reset(mytextfile);
readln(mytextfile,linestr);
//dm_sjbf.sql1:=tquery.create(mainform);
//dm_sjbf.sql1.Databasename:='gyxgdb';
//dm_sjbf.sql1.Sql.Clear ;
//dm_sjbf.sql1.sql.Add('select * from temp');
//dm_sjbf.sql1.RequestLive:=true;
sql1.close;
sql1.open;
sql1.first;
while not sql1.Eof do
begin
sql1.Delete ;
end;
while not eoln(mytextfile) do
begin
readln(mytextfile,linestr);
//linestr:=decrypt(linestr);
if linestr='point' then
break;
sql1.append;
sql1.edit;
j:= pos('|',linestr);
sql1.fieldbyname('pdate').asdatetime:=strtodate(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
sql1.fieldbyname('ptime').asdatetime:=strtotime(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
sql1.fieldbyname('pencode').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
sql1.fieldbyname('node').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
sql1.fieldbyname('workercode').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
sql1.fieldbyname('pstatu').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
sql1.fieldbyname('nodename').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
sql1.fieldbyname('nodeplace').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
sql1.fieldbyname('workername').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
sql1.fieldbyname('linename').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
sql1.fieldbyname('lseq').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
sql1.post;
progressbar2.Position := progressbar2.Position +1;
end;
//showmessage(inttostr(qq));
while not eoln(mytextfile) do
begin // 巡更点信息
readln(mytextfile,linestr);
//linestr:=decrypt(linestr);
if linestr='worker' then
break;
dm_sjbf.q_point.append;
dm_sjbf.q_point.edit;
j:= pos('|',linestr);
//dm_sjbf.q_point.paramByName('node').asstring:=trim(copy(linestr,1,j-1));
dm_sjbf.q_point.fieldbyname('node').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
//dm_sjbf.q_point.paramByName('linename').asstring:=trim(copy(linestr,1,j-1));
dm_sjbf.q_point.fieldbyname('linename').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
//dm_sjbf.q_point.paramByName('name').asstring:=trim(copy(linestr,1,j-1));
dm_sjbf.q_point.fieldbyname('name').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
//dm_sjbf.q_point.paramByName('lseq').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
dm_sjbf.q_point.fieldbyname('lseq').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
//dm_sjbf.q_point.paramByName('ntime').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
dm_sjbf.q_point.fieldbyname('ntime').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
//dm_sjbf.q_point.paramByName('nodeplace').asstring:=trim(copy(linestr,1,j-1));
dm_sjbf.q_point.fieldbyname('nodeplace').asstring:=trim(copy(linestr,1,j-1));
dm_sjbf.q_point.post;
progressbar2.Position:=progressbar2.Position +1;
end;
while not eoln(mytextfile) do
begin // 巡更员信息
readln(mytextfile,linestr);
//linestr:=decrypt(linestr);
if linestr='shiftrule' then
break;
dm_sjbf.q_worker.append;
dm_sjbf.q_worker.Edit;
j:= pos('|',linestr);
dm_sjbf.q_worker.fieldbyname('code').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_worker.fieldbyname('name').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_worker.fieldbyname('birthday').asdatetime:=strtodate(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_worker.fieldbyname('sex').asstring:=(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_worker.fieldbyname('address').asstring:=(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_worker.fieldbyname('phone').asstring:=(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_worker.fieldbyname('pager').asstring:=(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_worker.fieldbyname('number').asstring:=(trim(copy(linestr,1,j-1)));
dm_sjbf.q_worker.post;
progressbar2.Position := progressbar2.Position +1;
end;
while not eoln(mytextfile) do
begin // 巡更班次信息
readln(mytextfile,linestr);
//linestr:=decrypt(linestr);
if linestr='fpxl' then
break;
dm_sjbf.q_shiftrule.Append ;
dm_sjbf.q_shiftrule.Edit ;
j:= pos('|',linestr);
dm_sjbf.q_shiftrule.fieldbyname('linename').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_shiftrule.fieldbyname('shifts').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_shiftrule.fieldbyname('firstp').asdatetime:=strtotime(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_shiftrule.fieldbyname('lastp').asdatetime:=strtotime(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_shiftrule.fieldbyname('chkcycl').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_shiftrule.fieldbyname('dgpcxx').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_shiftrule.fieldbyname('dgpcsx').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_shiftrule.fieldbyname('TIMES').asinteger:=strtoint(trim(copy(linestr,1,j-1)));
//SHOWMESSAGE(trim(copy(linestr,1,j-1)));
dm_sjbf.q_shiftrule.Post;
progressbar2.Position := progressbar2.Position +1;
end;
while not eoln(mytextfile) do
begin //线路分配信息
readln(mytextfile,linestr);
//linestr:=decrypt(linestr);
dm_sjbf.q_fpxl.Append ;
dm_sjbf.q_fpxl.edit;
j:= pos('|',linestr);
dm_sjbf.q_fpxl.fieldbyname('code').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_fpxl.fieldbyname('shift').asstring:=trim(copy(linestr,1,j-1));
delete(linestr,1,j);
j:= pos('|',linestr);
dm_sjbf.q_fpxl.fieldbyname('linename').asstring:=trim(copy(linestr,1,j-1));
//delete(linestr,1,j);
dm_sjbf.q_fpxl.Post;
progressbar2.Position := progressbar2.Position +1;
end;
//showmessage(inttostr(progressbar2.Position)+'#2');
//dm_sjbf.Database1.StartTransaction ;
//try
//dm_sjbf.q_xjxx.ApplyUpdates;
dm_sjbf.q_point.ApplyUpdates;
dm_sjbf.q_worker.ApplyUpdates;
dm_sjbf.q_shiftrule.ApplyUpdates;
dm_sjbf.q_fpxl.ApplyUpdates;
dm_sjbf.Database1.Commit ;
//if count>1 then
//dm_sjbf.Database2.Commit ;
except
closefile(mytextfile);
panel1.Visible:=false;
dm_sjbf.Database1.Rollback ;
//showmessage(inttostr(qq));
Application.MessageBox('資料恢復有誤,可能是選擇的文件不符或打開文件有誤!','消息',MB_ICONINFORMATION);
exit;
end;
dm_sjbf.q_worker.CommitUpdates ;
dm_sjbf.q_point.CommitUpdates ;
dm_sjbf.q_shiftrule.CommitUpdates;
dm_sjbf.q_fpxl.CommitUpdates;
try
with q_xjxx do
begin
close;
open;
first;
while not eof do
begin
delete;
end;
end;
sql1.Close;
sql1.open;
sql1.first;
while not sql1.Eof do
begin
//with dm_sjbf.q_xjxx do
with q_xjxx do
begin
append;
edit;
fieldbyname('pdate').asdatetime:=sql1.fieldbyname('pdate').asdatetime;
fieldbyname('ptime').asdatetime:=sql1.fieldbyname('ptime').asdatetime;
fieldbyname('pencode').asstring:=sql1.fieldbyname('pencode').asstring;
fieldbyname('node').asstring:=sql1.fieldbyname('node').asstring;
fieldbyname('workercode').asstring:=sql1.fieldbyname('workercode').asstring;
fieldbyname('nodename').asstring:=sql1.fieldbyname('nodename').asstring;
fieldbyname('nodeplace').asstring:= sql1.fieldbyname('nodeplace').asstring;
fieldbyname('workername').asstring:=sql1.fieldbyname('workername').asstring;
fieldbyname('linename').asstring:=sql1.fieldbyname('linename').asstring;
fieldbyname('lseq').asinteger:=sql1.fieldbyname('lseq').asinteger;
fieldbyname('pstatu').asstring:=sql1.fieldbyname('pstatu').asstring;
post;
progressbar2.Position:=progressbar2.Position +1;
end;
sql1.Next;
end;
except
closefile(mytextfile);
panel1.Visible:=false;
Application.MessageBox('資料庫文件已經損壞!請重新安裝該軟體!','消息',MB_ICONINFORMATION);
exit;
end;
//showmessage(inttostr(progressbar2.Position)+'#2');
closefile(mytextfile);
panel1.Visible :=false;
Application.MessageBox('資料恢復成功!','消息',MB_ICONINFORMATION);
end;//0.1
panel1.Visible:=false;
end;
procedure Tmainform.xtAction11Execute(Sender: TObject);
begin
Close;
end;
procedure Tmainform.sjAction7Execute(Sender: TObject);
var child:tsetcommform;
begin
settestform:=tsettestform.Create(self);
settestform.ShowModal;
settestform.free;
end;
procedure Tmainform.sjAction8Execute(Sender: TObject);
var
child:ttestpenform;
begin
testpenform:=ttestpenform.Create(self);
testpenform.ShowModal;
testpenform.free;
end;
procedure Tmainform.sjAction9Execute(Sender: TObject);
begin
receform:=trecEform.create(self);
receform.showmodal;
receform.free;
end;
procedure Tmainform.xxAction7Execute(Sender: TObject);
begin
if not Assigned(sjysxx) then
sjysxx:=tsjysxx.Create(self);
ShowWindow(sjysxx.Handle,SW_MAXIMIZE);
end;
procedure Tmainform.xxAction8Execute(Sender: TObject);
begin
choose_day:=tchoose_day.Create(self);
choose_day.ShowModal ;
choose_day.Free;
end;
procedure Tmainform.xxAction9Execute(Sender: TObject);
var
s:string;
v1,v2:string;
i:integer;
dbDes: DBDesc;
child:tlsxx_form;
begin
lssjlldlgform:=tlssjlldlgform.create(self);
if lssjlldlgform.showmodal=mrok then
BEGIN
Check(DbiInit(NiL));
Check(DbiGetDatabaseDesc('GYXGDB', @dbDes));
//v2:=inttostr(lssjlldlgform.edit1.value);
v2:=lssjlldlgform.edit1.Text ;
v1:=dbdes.szphyname+'\bf'+v2+'.db';
END
else
begin
lssjlldlgform.free;
exit;
end;
lssjlldlgform.free;
if not fileexists(v1) then
begin
Application.MessageBox('無該年報表!','消息',MB_ICONINFORMATION);
exit;
end
else
begin
with DataModule1.q_view do
begin
s:='select * '+'from'+' '+'bf'+v2;
//showmessage(s) ;
close;
sql.Clear ;
sql.add(s);
open;
end;
if DataModule1.q_view.RecordCount=0 then
begin
Application.MessageBox('該年報表無數據!','消息',MB_ICONINFORMATION);
exit;
end
else
begin
label1.Visible:=true;
label1.Caption:=v2+'年歷史資料';
//child:=tlsxx_form.create(application);
//child.show;
lsxx_form:=tlsxx_form.Create(self);
lsxx_form.showmodal;
lsxx_form.free;
end;
end;
end;
procedure Tmainform.acthelpExecute(Sender: TObject);
var
helpname:string;
begin
helpname:=ExtractFiledir(APPLICATION.EXENAME)+'\'+ExtractFilename(APPLICATION.EXENAME);//+'\hdxgxt.ini';
if not fileexists(helpname) then
helpname:=ExtractFileDir(APPLICATION.EXENAME)+'xxcl.hlp'
else helpname:=extractfiledir(application.exename)+'\xxcl.hlp';
Application.HelpFile :=helpname;//ExtractFileDir(Application.ExeName)+'\xxcl.hlp';
Application.HelpCommand(HELP_CONTENTS, 1);
// Application.HelpCommand(HELP_CONTExt, 0);
end;
procedure Tmainform.aboutExecute(Sender: TObject);
var child:Taboutform;
begin
aboutform:=taboutform.Create(self);
aboutform.ShowModal;
aboutform.free;
end;
procedure Tmainform.dxBarButton1Click(Sender: TObject);
begin
dxNavBar1.View :=1 ;
end;
procedure Tmainform.dxBarButton2Click(Sender: TObject);
begin
dxNavBar1.Groups[dxNavBar1.ActiveGroupIndex].Expanded :=true ;
if dxNavBar1.ActiveGroupIndex <> 0 then
dxNavBar1.Groups[0].Expanded :=false ;
if dxNavBar1.ActiveGroupIndex <> 1 then
dxNavBar1.Groups[1].Expanded :=false ;
if dxNavBar1.ActiveGroupIndex <> 2 then
dxNavBar1.Groups[2].Expanded :=false ;
if dxNavBar1.ActiveGroupIndex <> 3 then
dxNavBar1.Groups[3].Expanded :=false ;
dxNavBar1.View :=10 ;
end;
procedure Tmainform.dxBarButton3Click(Sender: TObject);
begin
dxNavBar1.Groups[dxNavBar1.ActiveGroupIndex].Expanded :=true ;
if dxNavBar1.ActiveGroupIndex <> 0 then
dxNavBar1.Groups[0].Expanded :=false ;
if dxNavBar1.ActiveGroupIndex <> 1 then
dxNavBar1.Groups[1].Expanded :=false ;
if dxNavBar1.ActiveGroupIndex <> 2 then
dxNavBar1.Groups[2].Expanded :=false ;
if dxNavBar1.ActiveGroupIndex <> 3 then
dxNavBar1.Groups[3].Expanded :=false ;
dxNavBar1.View :=11 ;
end;
procedure Tmainform.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Application.MessageBox('確定要退出系統嗎?','提示資訊',MB_ICONINFORMATION+MB_OKCANCEL) = IDCANCEL then
CanClose :=false ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -