Programación


CompárteloFacebook0Google+0TwitterLinkedinPinterest0         ¿Cómo activar el total de páginas en un listado creado con lazreport?. Vamos con una entrada cortita y sencilla. Tienes el problema de que en Lazreport el total de páginas siempre lo muestra como 0. Esta es la solución. 1.- File / Report Options …               2.- Activar “Two pass report”.                     Espero que os sirva de ayuda. 🙂

Activar total páginas en lazreport


CompárteloFacebook0Google+0TwitterLinkedinPinterest0 Ocultar campo según una condición dada. Veamos el problema es el siguiente: Tengo un listado en el que muestra una cabecera y un detalle, en el detalle tengo un campo que, dependiendo de una condición, estará visible o no. Para ello lo primero que voy a hacer es evaluar el campo que condiciona la visibilidad del campo “Concepto” y en el evento del listado “OnGetValue” añadiré el siguiente código: Código Fuente del programa. Evalúo si el parámetro es “MOSTRAR_CONCEPTO” Si el campo es null Indico que “MOSTRAR_CONCEPTO” vale 1 Si no “MOSTRAR_CONCEPTO” vale 0 procedure Tfrmfacturas.frFacturaGetValue(const ParName: String; var […]

Ocultar columnas o campo en LazReport (Lazarus)



CompárteloFacebook0Google+0TwitterLinkedinPinterest0     Cómo enviar emails desde [Lazarus] con Indy 10.   Incluimos las unidades necesarias para el proyecto. En este caso las unidades imprescindibles para que funcione el envío de email usando TSL son: IdSMTP IdMessage IdAttachmentFile IdIOHandler IdIOHandlerStack IdSSL IdSSLOpenSSL IdExplicitTLSClientServerBase La unidad quedaría así: uses Classes, SysUtils,Windows,DBGrids,Graphics,ZAbstractRODataset,ZDataset,DB,WinSock, IdSMTP,IdMessage,IdAttachmentFile, IdIOHandler, IdIOHandlerStack, IdSSL,IdSSLOpenSSL, IdExplicitTLSClientServerBase;uses Classes, SysUtils,Windows,DBGrids,Graphics,ZAbstractRODataset,ZDataset,DB,WinSock, IdSMTP,IdMessage,IdAttachmentFile, IdIOHandler, IdIOHandlerStack, IdSSL,IdSSLOpenSSL, IdExplicitTLSClientServerBase;   Creando el procedimiento para enviar los correos electrónicos. procedure EnviarMensaje( sUsuario, sClave, sHost, sAdjunto, sAsunto, sDestino, sMensaje,sRemitente: String; sPuerto:integer ); var SMTP: TIdSMTP; Mensaje: TIdMessage; Adjunto: TIdAttachmentFile; IdSSLIOHandlerSocket: TIdSSLIOHandlerSocketOpenSSL; begin // Creamos el componente de conexión con […]

Enviar email desde Lazarus smtp indy


CompárteloFacebook0Google+0TwitterLinkedinPinterest0 ¿Cómo insertar un combo dentro de un dbgrid? unit provincia;   {$mode objfpc}{$H+}   interface   uses Classes, SysUtils, db, FileUtil, Forms, Controls, Graphics, Dialogs, DbCtrls, DBGrids, Grids;   type   { TForm4 }   TForm4 = class(TForm) DBGrid1: TDBGrid; DBLookupComboBox1: TDBLookupComboBox; DBNavigator1: TDBNavigator; dsProvincia: TDataSource; dsPais: TDataSource; procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); private { private declarations } public { public declarations } end;   var Form4: TForm4;   implementation   {$R *.lfm}   { TForm4 }   procedure TForm4.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if […]

Insertar un Combo de otra tabla en un DBGrid



CompárteloFacebook0Google+0TwitterLinkedinPinterest0 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 […]

Ordenar columna ascendente/descentente dbgrid


CompárteloFacebook0Google+0TwitterLinkedinPinterest0Campo 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