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

📄 sharefun.pas

📁 服装厂管理系统源程序压缩包, 请耐心阅读提供的文件包含的内容
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit sharefun;

interface

uses

   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, DBClient,
   MConnect, MidasCon,ADOdb,registry,adoconed,inifiles,dbgrids,StdCtrls, Tlhelp32,
   ScktComp, ShellApi,Variants,ExtCtrls,sharevar,DB,DateUtils,ComCtrls,DBCtrls,RpRave, RpBase,
   RpSystem, RpDefine, RpCon, RpConDS;

function getEmpID(var str:string):string;
function changestr(var str:string):string;
function GetMaxID_1(TmpADOCON:TADOConnection;TableName:string;FieldName:string;var max_id:integer):boolean;
function MsgQst(handle:integer;Text:String):integer;
function MsgErr(handle:integer;Text:String):integer;
function MsgOK(handle:integer;Text:String):integer;

function GetFieldTitle():boolean;
procedure SetTableTitle(adoTable:TADOTable);
procedure SetQueryTitle(adoquery:TADOQuery);


function GetMaxID(TmpADOCON:TADOConnection;TableName:string;FieldName:string;var max_id:integer):boolean;
function FindValue(TmpADOCON:TADOConnection;tablename : string;fieldname:string;FieldValue:string):boolean;
function FindOtherRecord(TmpADOCON:TADOConnection;tablename : string;MasterColname:string;MasterValue:integer;fieldname:string;FieldValue:string):boolean;

procedure ClearSpaceBar(var instr:string);
function MemComp(str1,str2:string;nLen:integer):integer;
procedure GetSysConfig();
procedure GetCominfo();
procedure GetTerminalInfo();
function WriteIniFile(WsType:integer;Section:string;Ident:string;DestValue:Variant):boolean;
function ReadIniFile(WsType:integer;Section:string;Ident:string):Variant;

function Right_Str(indata:string;count:integer):string;

function GetRecordCount(TmpADOCON:TADOConnection;TableName:string;sessionid:string;sessiontimeid:integer):Integer;

function CalcAge(indate:Tdate):integer;
function JustIDCard(indata:string;var outdata:tdate):boolean;
function GetHostDateTime(TmpADOCON:TADOConnection;var hostdatetime:Tdatetime):boolean;
function FindAdmin(TmpADOCON:TADOConnection;tablename : string;fieldname:string;FieldValue:string):boolean;
//取指定时间的对应的最大天数
function GetDays(inDate:TDate):integer;
//取上月最大的日期
function GetLastMonthMaxDate(inDate:TDate):TDate;
//取两个日期之间的天数
function Get_Days(sdate,edate:tdatetime):integer;

//判断金额的输入格式是否正确
function ToMoney(inText:string;var OutText:string):boolean;

function findRec(tablename,fieldname,recvalue:string;var info:string):boolean;

procedure DispDepInf(TV:TTreeView;ParentNode:TTreeNode;NodeName:string;stateid:integer);
procedure DrawItem(obj:TLabel);
procedure showform_dbconfig;
function check_dateformat(temp_str:string):boolean;
function find_record(tablename,field1,field2,value1,value2:string;var info:string):boolean;
function get_oper_tmpid(operid:string; var tmp_id:integer ):boolean;
function Getquery_char(str1,str2,str3,str4,str5,str6:string):string;
//返回单个汉字的拼音首字母
function GetPyIndexChar(hzchar:string):char;
function getstringpy(sourcestr:string):string;
function checkdate(tmpstr:string):boolean;

//初始化页
procedure InitPage(TrvProj:TRvProject;TrvSys:TRvSystem;ProjectFile,NDRFileName:string;Orientation:integer);
//页选择
function SelectPage(TrvProj:TRvProject;PageName:string;index:integer):boolean;
//传递参数
procedure AddParameter(TrvProj:TRvProject;param,value:string);
//显示页
procedure PageShow(TrvProj:TRvProject);

implementation
uses data,DBConfig,Sflash;



//初始化页
procedure InitPage(TrvProj:TRvProject;TrvSys:TRvSystem;ProjectFile,NDRFileName:string;Orientation:integer);
begin
      TrvProj.ProjectFile:=ProjectFile;
      if Orientation=1 then
          TrvSys.SystemPrinter.Orientation:=poLandScape
      else
          TrvSys.SystemPrinter.Orientation:=poPortrait;
end;

//页选择
function SelectPage(TrvProj:TRvProject;PageName:string;index:integer):boolean;
begin
  result:=true;
  try
    TrvProj.Open;
    TrvProj.SelectReport(PageName,true);
    TrvProj.ProjMan.FindReport(PageName,true).FirstPage :=TrvProj.ProjMan.FindReport(PageName,true).LoadedPage[index];
  except
    result:=false;
  end;
end;

//传递参数
procedure AddParameter(TrvProj:TRvProject;param,value:string);
begin
    TrvProj.SetParam(param,value);
end;

//显示页
procedure PageShow(TrvProj:TRvProject);
begin
    TrvProj.Execute;
    TrvProj.Close;
end;

//检查字符串是否日期格式
function checkdate(tmpstr:string):boolean;
begin
  result:=false;
  try
    strtodate(tmpstr);
  except
    exit;
  end;
  result:=true;
end;

//返回单个汉字的拼音首字母
function GetPyIndexChar(hzchar:string):char;
begin
   case word(hzchar[1]) shl 8 +word(hzchar[2]) of
      $B0A1..$B0D0 : RESULT :='A';
      $B0D1..$B2C0 : RESULT :='B';
      $B2C1..$B4F2 : RESULT :='C';
      $B4F3..$B6E9 : RESULT :='D';
      $B6EA..$B7A1 : RESULT :='E';
      $B7A2..$B8C0 : RESULT :='F';
      $B8C1..$B9FD : RESULT :='G';
      $B9FE..$BBF6 : RESULT :='H';
      $BBF7..$BFA5 : RESULT :='J';
      $BFA6..$C0AB : RESULT :='K';
      $C0AC..$C2E7 : RESULT :='L';
      $C2E8..$C4C2 : RESULT :='M';
      $C4C3..$C5B5 : RESULT :='N';
      $C5B6..$C5BD : RESULT :='O';
      $C5BE..$C6D9 : RESULT :='P';
      $C6DA..$C8BA : RESULT :='Q';
      $C8BB..$C8F5 : RESULT :='R';
      $C8F6..$CBF9 : RESULT :='S';
      $CBFA..$CDD9 : RESULT :='T';
      $CDDA..$CEF3 : RESULT :='W';
      $CEF4..$D1B8 : RESULT :='X';
      $D1B9..$D4D0 : RESULT :='Y';
      $D4D1..$D7F9 : RESULT :='Z';
   else
      //result :=char(0);
      result :='V';
   end;
end;

//返回汉字串的拼首字母串
function getstringpy(sourcestr:string):string;
var
   I_temp : integer;
   B_temp : bool;
begin
   result:='';
   B_temp:=false;
   for i_temp:=1 to length(sourcestr) do
      begin
         if B_temp then
            B_temp:=false
         else
            begin
            if word(sourcestr[i_temp])<176 then
               result:=result+sourcestr[i_temp]
            else
               begin
                  result:=result+GetPyIndexChar(sourcestr[i_temp]+sourcestr[i_temp+1]);
                  b_temp:=true;
               end;
            end;
      end;
end;

//得到数值条件查询的条件语句
function Getquery_char(str1,str2,str3,str4,str5,str6:string):string;
begin

  if str2='' then begin result:=''; exit end;

  if (str3='') or (str5='') then
  begin
    result:='and ('+str6+str1+str2+')';
    exit;
  end;

  if (str3='and') and (str5<>'') then
  begin
    result:='and ('+'('+str6+str1+str2+')  and  ('+str6+str4+str5+') )';
    exit;
  end;

  if (str3='or') and (str5<>'') then
  begin
    result:='and ('+'('+str6+str1+str2+')  or  ('+str6+str4+str5+') )';
    exit;
  end;
end;

function get_oper_tmpid(operid:string; var tmp_id:integer ):boolean;
var
Adoq_temp:TAdoquery;
begin
   result:=false;
   Adoq_temp:=TAdoquery.Create(nil);
   Adoq_temp.Connection:=DataMod.ADOCon;
   with Adoq_temp do
   begin
       Close;
       SQL.Clear;
       SQL.Add('select * from operator where operid = '+''''+operid+'''');
       try
          Open;
          result:=recordcount>=1;
          tmp_id:= Adoq_temp.fieldvalues['tmp_id'];
       except
          Close;
          Free;
          exit;
       end;
       Close;
       Free;
   end;
end;

function find_record(tablename,field1,field2,value1,value2:string;var info:string):boolean;
var
Adoq_temp:TAdoquery;
begin
   result:=false;
   Adoq_temp:=TAdoquery.Create(nil);
   Adoq_temp.Connection:=DataMod.ADOCon;
   with Adoq_temp do
   begin
       Close;
       SQL.Clear;
       SQL.Add('select * from '+tablename+' where '+field1+'='+''''+value1+''''+' and '+field2+'='+''''+value2+'''');
       try
          Open;
          result:=not (recordcount<1);
       except
          info:='提示:   查找记录值失败!';
          Close;
          Free;
          exit;
       end;
       Close;
       Free;
   end;
end;

function check_dateformat(temp_str:string):boolean;
begin
  Result:=false;
  try
  StrToDate(temp_str);
  Result:=true;
  except
   ShowMessage('请输入正确的日期格式,例如: 2005-8-10');
  end;
end;


function MsgQst(handle:integer;Text:String):integer;
var
tmpbuf:array[0..255]of char;
begin
 strpcopy(tmpbuf,'     '+text);
 result:=MessageBox(handle,tmpbuf,'确认',MB_YESNO or MB_ICONQUESTION);
end;

function MsgErr(handle:integer;Text:String):integer;
var
tmpbuf:array[0..255]of char;
begin
 strpcopy(tmpbuf,'     '+text);
 result:=MessageBox(handle,tmpbuf,'错误',MB_OK or MB_ICONERROR);
end;


function MsgOK(handle:integer;Text:String):integer;
var
tmpbuf:array[0..255]of char;
begin
 strpcopy(tmpbuf,'     '+text);
 result:=MessageBox(handle,tmpbuf,'提示',MB_OK or MB_ICONWARNING);
end;

function getEmpID(var str:string):string;
var
i,j,k:integer;
tmpstr:string;
begin
tmpstr:=str;
i:=length(str);
if not i>=10 then begin result:=str; exit; end;
if i<10 then
   begin
      j:=9-i;
      for k:=0 to j do
          begin
              tmpstr:='0'+tmpstr;
          end;
   end;
result:=tmpstr;
end;

function changestr(var str:string):string;
var
i,j,k:integer;
tmpstr:string;
begin
tmpstr:=str;
i:=length(str);
if not i>=4 then begin result:=str; exit; end;
if i<4 then
   begin
      j:=3-i;
      for k:=0 to j do
          begin
              tmpstr:='0'+tmpstr;
          end;
   end;
result:=tmpstr;
end;


function GetMaxID_1(TmpADOCON:TADOConnection;TableName:string;FieldName:string;var max_id:integer):boolean;
var
TmpQuery:TADOQuery;
begin
        result:=true;
        TmpQuery:=TADOQuery.Create(nil); 
        TmpQuery.Connection:=TmpADOCON;
        with TmpQuery do
        begin
                close;
                sql.clear;
                sql.add('select '+ FieldName +' from ' + TableName + ' order by '+FieldName +' desc');
                try
                        open;
                except
                        result:=false;
                        close;

⌨️ 快捷键说明

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