Seguimos con las funciones
De mi archivo Fun.pas
Código Delphi
[-]Function ActQuery(QRY:TIBQuery; TxtSql:string; MostrarMensaje:boolean=VMiLogico;Retornarmensaje:boolean=VMiLogico; RetornarQuerry:boolean=VMiLogico): Boolean;
var AntSql:string;
begin
try
try
AntSql:=QRY.SQL.Text;
QRY.Active:=false;
QRY.SQL.Clear;
QRY.SQL.Text:=TxtSql;
QRY.Active:=true;
Result:=true;
except
on E: Exception do
begin
if MostrarMensaje=true then
begin
ShowMessage('Se ha producido un error: ' + Chr(13) + Chr(13)
+ 'Clase de error: ' + E.ClassName + Chr(13) + Chr(13)
+ 'Mensaje del error: ' + E.Message+ Chr(13) + Chr(13)
+' '+ Chr(13) + Chr(13)
+'Se volvera al estado anterior');
end;
Result:=false;
end;
end;
finally
if Result=false then
begin
if Retornarmensaje=true then ShowMessage('Sentencia Sql que ha dado Error' + Chr(13) + Chr(13)+ QRY.SQL.Text);
if RetornarQuerry=true then
begin
QRY.Active:=false;
QRY.SQL.Clear;
QRY.SQL.Text:=AntSql;
QRY.Active:=true;
end;
end;
end;
end;
function ActIbdataset(ibdata: TIBDataSet; SQL:string):Boolean;
var VPorsiacaso:string;
begin
VPorsiacaso:=ibdata.SelectSQL.Text; try
try
ibdata.Active:=False;
ibdata.SelectSQL.Clear;
ibdata.SelectSQL.Add(SQL);
ibdata.Active:=True;
Result:=true
except
on E: Exception do
begin
ShowMessage('Se ha producido un error: ' + Chr(13) + Chr(13)
+ 'Clase de error: ' + E.ClassName + Chr(13) + Chr(13)
+ 'Mensaje del error: ' + E.Message+ Chr(13) + Chr(13)
+' '+ Chr(13) + Chr(13)
+'Se volvera al estado anterior');
Result:=false;
end;
end;
finally
if Result=false then
begin
ibdata.Active:=false;
ibdata.SelectSQL.Clear;
ibdata.SelectSQL.Add(VPorsiacaso);
ibdata.Active:=true;
end;
end;
end;
Function QuerryOC(QRY:TIBQuery; OpenClose:boolean=False): Boolean;
begin
if OpenClose=true then
begin
if QRY.Active=false then QRY.Active:=true;
Result:=True;
end else
begin
if QRY.Active=true then QRY.Active:=False;
Result:=False;
end;
end;
function SoloInteger(cadena:string):Integer;
var VarSCadena,VarSCaracter:String;
VarIContadorFor:Integer;
begin
VarSCadena:='';
for VarIContadorFor := 1 to Length(cadena) do
begin
VarSCaracter:=Copy(cadena,VarIContadorFor,1);
if VarSCaracter='0' then VarSCadena:=VarSCadena+'0';
if VarSCaracter='1' then VarSCadena:=VarSCadena+'1';
if VarSCaracter='2' then VarSCadena:=VarSCadena+'2';
if VarSCaracter='3' then VarSCadena:=VarSCadena+'3';
if VarSCaracter='4' then VarSCadena:=VarSCadena+'4';
if VarSCaracter='5' then VarSCadena:=VarSCadena+'5';
if VarSCaracter='6' then VarSCadena:=VarSCadena+'6';
if VarSCaracter='7' then VarSCadena:=VarSCadena+'7';
if VarSCaracter='8' then VarSCadena:=VarSCadena+'8';
if VarSCaracter='9' then VarSCadena:=VarSCadena+'9';
end;
if VarSCadena='' then VarSCadena:='0';
Result:=StrToInt(VarSCadena);
end;
Si veis que se me ha pasado poner alguna función por favor decidme lo.