?? ufunction1.pas
字號:
unit ufunction1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,jpeg, Dialogs,
Menus, ComCtrls, ToolWin, Grids, DBGrids,StdCtrls, ExtCtrls,
DBCtrls, Mask, printers, quickrpt,Buttons,dbtables,DB, ADODB, Qrctrls,uconst,udm;
function createid(adoqueryx:Tadoquery;id:string):string;
procedure adoexect(adoqueryx:tadoquery;strsql:string);
procedure adodel(adoquery1:tadoquery;strsql:string);
function savedata(adoquery1:tadoquery;adoquery3:tadoquery;dbname:string;id:string;id1:string;zd:string):boolean;
function isdate(str:string):boolean;
function isinteger(str:string):boolean;
function isfloat(str:string):boolean;
function FormatDate(da: TDateTime): String;
function loadpicture(adoquery1:tadoquery;image1:timage;kzm:string;zd:string):string;
function savepicture(adoquery1:tadoquery;image1:timage;kzm:string;zd:string):string;
implementation
function loadpicture(adoquery1:tadoquery;image1:timage;kzm:string;zd:string):string;
var
str:tmemorystream;
myjpeg:tjpegimage;
begin
try
if kzm='' then exit;
str:=tmemorystream.Create;
str.Position := 0;
tblobfield(adoquery1.FieldByName(zd)).SaveToStream(str);
str.Position := 0;
Image1.Picture.Graphic := nil;
if (kzm = 'jpg') then
begin
Image1.Picture.Graphic := Tjpegimage.create;
Image1.Picture.Graphic.LoadFromStream(str);
// buf.Free;
end;
if (kzm = 'jpeg') then
begin
Image1.Picture.Graphic := Tjpegimage.create;
Image1.Picture.Graphic.LoadFromStream(str);
// buf.Free;
end;
if (kzm = 'bmp') then
begin
Image1.Picture.Bitmap := nil;
Image1.Picture.Bitmap.LoadFromStream(str);
// buf.Free;
end;
str.Free;
except
showmessage('載入圖片不成功,請檢查是否是JPE/BMP/JPEG類型圖片');
end;
end;
function savepicture(adoquery1:tadoquery;image1:timage;kzm:string;zd:string):string;
var
str:tmemorystream;
myjpeg:tjpegimage;
begin
try
if kzm <> 'NULL' then
begin
str:=tmemorystream.Create;
if kzm = 'jpg' then
begin
myjpeg := tjpegimage.Create;
myjpeg.Assign(image1.Picture.Graphic);
myjpeg.SaveToStream(str);
str.Position := 0;
tblobfield(adoquery1.FieldByName(zd)).LoadFromStream(str);
str.free;
end;
if kzm = 'bmp' then
begin
str := tmemorystream.Create;
image1.Picture.Bitmap.SaveToStream(str);
str.Position := 0;
tblobfield(adoquery1.FieldByName(zd)).LoadFromStream(str);
str.free;
end;
end
except
application.messagebox('保存圖片數據時出錯!','提示',mb_ok+mb_iconinformation);
end;
end;
function savedata(adoquery1:tadoquery;adoquery3:tadoquery;dbname:string;id:string;id1:string;zd:string):boolean;
var
strsql:string;
begin
if adoquery1.State in[dsEdit] then
if id<>id1 then begin
strsql:='select * from '+dbname+' where '+zd+'='+''''+id+'''';
adoexect(adoquery3,strsql);
if not(adoquery3.Eof and adoquery3.Bof) then begin
application.messagebox('該代碼已經存在!請選用其他的代碼!','警告',mb_ok+mb_iconwarning);
result:=false;
exit;
end;
end;
if adoquery1.State in[dsinsert] then begin
strsql:='select * from '+dbname+' where '+zd+'='+''''+id+'''';
showmessage(strsql);
adoexect(adoquery3,strsql);
if not(adoquery3.Recordset.eof and adoquery3.Recordset.BOF) then begin
application.MessageBox('該代碼已經存在!請選用其他的代碼!','警告',mb_ok+mb_iconwarning);
result:=false;
exit;
end;
end;
result:=true;
end;
function createid(adoqueryx:Tadoquery;id:string):string;
var
getid:LongInt;
begin
if adoqueryx.recordset.eof and adoqueryx.recordset.bof then begin
result:=id + '000001';
EXIT;
END;
ADOQUERYx.Last;
getid:=STRTOINT(COPY(ADOQUERYx.Fields[0].AsString,3,6));
getid:=getid+1;
result:=id+FORMATFLOAT('000000',GETID);
end;
procedure adoexect(adoqueryx:tadoquery;strsql:string);
begin
if adoqueryx.Active then adoqueryx.Close;
adoqueryx.Connection:=dm.ADOConnection1;
adoqueryx.Connection;
adoqueryx.sql.Clear;
adoqueryx.sql.Add(strsql);
adoqueryx.Prepared:=true;
adoqueryx.Open;
end;
procedure adodel(adoquery1:tadoquery;strsql:string);
begin
if adoquery1.Active then adoquery1.Close;
adoquery1.Connection:=dm.ADOConnection1;
adoquery1.Connection;
adoquery1.sql.Clear;
adoquery1.sql.Add(strsql);
adoquery1.ExecSQL;
end;
function isdate(str:string):boolean;
begin
result:=true;
try
strtodate(str);
except
if str<>'' then
result:=false;
end;
end;
function isinteger(str:string):boolean;
begin
result:=true;
try
strtoint(str);
except
result:=false;
end;
end;
function isfloat(str:string):boolean;
begin
result:=true;
try
strtofloat(str);
except
result:=false;
end;
end;
function FormatDate(da: TDateTime): String;
var i:integer;
begin
result:=formatdatetime('yyyy-mm-dd',da);
for i:=1 to length(result) do
if not (result[i] in ['0'..'9']) then result[i]:='-';
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -