unit EmpresaClass;
interface
uses
Forms, Windows, ActiveX, shlobj, ShellAPI, SysUtils, Registry, IniFiles, Dialogs, classes, DB, MemDS, DBAccess, IBC, Graphics, jpeg, pngimage, ExtCtrls;
type
TEmpresaClass = class(TObject)
private
Transaction1: TIBCTransaction;
Transaction2: TIBCTransaction;
Transaction3: TIBCTransaction;
Transaction4: TIBCTransaction;
Transaction5: TIBCTransaction;
Transaction6: TIBCTransaction;
Transaction7: TIBCTransaction;
Transaction8: TIBCTransaction;
Transaction9: TIBCTransaction;
Transaction10: TIBCTransaction;
Transaction11: TIBCTransaction;
public
Conectado : Boolean;
Conexion: TIBCConnection;
Query1: TIBCQuery;
Query2: TIBCQuery;
Query3: TIBCQuery;
Query4: TIBCQuery;
Query5: TIBCQuery;
Query6: TIBCQuery;
Query7: TIBCQuery;
Query8: TIBCQuery;
Query9: TIBCQuery;
Query10: TIBCQuery;
Query11: TIBCQuery;
ID : integer;
RFC : string;
NOMBRE : string;
CALLE : string;
NUMEXT : string;
NUMINT : string;
COLONIA : string;
CP : string;
ESTADO : string;
MUNICIPIO : string;
PAIS : string;
LEYENDA1 : string;
LEYENDA2 : string;
LOGO : TField;
imgLogo: TImage;
procedure Datos;
procedure Registra(logo:string);
procedure Actualiza(logo:string);
constructor Create(Servidor:string; Puerto :string; BDPath:string; BDNombre :string; Usuario :string; Pass:string; Codificacion : string); overload;
destructor Destroy; override;
end;
implementation
constructor TEmpresaClass.Create(Servidor:string; Puerto :string; BDPath:string; BDNombre :string; Usuario :string; Pass:string; Codificacion : string);
begin
{$REGION 'CREACION'}
inherited Create;
Conectado := False;
Conexion := TIBCConnection.Create(nil);
Conexion.Params.Clear;
Conexion.LoginPrompt := False;
Conexion.Connected := False;
Conexion.Database := Servidor + '/' + Puerto + ':' + IncludeTrailingPathDelimiter(BDPath) + BDNombre;
Conexion.Params.Values['user_name'] := Usuario;
Conexion.Params.Values['password'] := Pass;
Conexion.Params.Values['lc_ctype'] := Codificacion;
Conexion.SQLDialect := 3;
Conexion.ClientLibrary := 'fbclient.dll';
Conexion.Options.UseUnicode := true;
Conexion.Connect;
if Conexion.Connected then
begin
Conectado := True;
end
else
begin
Conectado := False;
end;
Transaction1 := TIBCTransaction.Create(nil);
Transaction1.DefaultConnection := Conexion;
Transaction1.Params.Clear;
Transaction1.Params.Add('read_committed');
Transaction1.Params.Add('rec_version');
Transaction1.Params.Add('nowait');
Transaction2 := TIBCTransaction.Create(nil);
Transaction2.DefaultConnection := Conexion;
Transaction2.Params.Clear;
Transaction2.Params.Add('read_committed');
Transaction2.Params.Add('rec_version');
Transaction2.Params.Add('nowait');
Transaction3 := TIBCTransaction.Create(nil);
Transaction3.DefaultConnection := Conexion;
Transaction3.Params.Clear;
Transaction3.Params.Add('read_committed');
Transaction3.Params.Add('rec_version');
Transaction3.Params.Add('nowait');
Transaction4 := TIBCTransaction.Create(nil);
Transaction4.DefaultConnection := Conexion;
Transaction4.Params.Clear;
Transaction4.Params.Add('read_committed');
Transaction4.Params.Add('rec_version');
Transaction4.Params.Add('nowait');
Transaction5 := TIBCTransaction.Create(nil);
Transaction5.DefaultConnection := Conexion;
Transaction5.Params.Clear;
Transaction5.Params.Add('read_committed');
Transaction5.Params.Add('rec_version');
Transaction5.Params.Add('nowait');
Transaction6 := TIBCTransaction.Create(nil);
Transaction6.DefaultConnection := Conexion;
Transaction6.Params.Clear;
Transaction6.Params.Add('read_committed');
Transaction6.Params.Add('rec_version');
Transaction6.Params.Add('nowait');
Transaction7 := TIBCTransaction.Create(nil);
Transaction7.DefaultConnection := Conexion;
Transaction7.Params.Clear;
Transaction7.Params.Add('read_committed');
Transaction7.Params.Add('rec_version');
Transaction7.Params.Add('nowait');
Transaction8 := TIBCTransaction.Create(nil);
Transaction8.DefaultConnection := Conexion;
Transaction8.Params.Clear;
Transaction8.Params.Add('read_committed');
Transaction8.Params.Add('rec_version');
Transaction8.Params.Add('nowait');
Transaction9 := TIBCTransaction.Create(nil);
Transaction9.DefaultConnection := Conexion;
Transaction9.Params.Clear;
Transaction9.Params.Add('read_committed');
Transaction9.Params.Add('rec_version');
Transaction9.Params.Add('nowait');
Transaction10 := TIBCTransaction.Create(nil);
Transaction10.DefaultConnection := Conexion;
Transaction10.Params.Clear;
Transaction10.Params.Add('read_committed');
Transaction10.Params.Add('rec_version');
Transaction10.Params.Add('nowait');
Transaction11 := TIBCTransaction.Create(nil);
Transaction11.DefaultConnection := Conexion;
Transaction11.Params.Clear;
Transaction11.Params.Add('read_committed');
Transaction11.Params.Add('rec_version');
Transaction11.Params.Add('nowait');
Query1 := TIBCQuery.Create(nil);
Query1.Transaction := Transaction1;
Query1.Connection := Conexion;
Query1.FetchAll := True;
Query2 := TIBCQuery.Create(nil);
Query2.Transaction := Transaction2;
Query2.Connection := Conexion;
Query2.FetchAll := True;
Query3 := TIBCQuery.Create(nil);
Query3.Transaction := Transaction3;
Query3.Connection := Conexion;
Query3.FetchAll := True;
Query4 := TIBCQuery.Create(nil);
Query4.Transaction := Transaction4;
Query4.Connection := Conexion;
Query4.FetchAll := True;
Query5 := TIBCQuery.Create(nil);
Query5.Transaction := Transaction5;
Query5.Connection := Conexion;
Query5.FetchAll := True;
Query6 := TIBCQuery.Create(nil);
Query6.Transaction := Transaction6;
Query6.Connection := Conexion;
Query6.FetchAll := True;
Query7 := TIBCQuery.Create(nil);
Query7.Transaction := Transaction7;
Query7.Connection := Conexion;
Query7.FetchAll := True;
Query8 := TIBCQuery.Create(nil);
Query8.Transaction := Transaction8;
Query8.Connection := Conexion;
Query8.FetchAll := True;
Query9 := TIBCQuery.Create(nil);
Query9.Transaction := Transaction9;
Query9.Connection := Conexion;
Query9.FetchAll := True;
Query10 := TIBCQuery.Create(nil);
Query10.Transaction := Transaction10;
Query10.Connection := Conexion;
Query10.FetchAll := True;
Query11 := TIBCQuery.Create(nil);
Query11.Transaction := Transaction11;
Query11.Connection := Conexion;
Query11.FetchAll := True;
end;
destructor TEmpresaClass.Destroy;
begin
inherited Destroy;
Conexion.Free;
Transaction1.Free;
Transaction2.Free;
Transaction3.Free;
Transaction4.Free;
Transaction5.Free;
Transaction6.Free;
Transaction7.Free;
Transaction8.Free;
Transaction9.Free;
Transaction10.Free;
Transaction11.Free;
Query1.Free;
Query2.Free;
Query3.Free;
Query4.Free;
Query5.Free;
Query6.Free;
Query7.Free;
Query8.Free;
Query9.Free;
Query10.Free;
Query11.Free;
imgLogo.Free;
end;
procedure TEmpresaClass.Datos;
var
SQL: string;
I: integer;
MemoryStreamLogo: TMemoryStream;
JpgLogo: TJpegImage;
fldCampoLogo: TField;
StreamLogo: TStream;
MemoryStreamCedula: TMemoryStream;
JpgCedula: TJpegImage;
fldCampoCedula: TField;
StreamCedula: TStream;
begin
SQL := 'SELECT ';
SQL := SQL + ' ID, RFC, NOMBRE, CALLE, NUMEXT, ';
SQL := SQL + ' NUMINT, COLONIA, CP, ESTADO, MUNICIPIO, ';
SQL := SQL + ' PAIS, LEYENDA1, LEYENDA2,LOGO ';
SQL := SQL + ' FROM DATOSEMPRESA';
SQL := SQL + ' WHERE ID = ''' + IntToStr(1) + '''';
imgLogo := TImage.create(nil);
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(SQL);
Query1.Execute;
for I := 0 to Query1.RecordCount - 1 do
begin
ID := Query1.Fields[0].AsInteger;
RFC := Query1.Fields[1].AsString;
NOMBRE := Query1.Fields[2].AsString;
CALLE := Query1.Fields[3].AsString;
NUMEXT := Query1.Fields[4].AsString;
NUMINT := Query1.Fields[5].AsString;
COLONIA := Query1.Fields[6].AsString;
CP := Query1.Fields[7].AsString;
ESTADO := Query1.Fields[8].AsString;
MUNICIPIO := Query1.Fields[9].AsString;
PAIS := Query1.Fields[10].AsString;
LEYENDA1 := Query1.Fields[11].AsString;
LEYENDA2 := Query1.Fields[12].AsString;
JpgLogo := nil;
MemoryStreamLogo := nil;
try
MemoryStreamLogo := TMemoryStream.create;
fldCampoLogo := Query1.FieldByName('LOGO') as TBlobField;
StreamLogo := Query1.CreateBlobStream(fldCampoLogo, bmRead);
MemoryStreamLogo.LoadFromStream(StreamLogo);
JpgLogo := TJpegImage.create;
JpgLogo.LoadFromStream(MemoryStreamLogo);
imgLogo.Picture.Assign(JpgLogo);
except
imgLogo.Picture.Assign(nil);
JpgLogo.Free;
end;
JpgLogo.Free;
MemoryStreamLogo.Free;
Query1.Next;
end;
end;
procedure TEmpresaClass.Actualiza(logo:string);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('UPDATE DATOSEMPRESA SET ');
Query1.SQL.Add('RFC = ''' + RFC+ ''',');
Query1.SQL.Add('NOMBRE = ''' + NOMBRE + ''',');
Query1.SQL.Add('CALLE = ''' + CALLE + ''',');
Query1.SQL.Add('NUMEXT = ''' + NUMEXT + ''',');
Query1.SQL.Add('NUMINT = ''' + NUMINT + ''',');
Query1.SQL.Add('COLONIA = ''' + COLONIA + ''',');
Query1.SQL.Add('CP = ''' + CP + ''',');
Query1.SQL.Add('ESTADO = ''' + ESTADO + ''',');
Query1.SQL.Add('MUNICIPIO = ''' + MUNICIPIO + ''',');
Query1.SQL.Add('PAIS = ''' + PAIS+ '''');
Query1.SQL.Add('WHERE ID = ''' + IntToStr(1) + '''');
Query1.ExecSQL;
if (FileExists(logo)) then
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('UPDATE DATOSEMPRESA SET LOGO = :blbLogo');
Query1.SQL.Add('WHERE ID = ''' + IntToStr(1) + '''');
Query1.ParamByName('blbLogo').LoadFromFile(logo, ftBlob);
Query1.ExecSQL;
end;
end;
procedure TEmpresaClass.Registra(logo:string);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('INSERT INTO DATOSEMPRESA ');
Query1.SQL.Add('(');
Query1.SQL.Add(' RFC, NOMBRE, CALLE, NUMEXT, ');
Query1.SQL.Add(' NUMINT, COLONIA, CP, ESTADO, MUNICIPIO, ');
Query1.SQL.Add(' PAIS, ACTIVADO, LOGO');
Query1.SQL.Add(' )');
Query1.SQL.Add(' VALUES');
Query1.SQL.Add('( ');
Query1.SQL.Add(' :RFC, :NOMBRE, :CALLE, :NUMEXT, ');
Query1.SQL.Add(' :NUMINT, :COLONIA, :CP, :ESTADO, :MUNICIPIO, ');
Query1.SQL.Add(' :PAIS, :ACTIVADO, :LOGO');
Query1.SQL.Add(' )');
Query1.ParamByName('RFC').AsString := RFC ;
Query1.ParamByName('NOMBRE').AsString := NOMBRE ;
Query1.ParamByName('CALLE').AsString := CALLE;
Query1.ParamByName('NUMEXT').AsString := NUMEXT;
Query1.ParamByName('NUMINT').AsString := NUMINT;
Query1.ParamByName('COLONIA').AsString := COLONIA;
Query1.ParamByName('CP').AsString := CP;
Query1.ParamByName('ESTADO').AsString := ESTADO;
Query1.ParamByName('MUNICIPIO').AsString := MUNICIPIO ;
Query1.ParamByName('PAIS').AsString := PAIS;
Query1.ParamByName('ACTIVADO').asinteger := 1;
if FileExists(logo) then
begin
Query1.ParamByName('LOGO').LoadFromFile(logo, ftBlob);
end;
Query1.Execute;
end;
end.