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

📄 复件 global.pas

📁 文具管理系统 采用VFP数据库编的
💻 PAS
字号:
//=========================================================
//  Global.pas    
//    共享模块,保存字符串资源和共享常量、变量、函数及过程
//=========================================================

unit Global;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,comobj,ComCtrls, StdCtrls, DB,DBGrids, ADODB,Gauges;

Resourcestring

//===========================================================
// application information
//===========================================================
SAppName                    ='文具管理系统';
SAPPVersion                 ='V1.0.3 build 1215';
//SAppFirstVersion            ='V1.0.0 build 1103';
SAppAuthor                  ='罗祖术';
SAppUse                     ='鹤山欣丰毛织制衣有限公司';
//SAppUser                    ='邓卓明';
//===========================================================
//  DataBase Information
//===========================================================
SConnectString              ='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
                            +'Jet OLEDB:Database Password=%s;';
SDefDataBaseName            ='Stationery.Lzs';
SDefDataBasePwd             ='软件作者:罗祖术';   //使用中文密码

//============================================================
//  Database TableName and FieldName
//============================================================
STLogin                     ='登录';
SFPwd                       ='密码';

STDataChange                ='修改数据';   //保存修改数据的密码,该密码经加密处理

STChgData                   ='修改数据';

STDept                      ='部门';
SFDept                      ='部门';

STSkin                      ='皮肤';
SFSkin                      ='皮肤';

STMonthStock                ='每月仓存';

SFName                      ='姓名';

STCompanyName               ='公司名称';
SFCompanyName               ='公司名称';

STDepotStock                ='仓库存货';
SFAutoNumber                ='编号';
SFStockDate                 ='进货日期';
SFOutStockDate              ='出仓日期';

SFAmount                    ='数量';
SFUnit                      ='单位';
SFGuiGe                     ='规格';
SFPrice                     ='单价';
SFMemo                      ='备注';

STGoodsStock                ='货物进仓';

STGoodsOutput               ='物品出仓';

STGoodsName                 ='物品名称';
SFGoodsNumber               ='物品编号';
SFGoodsName                 ='物品名称';

//============================================================
//    Message Information
//============================================================
SErrorTitle                 ='错误提示';
SHintTitle                  ='提示信息';
SConfirmTitle               ='信息确认';
SMsgNotFindDatabase         ='没有找到数据库文件: %s';
SMsgCompanyNameWriteOK      ='公司名称设置成功,谢谢使用!';
SMsgDataWriteError          ='数据存储出错!';
SMsgOrgPwdError             ='原密码输入出错!';
SMsgReComfirmError          ='两次输入的密码不相同!';
SMsgHintPwdModify           ='数据修改密码己被人恶意清除,程序将拒绝运行!';
SMsgNewPwdSetupOK           ='新密码设置成功,请牢记您所设置的新密码!';
SMsgAlikePwdError           ='请勿与登录密码使用相同的密码';
SMsgChgOrgPwd               ='数据修改密码的初始密码为:%s,为了数据安全,请注意将其更改!';
SMsgDataExist               ='此项数据己存在,请勿重复!';
SMsgConfirmDelete           ='数据被删除后是无法恢复的,您确定要删除吗?';
SMsgDataSaveOk              ='数据成功存入!';
SMsgAlreadyStock            ='    仓库己有存货。存货数量有:%s。请核对'+#13#10
                            +'其它项目是否相同,如确认无误,请直接输入数量,'+#13#10
                            +'己增加其中数目。';
SMsgNoStock                 ='此物品仓库内尚无存货!';
SMsgExitRun                 ='    您己经修改过基础信息,为了防止程序'+#13#10
                            +'出现异常错误请重新启动本程序!'+#13#10
                            +'    确定退出程序吗?';
SMsgInfoHint                ='信息提示!';
SMsgNoEnough                ='嘿!您有那么多的存货吗?';
SMsgAllGetGoods             ='“%s”物品全部领了,请注意进货哟!';
SMsgTimePwd                 ='您有 3 次输入密码的机会!';
SMsgErrorTimePwd            ='您还有 %s 次输入密码的机会!';
SMsgDeleteIncName           ='确定要删除“公司名称”吗?';
SMsgDeleteDept              ='确定要删除“部门设置”吗?';
SMsgDeleteGoods             ='确定要删除“物品设置”吗?';
SMsgDeletePwd               ='确定要删除“密码”吗?';
SMsgExitProgram             ='    由于你删除了基础设置信息。为避'+#13#10+
                             '免程序出错,请重新启动本程序。';
SMsgDeletTable              ='确定要“%s”数据表吗?';
SMsgDataCompressOk          ='数据库压缩成功!';
SMsgDataCompressError       ='数据库压缩失败!';
SMsgPreviewError            ='数据打印预览错误,请确认你是否有需打印的数据?';
SAllowEdit                  ='可编辑状态';
SNotAllowEdit               ='不可编辑状态';
SMsgExitEdit                ='[ %d ]秒种后自动退出可编辑状态!';
SMsgNoJcHint                ='  上月[ %s ]未做结存统计!如果选择"是",程序将自动'+#13#10#13#10+
                             '对上月数据进行结存!'+#13#10#13#10+
                             '您确定对上月数据进行结存吗?';
SMsgJCExists                ='    数据库中己存在[ %s ]的结存数据,您是否将原有的结存'+#13#10#13#10+
                             '数据删除!然后重新结存呢?'+#13#10#13#10+
                             '    如果您确定要重新结存[ %s ]请点击“是”!确定吗?';
SMsgWillDeleteRegcode       ='将删除软件的原注册信息,继续吗?';
SMsgDeleteRegcodeOk         ='己经成功的删除了软件注册信息,请重新注册!';
SMsgDeleteRegcodeError      ='信息删除出错,请重新启动软件。';
                             //注册码己经成功写入数据库,请重新启动程序己验证是否注册成功!

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 仓库存货(进货日期,物品编号,物品名称,规格,数量,单位,单价,备注) '+
                             'values(:S_Date,:S_Number,:S_Name,:S_GG,:S_Acount,:S_Unit,:S_Price,:S_Memo)';
SSQLInsertGetGoods          ='Insert into 物品出仓(出仓日期,部门,姓名,物品编号,物品名称,规格,数量,单位,备注)  '+
                             'values (:S_Date,:S_Dept,:S_Name,:S_Number,:S_GoodsName,:S_GG,:S_Acount,:S_Unit,:S_Memo)   ';
SSQLGoodsStock              ='insert into 货物进仓(进货日期,物品编号,物品名称,规格,数量,单位,单价,备注) '+
                             'values(:S_Date,:S_Number,:S_Name,:S_GG,:S_Acount,:S_Unit,:S_Price,:S_Memo)';
SSqlAddGoods                ='Update 仓库存货 set 数量=数量+%s,备注=:S_Memo where 物品编号="%s"';
SSQLUpdateStock             ='Update 仓库存货 set 数量=数量-%s where 物品编号="%s"';
SSQLdistinct                ='Select distinct %s from %s';

//============================================================
//    Form Caption
//============================================================
SFormLogin                  ='登录';
SFormBaseSetup              ='基础信息设置';
SFormStock                  ='进货信息录入';
SFormDataMgr                ='数据管理';
SFormGetGoods               ='领取物品登记';
SFormTongJi                 ='综合数据统计';
SFormAbout                  ='关于程序';
SFormReg                    ='软件注册(免费注册版)';


//============================================================
//  Other STring
//============================================================



//============================================================
// procedure and function
//============================================================

//简化 messagesbox 函数
function MsgBox(Msg:Variant;Title:string;Flag:longint):integer;

function CompressDB(Afile:string):boolean;
// ACCESS 数据库压缩函数

//导出 Excel 表格
procedure GenXlsFile(sPRG:TGauge;SDBGrid:TDBGrid;sDataSet:TADOQuery;Fn:String;Vis:Boolean);

const
  my_key = 33189;
  
var
  FindDatabase:boolean;      //用来标识是否找到数据库文件
  Pwd:string;                //保存登录密码
  ChgPwd:string;             //保存数据修改密码
  IncName:string;            //用来保存数据库内的公司名称
  RegOK:boolean;             //是否成功注册了软件
  RegName:string;            //注册名称

implementation

function MsgBox(Msg:Variant;Title:string;Flag:longint):integer;
//简化MessageBox函数
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');    //压缩无密码的数据库
  //压缩有密码的数据库。注意:密码不能为空
  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;

{导出 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('系统中的MS Excel软件没有安装或安装不正确!','错误',MB_ICONERROR+MB_OK);
    exit;
  end;
  ExcelApp.visible:=vis;
  try
    excelapp.caption:='应用程序调用 Microsoft Excel';
    ExcelApp.WorkBooks.Add;
    //写入标题行
    for i:=1 to sDBGrid.FieldCount do
    begin
      ExcelApp.Cells[1,i].Value:=sDBGrid.Columns[i-1].Title.Caption ;
    end;
    sprg.MaxValue:=sDataSet.RecordCount;   //插入进度条
{    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;        //进度条步长
    end;
    sDataSet.First;
    sPrg.Progress :=0;        //
    if application.MessageBox('数据导出完成.确认保存吗?','信息提示',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.
 

⌨️ 快捷键说明

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