?? datam.pas
字號:
else
begin
user_query.First;
user_query.next;
user_query.Last;
str2:=copy(user_query.Fields.Fields[0].AsString,10,4);
case length(trim(inttostr(strtoint(str2)+1))) of
1:result:='MYR'+str1+'000'+inttostr(strtoint(str2)+1);
2:result:='MYR'+str1+'00'+inttostr(strtoint(str2)+1);
3:result:='MYR'+str1+'0'+inttostr(strtoint(str2)+1);
4:result:='MYR'+str1+inttostr(strtoint(str2)+1);
end;
end;
finally
user_query.free;
end;
end;
//生成退貨單據號函數
function create_withdraw_no(ttable:string):string;
var
str1,str2:string;
begin
try
str1:=formatdatetime('yymmdd',date);
user_query:=TADOQuery.Create(APPLICATION.Owner);
user_query.Connection:=Dataman.ADOCon;
user_query.close;
user_query.sql.clear;
user_query.SQL.add('select 退貨單據號 from '+ttable+' where substring(退貨單據號,6,6)=:xdate order by 退貨單據號');
user_query.Parameters.ParamByName('xdate').Value:=str1;
user_query.Open;
if user_query.IsEmpty then
result:='MYRTH'+str1+'001'
else
begin
user_query.First;
user_query.next;
user_query.Last;
str2:=copy(user_query.Fields.Fields[0].AsString,12,3);
case length(trim(inttostr(strtoint(str2)+1))) of
1:result:='MYRTH'+str1+'00'+inttostr(strtoint(str2)+1);
2:result:='MYRTH'+str1+'0'+inttostr(strtoint(str2)+1);
3:result:='MYRTH'+str1+inttostr(strtoint(str2)+1);
end;
end;
finally
user_query.free;
end;
end;
//生成換貨票據函數
function create_change_no(htable:string):string;
var
str1,str2:string;
begin
try
str1:=formatdatetime('yymmdd',date);
user_query:=TADOQuery.Create(APPLICATION.Owner);
user_query.Connection:=Dataman.ADOCon;
user_query.close;
user_query.sql.clear;
user_query.SQL.add('select 換貨單據號 from '+htable+' where substring(換貨單據號,6,6)=:xdate order by 換貨單據號');
user_query.Parameters.ParamByName('xdate').Value:=str1;
user_query.Open;
if user_query.IsEmpty then
result:='MYRHH'+str1+'001'
else
begin
user_query.First;
user_query.next;
user_query.Last;
str2:=copy(user_query.Fields.Fields[0].AsString,12,3);
case length(trim(inttostr(strtoint(str2)+1))) of
1:result:='MYRHH'+str1+'00'+inttostr(strtoint(str2)+1);
2:result:='MYRHH'+str1+'0'+inttostr(strtoint(str2)+1);
3:result:='MYRHH'+str1+inttostr(strtoint(str2)+1);
end;
end;
finally
user_query.free;
end;
end;
//生成進貨票據函數
function create_movein_no(jtable:string):string;
var
str1,str2:string;
begin
try
str1:=formatdatetime('yymmdd',date);
user_query:=TADOQuery.Create(APPLICATION.Owner);
user_query.Connection:=Dataman.ADOCon;
user_query.close;
user_query.sql.clear;
user_query.SQL.add('select 進貨單據號 from '+jtable+' where substring(進貨單據號,6,6)=:xdate order by 進貨單據號');
user_query.Parameters.ParamByName('xdate').Value:=str1;
user_query.Open;
if user_query.IsEmpty then
result:='MYRJH'+str1+'001'
else
begin
user_query.First;
user_query.next;
user_query.Last;
str2:=copy(user_query.Fields.Fields[0].AsString,12,3);
case length(trim(inttostr(strtoint(str2)+1))) of
1:result:='MYRJH'+str1+'00'+inttostr(strtoint(str2)+1);
2:result:='MYRJH'+str1+'0'+inttostr(strtoint(str2)+1);
3:result:='MYRJH'+str1+inttostr(strtoint(str2)+1);
end;
end;
finally
user_query.free;
end;
end;
//生成出貨票據函數
function create_moveout_no(ctable:string):string;
var
str1,str2:string;
begin
try
str1:=formatdatetime('yymmdd',date);
user_query:=TADOQuery.Create(APPLICATION.Owner);
user_query.Connection:=Dataman.ADOCon;
user_query.close;
user_query.sql.clear;
user_query.SQL.add('select 出貨單據號 from '+ctable+' where substring(出貨單據號,6,6)=:xdate order by 出貨單據號');
user_query.Parameters.ParamByName('xdate').Value:=str1;
user_query.Open;
if user_query.IsEmpty then
result:='MYRCH'+str1+'001'
else
begin
user_query.First;
user_query.next;
user_query.Last;
str2:=copy(user_query.Fields.Fields[0].AsString,12,3);
case length(trim(inttostr(strtoint(str2)+1))) of
1:result:='MYRCH'+str1+'00'+inttostr(strtoint(str2)+1);
2:result:='MYRCH'+str1+'0'+inttostr(strtoint(str2)+1);
3:result:='MYRCH'+str1+inttostr(strtoint(str2)+1);
end;
end;
finally
user_query.free;
end;
end;
function recommit_sys(username,sdate,stime:string;lq:real):boolean;
begin
try
user_query:=TADOQuery.Create(APPLICATION.Owner);
user_query.Connection:=Data.Dataman.ADOCon;
user_query.close;
user_query.sql.clear;
user_query.sql.add('insert into menlog (員工編號,上班日期,上班時間,錢箱零錢)');
user_query.sql.add('values(:usen,:sdat,:stim,:lp)');
user_query.parameters.ParamByName('usen').value:=username;
user_query.parameters.ParamByName('sdat').value:=sdate;
user_query.parameters.ParamByName('stim').value:=stime;
user_query.parameters.ParamByName('lp').value:=lq;
user_query.execsql;
result:=true;
finally
user_query.free;
end;
end;
//加密函數
//shr ( SHIFT RIGHT)函數就是"向右移位"運算函數。X shr Y 就是進行 X 向右移Y位的運算
//也就是縮小了2的Y次方倍。
//同理,shl就是”左移位“運算函數。 X SHL Y 就是 X 向左移Y位,即擴大2的Y次方倍。
//"Xor"如果有且僅有一個表達式為 True,則 result 為 True。但是,如果任意一個表達式為 Null,
//則 result 也為 Null。若兩個表達式均不為 Null,則根據下表確定 result:
//如果 expression1 為 expression2 為 則 result 為
// True True False
//True False True
//False True True
//False False False
//"Xor"為“異或”,就是當兩個表達式值不同時結果為“真”,若相同則為“假”
//"or"只要有一個為"true"則整個表達式為"true"
//函數ord和byte都是把一個字母轉化為它的ASCII值,char則把一個ASCII碼轉化為它的字母
// StartKey := (byte(InString[I]) + StartKey) * MultKey + AddKey;
function en_crypt(const InString:string; StartKey:Integer):string;
var
I : Byte;
begin
Result := '';
for I := 1 to Length(InString) do
begin
Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8));
end;
end;
//解密函數
//**shr ( SHIFT RIGHT)函數就是"向右移位"運算函數。X shr Y 就是進行 X 向右移Y位的運算
//也就是縮小了2的Y次方倍。
//同理,shl就是”左移位“運算函數。 X SHL Y 就是 X 向左移Y位,即擴大2的Y次方倍。
//"Xor"如果有且僅有一個表達式為 True,則 result 為 True。但是,如果任意一個表達式為 Null,
//則 result 也為 Null。若兩個表達式均不為 Null,則根據下表確定 result:
//如果 expression1 為 expression2 為 則 result 為
// True True False
//True False True
//False True True
//False False False
//"Xor"為“異或”,就是當兩個表達式值不同時結果為“真”,若相同則為“假”
//"or"只要有一個為"true"則整個表達式為"true"
//函數ord和byte都是把一個字母轉化為它的ASCII值,char則把一個ASCII碼轉化為它的字母
// StartKey := (byte(InString[I]) + StartKey) * MultKey + AddKey;
function de_crypt(const InString:string; StartKey:Integer): string;
var
I : Byte;
begin
Result := '';
for I := 1 to Length(InString) do
begin
Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8));
end;
end;
// 改變分辨率的函數
procedure dynamicchangedisplay(X, Y: integer);
var
lpDevMode : TDeviceMode;
begin
if GetDeviceCaps(GetDC(Application.Handle),HORZRES)<>X then
begin
EnumDisplaySettings(nil, 0, lpDevMode);
lpDevMode.dmFields:=DM_PELSWIDTH or DM_PELSHEIGHT;
lpDevMode.dmPelsWidth:=X;
lpDevMode.dmPelsHeight:=Y;
ChangeDisplaySettings(lpDevMode, CDS_UPDATEREGISTRY);
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -