?? 復(fù)件 global.pas
字號:
//=========================================================
// Global.pas
// 共享模塊,保存字符串資源和共享常量、變量、函數(shù)及過程
//=========================================================
unit Global;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,comobj,ComCtrls, StdCtrls, DB,DBGrids, ADODB,Gauges;
Resourcestring
//===========================================================
// application information
//===========================================================
SAppName ='文具管理系統(tǒng)';
SAPPVersion ='V1.0.3 build 1215';
//SAppFirstVersion ='V1.0.0 build 1103';
SAppAuthor ='羅祖術(shù)';
SAppUse ='鶴山欣豐毛織制衣有限公司';
//SAppUser ='鄧卓明';
//===========================================================
// DataBase Information
//===========================================================
SConnectString ='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
+'Jet OLEDB:Database Password=%s;';
SDefDataBaseName ='Stationery.Lzs';
SDefDataBasePwd ='軟件作者:羅祖術(shù)'; //使用中文密碼
//============================================================
// Database TableName and FieldName
//============================================================
STLogin ='登錄';
SFPwd ='密碼';
STDataChange ='修改數(shù)據(jù)'; //保存修改數(shù)據(jù)的密碼,該密碼經(jīng)加密處理
STChgData ='修改數(shù)據(jù)';
STDept ='部門';
SFDept ='部門';
STSkin ='皮膚';
SFSkin ='皮膚';
STMonthStock ='每月倉存';
SFName ='姓名';
STCompanyName ='公司名稱';
SFCompanyName ='公司名稱';
STDepotStock ='倉庫存貨';
SFAutoNumber ='編號';
SFStockDate ='進(jìn)貨日期';
SFOutStockDate ='出倉日期';
SFAmount ='數(shù)量';
SFUnit ='單位';
SFGuiGe ='規(guī)格';
SFPrice ='單價';
SFMemo ='備注';
STGoodsStock ='貨物進(jìn)倉';
STGoodsOutput ='物品出倉';
STGoodsName ='物品名稱';
SFGoodsNumber ='物品編號';
SFGoodsName ='物品名稱';
//============================================================
// Message Information
//============================================================
SErrorTitle ='錯誤提示';
SHintTitle ='提示信息';
SConfirmTitle ='信息確認(rèn)';
SMsgNotFindDatabase ='沒有找到數(shù)據(jù)庫文件: %s';
SMsgCompanyNameWriteOK ='公司名稱設(shè)置成功,謝謝使用!';
SMsgDataWriteError ='數(shù)據(jù)存儲出錯!';
SMsgOrgPwdError ='原密碼輸入出錯!';
SMsgReComfirmError ='兩次輸入的密碼不相同!';
SMsgHintPwdModify ='數(shù)據(jù)修改密碼己被人惡意清除,程序?qū)⒕芙^運行!';
SMsgNewPwdSetupOK ='新密碼設(shè)置成功,請牢記您所設(shè)置的新密碼!';
SMsgAlikePwdError ='請勿與登錄密碼使用相同的密碼';
SMsgChgOrgPwd ='數(shù)據(jù)修改密碼的初始密碼為:%s,為了數(shù)據(jù)安全,請注意將其更改!';
SMsgDataExist ='此項數(shù)據(jù)己存在,請勿重復(fù)!';
SMsgConfirmDelete ='數(shù)據(jù)被刪除后是無法恢復(fù)的,您確定要刪除嗎?';
SMsgDataSaveOk ='數(shù)據(jù)成功存入!';
SMsgAlreadyStock =' 倉庫己有存貨。存貨數(shù)量有:%s。請核對'+#13#10
+'其它項目是否相同,如確認(rèn)無誤,請直接輸入數(shù)量,'+#13#10
+'己增加其中數(shù)目。';
SMsgNoStock ='此物品倉庫內(nèi)尚無存貨!';
SMsgExitRun =' 您己經(jīng)修改過基礎(chǔ)信息,為了防止程序'+#13#10
+'出現(xiàn)異常錯誤請重新啟動本程序!'+#13#10
+' 確定退出程序嗎?';
SMsgInfoHint ='信息提示!';
SMsgNoEnough ='嘿!您有那么多的存貨嗎?';
SMsgAllGetGoods ='“%s”物品全部領(lǐng)了,請注意進(jìn)貨喲!';
SMsgTimePwd ='您有 3 次輸入密碼的機會!';
SMsgErrorTimePwd ='您還有 %s 次輸入密碼的機會!';
SMsgDeleteIncName ='確定要刪除“公司名稱”嗎?';
SMsgDeleteDept ='確定要刪除“部門設(shè)置”嗎?';
SMsgDeleteGoods ='確定要刪除“物品設(shè)置”嗎?';
SMsgDeletePwd ='確定要刪除“密碼”嗎?';
SMsgExitProgram =' 由于你刪除了基礎(chǔ)設(shè)置信息。為避'+#13#10+
'免程序出錯,請重新啟動本程序。';
SMsgDeletTable ='確定要“%s”數(shù)據(jù)表嗎?';
SMsgDataCompressOk ='數(shù)據(jù)庫壓縮成功!';
SMsgDataCompressError ='數(shù)據(jù)庫壓縮失敗!';
SMsgPreviewError ='數(shù)據(jù)打印預(yù)覽錯誤,請確認(rèn)你是否有需打印的數(shù)據(jù)?';
SAllowEdit ='可編輯狀態(tài)';
SNotAllowEdit ='不可編輯狀態(tài)';
SMsgExitEdit ='[ %d ]秒種后自動退出可編輯狀態(tài)!';
SMsgNoJcHint =' 上月[ %s ]未做結(jié)存統(tǒng)計!如果選擇"是",程序?qū)⒆詣?#039;+#13#10#13#10+
'對上月數(shù)據(jù)進(jìn)行結(jié)存!'+#13#10#13#10+
'您確定對上月數(shù)據(jù)進(jìn)行結(jié)存嗎?';
SMsgJCExists =' 數(shù)據(jù)庫中己存在[ %s ]的結(jié)存數(shù)據(jù),您是否將原有的結(jié)存'+#13#10#13#10+
'數(shù)據(jù)刪除!然后重新結(jié)存呢?'+#13#10#13#10+
' 如果您確定要重新結(jié)存[ %s ]請點擊“是”!確定嗎?';
SMsgWillDeleteRegcode ='將刪除軟件的原注冊信息,繼續(xù)嗎?';
SMsgDeleteRegcodeOk ='己經(jīng)成功的刪除了軟件注冊信息,請重新注冊!';
SMsgDeleteRegcodeError ='信息刪除出錯,請重新啟動軟件。';
//注冊碼己經(jīng)成功寫入數(shù)據(jù)庫,請重新啟動程序己驗證是否注冊成功!
SMsgRegCodeWriteOk ='WhwJBfBbEE5foMUAcZtyz7Lo7THO4KTPp3z/J4Mv8JML9O8FQOyWrQk209cQ/ZmekRGZM3exwMiZ/mjn';
STitleHint ='RdG5GstN56C'; //信息提示
SMsgRegCodeWriteError ='WhwJBfBbop3TMh/Is4d45KZsYLteCaetC5DYaB';
STitleError ='1M+i0jxUTwL'; //錯誤提示
sNotReg ='PFbdufXHnmL'; //未注冊版
sAlreadyReg ='9szdazFG6kK'; //己注冊版
//============================================================
// SQL Information
//============================================================
SSQLTY0 ='Select * from %s ';
SSQLTY1 ='Select * from %s order by %s';
SSQLTY2 ='Select * from %s order by autono';
SSQLStrTerm ='Select * from %s where %s="%s"';
SSQLStrNoShowOut ='Select * from AllInsurance where FEarlyOut=False order by autono';
SSQLStrTermInt ='Select * from %s where %s=%d';
SSQLDeleteData ='Delete from %s where %s="%s"';
SSQLDeleteDataTable ='Delete * from %s';
SSQLInsertStock ='insert into 倉庫存貨(進(jìn)貨日期,物品編號,物品名稱,規(guī)格,數(shù)量,單位,單價,備注) '+
'values(:S_Date,:S_Number,:S_Name,:S_GG,:S_Acount,:S_Unit,:S_Price,:S_Memo)';
SSQLInsertGetGoods ='Insert into 物品出倉(出倉日期,部門,姓名,物品編號,物品名稱,規(guī)格,數(shù)量,單位,備注) '+
'values (:S_Date,:S_Dept,:S_Name,:S_Number,:S_GoodsName,:S_GG,:S_Acount,:S_Unit,:S_Memo) ';
SSQLGoodsStock ='insert into 貨物進(jìn)倉(進(jìn)貨日期,物品編號,物品名稱,規(guī)格,數(shù)量,單位,單價,備注) '+
'values(:S_Date,:S_Number,:S_Name,:S_GG,:S_Acount,:S_Unit,:S_Price,:S_Memo)';
SSqlAddGoods ='Update 倉庫存貨 set 數(shù)量=數(shù)量+%s,備注=:S_Memo where 物品編號="%s"';
SSQLUpdateStock ='Update 倉庫存貨 set 數(shù)量=數(shù)量-%s where 物品編號="%s"';
SSQLdistinct ='Select distinct %s from %s';
//============================================================
// Form Caption
//============================================================
SFormLogin ='登錄';
SFormBaseSetup ='基礎(chǔ)信息設(shè)置';
SFormStock ='進(jìn)貨信息錄入';
SFormDataMgr ='數(shù)據(jù)管理';
SFormGetGoods ='領(lǐng)取物品登記';
SFormTongJi ='綜合數(shù)據(jù)統(tǒng)計';
SFormAbout ='關(guān)于程序';
SFormReg ='軟件注冊(免費注冊版)';
//============================================================
// Other STring
//============================================================
//============================================================
// procedure and function
//============================================================
//簡化 messagesbox 函數(shù)
function MsgBox(Msg:Variant;Title:string;Flag:longint):integer;
function CompressDB(Afile:string):boolean;
// ACCESS 數(shù)據(jù)庫壓縮函數(shù)
//導(dǎo)出 Excel 表格
procedure GenXlsFile(sPRG:TGauge;SDBGrid:TDBGrid;sDataSet:TADOQuery;Fn:String;Vis:Boolean);
const
my_key = 33189;
var
FindDatabase:boolean; //用來標(biāo)識是否找到數(shù)據(jù)庫文件
Pwd:string; //保存登錄密碼
ChgPwd:string; //保存數(shù)據(jù)修改密碼
IncName:string; //用來保存數(shù)據(jù)庫內(nèi)的公司名稱
RegOK:boolean; //是否成功注冊了軟件
RegName:string; //注冊名稱
implementation
function MsgBox(Msg:Variant;Title:string;Flag:longint):integer;
//簡化MessageBox函數(shù)
begin
if length(title)=0 then title:=SAppName;
case flag of
0:flag:=MB_OK + MB_ICONINFORMATION;
1:flag:=MB_OK + MB_ICONERROR;
2:flag:=MB_YESNO + MB_ICONERROR;
3:flag:=MB_YESNO + MB_ICONWARNING;
4:flag:=MB_YesNo +MB_ICONQUESTION;
else
flag:=MB_OK + MB_ICONERROR;
end;
Result:=application.MessageBox(pchar(vartostr(Msg)),pchar(Title),flag);
end;
function compressDB(Afile:string):boolean;
//
var
DaoVar: OLEVariant;
begin
try
DaoVar := CreateOleObject('dao.DBEngine.36');
if FileExists('db.tmp') then deletefile('db.tmp');
// DaoVar.CompactDatabase(afile,'db.tmp'); //壓縮無密碼的數(shù)據(jù)庫
//壓縮有密碼的數(shù)據(jù)庫。注意:密碼不能為空
DaoVar.CompactDatabase(afile,'db.tmp',';pwd='+SDefDataBasePwd+'',0,';pwd='+SDefDataBasePwd+'');
if deletefile(afile) then RenameFile('db.tmp',Afile);
result:=true;
except
result:=False;
end;
end;
{導(dǎo)出 Excel 表格}
procedure GenXlsFile(sPRG:TGauge;SDBGrid:TDBGrid;sDataSet:TADOQuery;Fn:String;Vis:Boolean);
//uses ComObj;
var
ExcelApp: Variant;
i,j:integer;
begin
try
ExcelApp := CreateOleObject('Excel.Application');
except
application.MessageBox('系統(tǒng)中的MS Excel軟件沒有安裝或安裝不正確!','錯誤',MB_ICONERROR+MB_OK);
exit;
end;
ExcelApp.visible:=vis;
try
excelapp.caption:='應(yīng)用程序調(diào)用 Microsoft Excel';
ExcelApp.WorkBooks.Add;
//寫入標(biāo)題行
for i:=1 to sDBGrid.FieldCount do
begin
ExcelApp.Cells[1,i].Value:=sDBGrid.Columns[i-1].Title.Caption ;
end;
sprg.MaxValue:=sDataSet.RecordCount; //插入進(jìn)度條
{ for i:=1 to sDataSet.Fields.Count do
begin
ExcelApp.Cells[1,i].Value :=sDataSet.Fields[i-1].DisplayName;
end; }
sDataSet.First;
i:=2;
while not sDataSet.Eof do
begin
for j:=0 to sDataSet.Fields.Count-1 do
begin
ExcelApp.Cells[i,j+1].Value :=sDataSet.Fields[j].AsString;
end;
sDataSet.Next;
i:=i+1;
sprg.Progress :=sprg.Progress +1; //進(jìn)度條步長
end;
sDataSet.First;
sPrg.Progress :=0; //
if application.MessageBox('數(shù)據(jù)導(dǎo)出完成.確認(rèn)保存嗎?','信息提示',MB_ICONQUESTION+MB_YESNO+MB_DEFBUTTON1+MB_SYSTEMMODAL)=IDYES then
begin
if not ExcelApp.ActiveWorkBook.Saved then
ExcelApp.ActiveWorkBook.SaveAs(fn);
end
else begin
ExcelApp.ActiveWorkBook.Saved := True; //不保存
end;
finally
excelapp.quit; //退出EXCEL軟件
end;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -