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

📄 sharefun.pas

📁 服装厂管理系统源程序压缩包, 请耐心阅读提供的文件包含的内容
💻 PAS
📖 第 1 页 / 共 3 页
字号:
                        free;
                        exit;
                end;
                if recordcount =0 then max_id:=0
                else
                begin
                        first;
                        max_id:=strtoint(fieldvalues[FieldName]);
                end;
                inc(max_id);
        end;
        TmpQuery.Close;
        TmpQuery.Free;
end;


//根据出生年月计算出年龄
function CalcAge(indate:Tdate):integer;
var
year1,year2:string;
begin
 year1:=formatdatetime('yyyy',date);
 year2:=formatdatetime('yyyy',indate);
 result:=strtoint(year1)-strtoint(year2);
end;

//取两个日期之间的天数
function Get_Days(sdate,edate:tdatetime):integer;
var i:real;
    mindate,maxdate:integer;
begin
  i:=sdate;
  mindate:=strtoint(format('%8.0f',[i]));
  i:=edate;
  maxdate:=strtoint(format('%8.0f',[i]));
  result:=maxdate-mindate;
end;


function JustIDCard(indata:string;var outdata:tdate):boolean;
var i,nlen:integer;tmpyear,tmpmonth,tmpday:string;
begin
   result:=false;
   if trim(indata)='' then exit;
   ClearSpaceBar(indata);
   nlen:=length(indata);
   //1.身份证长度15或18
   if (nlen<>15) and (nlen<>18) then
   begin
       MessageDlg('身份证号长度为15或18位!',mterror,[mbok],0);
       exit;
   end;
   //2.身份证为0~9之间的数字
   for i:=1 to nlen do
   if (indata[i]>'9') or (indata[i]<'0') then  exit;
   //3.取出年月日
   if nlen=15 then
   begin
       tmpyear:='19'+copy(indata,7,2);
       tmpmonth:=copy(indata,9,2);
       tmpday:=copy(indata,11,2);
   end
   else
   begin
       tmpyear:=copy(indata,7,4);
       tmpmonth:=copy(indata,11,2);
       tmpday:=copy(indata,13,2);
   end;
   try
       outdata:=strtodate(tmpyear+'-'+tmpmonth+'-'+tmpday);
   except
       MessageDlg('身份证号中出生日期错:['+tmpyear+'-'+tmpmonth+'-'+tmpday+']!',mterror,[mbok],0);
       exit;
   end;
   result:=true;
end;


//将ADOQuery数据集中字段对应的中文字段名称取出
function GetFieldTitle():boolean;
var
        i:integer;
        myRs :TADOQuery;
begin
        result:=false;

        myRs:=TADOQuery.Create(nil);
        myRs.Connection :=DataMod.ADOCon;
        with myRS do
        begin
                Close;
                SQL.Add('select * from fieldnote');
           try
                Open;
                SetLength(FieldDetials,recordcount);
                FieldDetialCount:=recordcount;
                First;
                i:=0;
                while not eof do
                begin
                        FieldDetials[i].fieldid:=Fields[0].AsString;
                        FieldDetials[i].chinesename :=Fields[1].AsString;
                        inc(i);
                        next;
                end;
           except
                messagedlg('Open table[fieldnote] Error!',mterror,[mbok],0);
                Close;
                Free;
                exit;
           end;
           first;
           Close;
           free;
        end;
        result:=true;
end;


//将DBGrid字段以中文形式显示
procedure SetQueryTitle(adoquery:TADOQuery);
var
i,j:integer;
begin
        for i:=0 to adoquery.FieldCount-1 do
        for j:=0 to FieldDetialCount-1 do
                if adoquery.Fields.Fields[i].FieldName = FieldDetials[j].fieldid then
                begin
                        adoquery.Fields.Fields[i].DisplayLabel:=FieldDetials[j].chinesename;
//                        adoquery.Fields.Fields[i].Alignment:=taCenter;
                end;
end;

//将DBGrid字段以中文形式显示
procedure SetTableTitle(adoTable:TADOTable);
var
i,j:integer;
begin
        for i:=0 to adoTable.FieldCount-1 do
        for j:=0 to FieldDetialCount-1 do
                if adoTable.Fields.Fields[i].FieldName = FieldDetials[j].fieldid then
                begin
                        adoTable.Fields.Fields[i].DisplayLabel:=FieldDetials[j].chinesename;
//                        adoTable.Fields.Fields[i].Alignment:=taCenter;
                end;
end;

function GetRecordCount(TmpADOCON:TADOConnection;TableName:string;sessionid:string;sessiontimeid:integer):Integer;
var
TmpQuery:TADOQuery;
begin
        TmpQuery:=TADOQuery.Create(nil); 
        TmpQuery.Connection:=TmpADOCON;
        with TmpQuery do
        begin
                close;
                sql.clear;
                sql.add('select * from ' + TableName+' where sessionsid='+''''+sessionid+''''+' and sessionstimeid='+inttostr(sessiontimeid));
                try
                        open;
                except
                        result:=0;
                        close;
                        free;
                        exit;
                end;
                result:=recordcount;
        end;
        TmpQuery.Close;
        TmpQuery.Free;
end;

function GetHostDateTime(TmpADOCON:TADOConnection;var hostdatetime:Tdatetime):boolean;
var
TmpQuery:TADOQuery;
begin
        result:=true;TmpQuery:=TADOQuery.Create(nil); 
        TmpQuery.Connection:=TmpADOCON;
        with TmpQuery do
        begin
                close;sql.clear;sql.add('SELECT getdate() AS dt');     //convert(char(10),getdate(),20)
                try open;except result:=false;close;free;exit;end;
                hostdatetime:=fieldvalues['dt']; Close;Free;
        end; 
end;


function GetMaxID(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 +' asc');
                try
                        open;
                except
                        result:=false;
                        close;
                        free;
                        exit;
                end;
                if recordcount =0 then max_id:=0
                else
                begin
                        last;
                        max_id:=fieldvalues[FieldName];
                end;
                inc(max_id);
        end;
        TmpQuery.Close;
        TmpQuery.Free;
end;

function GetMaxIDBySessionID(TmpADOCON:TADOConnection;TableName:string;FieldName:string;SessionID: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 + ' where sessions='+''''+SessionID+''''+' order by '+FieldName +' asc');
                try
                        open;
                except
                        result:=false;
                        close;
                        free;
                        exit;
                end;
                if recordcount =0 then max_id:=0
                else
                begin
                        last;
                        max_id:=fieldvalues[FieldName];
                end;
                inc(max_id);
        end;
        TmpQuery.Close;
        TmpQuery.Free;
end;

//增加会务编号时,自动产生新的编号
function GetMaxSessionID(TmpADOCON:TADOConnection;TableName:string;FieldName:string;FieldValue:string;var MAXID:string):boolean;
var
TmpQuery:TADOQuery;
a,b,i:integer;  tmpstr:string;
begin
        result:=true;
        TmpQuery:=TADOQuery.Create(nil);
        TmpQuery.Connection:=TmpADOCON;
        with TmpQuery do
        begin
                close;
                sql.clear;
                tmpstr:='select '+ FieldName +' from ' + TableName + ' where '+FieldName +' Like '+''''+FieldValue+'-%'+'''';
                sql.Text:=tmpstr;
                try
                        open;
                except
                        result:=false;
                        close;
                        free;
                        exit;
                end;
                if recordcount =0 then MAXID:=FieldValue+'-1'
                else
                begin
                        first;
                        b:=0;
                        //get current date max id
                        while not eof do
                        begin
                                MAXID:=trim(fieldvalues[FieldName]);
                                i:=POS('-',MAXID);
                                tmpstr:=copy(MAXID,i+1,length(MAXID)-i);
                                a:=strtoint(tmpstr);
                                if (b<a) then b:=a;
                                next;
                        end;
                        inc(b);
                        MAXID:= FieldValue+'-'+inttostr(b);
                end;
        end;
        TmpQuery.Close;
        TmpQuery.Free;
end;


function FindValue(TmpADOCON:TADOConnection;tablename : string;fieldname:string;FieldValue:string):boolean;
var
tmpado:TADOQuery;
begin
   result:=false;
   tmpado:=TadoQuery.Create(nil);
   tmpado.ConnectionString :=TmpADOCON.ConnectionString;
   with tmpado do
   begin
        sql.Text:= 'select * from ' + tablename+' where '+ fieldname +'='+''''+ fieldvalue+'''';
        try
                open;
        except
                Messagedlg('操作数据库失败![GetMaxID]',mterror,[mbok],0);
                tmpado.Close;
                tmpado.Free;
                exit;
        end;
        result:=recordcount >0;
   end;
   tmpado.Close;
   tmpado.Free;
end;


function FindOtherRecord(TmpADOCON:TADOConnection;tablename : string;MasterColname:string;MasterValue:integer;fieldname:string;FieldValue:string):boolean;
var
tmpado:TADOQuery;
begin
   result:=false;
   tmpado:=TadoQuery.Create(nil);
   tmpado.ConnectionString :=TmpADOCON.ConnectionString;
   with tmpado do
   begin
//        sql.Text:= 'SELECT * FROM ' + tablename+' where ('+ fieldname +'='+''''+ fieldvalue+''''+') and ('+MasterColname+ ' <> '+inttostr(MasterValue)+') and temid='+inttostr(SysConfig.TerminalID);
        sql.Text:= 'SELECT * FROM ' + tablename+' where ('+ fieldname +'='+''''+ fieldvalue+''''+') and ('+MasterColname+ ' <> '+inttostr(MasterValue)+')';
        try
                open;
        except
                Messagedlg('操作数据库失败![GetMaxID]',mterror,[mbok],0);
                tmpado.Close;
                tmpado.Free;
                exit;
        end;
        result:=recordcount >0;
   end;
   tmpado.Close;
   tmpado.Free;
end;

function FindAdmin(TmpADOCON:TADOConnection;tablename : string;fieldname:string;FieldValue:string):boolean;
var
tmpado:TADOQuery;
begin
   result:=false;
   tmpado:=TadoQuery.Create(nil);
   tmpado.ConnectionString :=TmpADOCON.ConnectionString;
   with tmpado do
   begin

⌨️ 快捷键说明

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