Programación


Cómo ordenar una columna en Lazarus Código fuente para ordenar la columna de un dbgrid al pulsar sobre el título de la cabecera. Comprobará si estaba ordenado de forma ascendente, si es así ordenará la columna de forma descendente y si está ordenado de forma descendente ordenará la columna de forma ascendente. Con solo cuatro líneas de código lo tenemos desarrollado. ¡¡¡OjO!!! hay que añadir la clase «ZAbstractRODataset». También he puesto un label para saber los registros que tenemos y el registro en el que nos encontramos, cambiando cada vez que cambie el datasource.   unit Unit1;   {$mode objfpc}{$H+} […]

Ordenar columna ascendente/descentente dbgrid


Campo calculado en lazarus     Vamos a crear una columna «Total» para que realice un cálculo simple en un dbgrid «Importe»*»Apunte»       zquery1 botón derecho editar campos Crear un nuevo campo y añadirlo en la posición actual (Insert) Calculados             procedure TDataModule1.ZQuery1CalcFields(DataSet: TDataSet); begin DATASET.FieldByName('Total').Value := dataset.fieldbyname('IMPORTE').Value *dataset.fieldbyname('APUNTE').VALUE; end;procedure TDataModule1.ZQuery1CalcFields(DataSet: TDataSet); begin DATASET.FieldByName('Total').Value := dataset.fieldbyname('IMPORTE').Value *dataset.fieldbyname('APUNTE').VALUE; end; Fuerza y honor.

Campo calculado en Lazarus



Dbgrid en Lazarus       Veamos ahora como asignar el valor de una variable a un dbgrid en lazarus, realmente lo que haré será actualizar el DataSource que hace de puente entre el dbgrid y el dataset, en este caso una conexión con Zeos ZConnection.   var vfrmCuadre: TfrmCuadre; vEstadillo: String; vFecha: String;   implementation   {$R *.lfm}   { TfrmCuadre }       procedure TfrmCuadre.FormCreate(Sender: TObject); begin DataModule1.ZQuery1.Open; end;   procedure TfrmCuadre.DBGrid1ColExit(Sender: TObject); begin try   if DBGRid1.SelectedIndex = 0 then vEstadillo:=Dbgrid1.Columns[0].Field.Text;   if DBGRid1.SelectedIndex = 2 then vFecha:=Dbgrid1.Columns[2].Field.Text; except showmessage('Error en columna');   end; end;   […]

Asignar valor a columna dbgrid en Lazarus


Uso config.ini en Lazarus. Veamos la configuración del fichero config.ini para la carga de los datos iniciales  de la aplicación realizada en lazarus. fichero config.ini 1 2 3 4 5 6 7 [Configuracion] Usuario=SYSDBA Clave=masterkey Servidor=localhost BasedeDatos=F:\Lazarus\Cuadre\CUADRE.FDB Libreria=F:\Lazarus\Cuadre\fbclient.dll RutaConta=F:\Lazarus\Cuadre\dbf\[Configuracion] Usuario=SYSDBA Clave=masterkey Servidor=localhost BasedeDatos=F:\Lazarus\Cuadre\CUADRE.FDB Libreria=F:\Lazarus\Cuadre\fbclient.dll RutaConta=F:\Lazarus\Cuadre\dbf\ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 var ini: TINIFile; begin try ini := TINIFile.Create('config.ini'); ZConnection1.User:=ini.ReadString ('Configuracion', 'Usuario', ''); ZConnection1.Password:=ini.ReadString ('Configuracion', 'Clave', ''); ZConnection1.HostName:=ini.ReadString ('Configuracion', 'Servidor', ''); ZConnection1.Database:=ini.ReadString ('Configuracion', 'BasedeDatos', ''); ZConnection1.LibraryLocation:=ini.ReadString ('Configuracion', 'Libreria', ''); Dbf1.FilePathFull:=ini.ReadString ('Configuracion', 'RutaConta', ''); ini.free; except showmessage('Error al conectar la base de […]

Archivo config.ini en Lazarus



Aquí tenéis el código fuente del script realizado en python que convierte el fichero txt a xml de una remesa sepa del cuaderno 19. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 […]

Convertir ficheros de txt a xml sepa


Bueno os voy a dejar el código fuente de un procedimiento almacenado que se encarga de grabar los accesos de los usuarios a la aplicación. Le pasamos tres campos de entrada y con estos datos inserta un registro en la tabla usu_accesos. Los datos de entrada son USUARIO, CLAVE y ERROR. Realiza un insert con el usuario SYSDBA, que es el root de firebird. Procedimiento almacenado en firebird para grabar los accesos al sistema de gestión de la información 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SET TERM ^ ; CREATE PROCEDURE […]

Procedimiento almacenado en firebird