From hfiandor en ceniai.inf.cu Wed May 6 17:45:12 2020 From: hfiandor en ceniai.inf.cu (hfiandor) Date: Wed, 6 May 2020 11:45:12 -0400 Subject: [Lazarus-es] inscribirme Message-ID: Mi email hfiandor en ceniai.inf.cu ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jesusrmx en gmail.com Thu May 7 03:32:03 2020 From: jesusrmx en gmail.com (Jesus Reyes A.) Date: Wed, 06 May 2020 20:32:03 -0500 Subject: [Lazarus-es] inscribirme In-Reply-To: References: Message-ID: Hola Héctor! La suscripción ha sido reactivada. Cualquier inconveniente me avisas. Saludos! Jesus Reyes A. > > Mi email > > hfiandor en ceniai.inf.cu -- Usando el cliente de correo de Opera: http://www.opera.com/mail/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ayepes2003 en yahoo.es Thu May 7 06:24:36 2020 From: ayepes2003 en yahoo.es (Alirio yepes) Date: Thu, 7 May 2020 04:24:36 +0000 (UTC) Subject: [Lazarus-es] inscribirme In-Reply-To: References: Message-ID: <1220845597.868334.1588825476545@mail.yahoo.com> Ooo amigos q sorpresa volví a recibir correos de la lista de Lazarus. A alegríaDeseo q en esta crisis y cuarentena las familias de cada uno.  Este bienEntre todos saldremos a adelante Enviado desde Yahoo Mail para Android El mié., 6 de may. de 2020 a la(s) 20:32, Jesus Reyes A. via Lazarus-es escribió: _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ An embedded and charset-unspecified text was scrubbed... Name: Untitled URL: From ivanlugoh en gmail.com Sat May 9 01:33:19 2020 From: ivanlugoh en gmail.com (=?UTF-8?Q?Iv=C3=A1n_Lugo_Herrera?=) Date: Fri, 8 May 2020 19:33:19 -0400 Subject: [Lazarus-es] Lectura de tabla en scrip de LazReport Message-ID: Recién me inscribo en esta lista de correo dedicada a Lazarus IDE, con el interés de progresar en esta herramienta de desarrollo de software. Me alegra encontrar información sobre Lazarus el español. La mayoría de las fuentes que he encontrado en los dos años que llevo estudiando esta paltaforma son: inglés, portugués (bastante), francés (algo) y poco en español. Aunque jamás utilicé Delphi, he apoyado mi aprendizaje con diversos consejos en español para este equivalente comercial. No descubrí la manera de consultar en la lista los temas tratados previamente, así que quizá mi consulta ya haya sido respondida en el sitio. Consulta LazReport: Desde un script en LazReport ¿puedo leer un registro de una tabla que es visible desde el reporte? Algo como: if [sqlCuentas.Locate('CTACOD',[Cuenta],[loPartialKey])] then ; Text:= [sqlCuentas.FieldByName('CTANOM').AsString] ; else Text:= 'No identificada'; - La instrucción anterior (locate) está en un cuadro de texto en la banda GroupHeader (Condición: [sqlMovim."CTACOD"]) - en la banda MasterData tengo la tabla "sqlMovim" - "sqlCuentas", con todos sus campos, es visible desde el reporte en modo "design" - "Cuenta" en una variable (Otras) que contiene [sqlMovim."CTACOD"] que tiene su equivalente en sqlCuentas He probado con "begin // end", he incluido "uses db;" invariablemente el resultado es "No identificada" hay un cuadro de texto que contiene sqlCuentas.CtaNom y siempre muestra el primer registro ¿es posible lo que pretendo? si lo es, ¿cómo debo realizarlo? o ¿cuál es mi error? Nota: el pase de parámetros con ParName - ParValue o con FindVariable no es una opción porque se pretende que el reporte no esté atado a un formulario. De antemano, gracias. Iván Lugo Herrera Valencia, Venezuela ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From hfiandor en ceniai.inf.cu Mon May 11 17:26:45 2020 From: hfiandor en ceniai.inf.cu (hfiandor) Date: Mon, 11 May 2020 11:26:45 -0400 Subject: [Lazarus-es] como arreglar lazarus Message-ID: Amigos, lo primero mis saludos. Parece que metí los dedos donde no debía y se me echó a perder la vista del inspector de objetos y el árbol de componentes de la parte izquierda en la pantalla. Cómo lo arreglo. Con la opción Ver puedo restituir el inspector de objetos, pero no el árbol de componentes que normalmente aparecía en la parte superior. Debe ser posible reinstalar el Lazarus, pero no sé qué botón tocar y tengo miedo empeorar. Saludos, Ing. Héctor Fiandor Rosario hfiandor en ceniai.inf.cu ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From slibre en natio.co.cu Mon May 11 20:12:57 2020 From: slibre en natio.co.cu (Ismael L. Donis Garcia) Date: Mon, 11 May 2020 14:12:57 -0400 Subject: [Lazarus-es] Lectura de tabla en scrip de LazReport References: Message-ID: <30263E8E8DCC4DFCA69E8813FFF3D823@natio.co.cu> En las opciones del reporte lo debes definir como de 2 pasos, en el primero guardas el valor en un arreglo y en el segundo pase asignas el valor tomándolo del arreglo. Saludos -- Ismael Devuan User: http://distrowatch.com/table.php?distribution=devuan Personal Web Site: http://www.sisconge.byethost15.com ----- Original Message ----- From: Iván Lugo Herrera via Lazarus-es To: lazarus-es en lists.lazarus-ide.org Cc: Iván Lugo Herrera Sent: Friday, May 08, 2020 7:33 PM Subject: [Lazarus-es] Lectura de tabla en scrip de LazReport Recién me inscribo en esta lista de correo dedicada a Lazarus IDE, con el interés de progresar en esta herramienta de desarrollo de software. Me alegra encontrar información sobre Lazarus el español. La mayoría de las fuentes que he encontrado en los dos años que llevo estudiando esta paltaforma son: inglés, portugués (bastante), francés (algo) y poco en español. Aunque jamás utilicé Delphi, he apoyado mi aprendizaje con diversos consejos en español para este equivalente comercial. No descubrí la manera de consultar en la lista los temas tratados previamente, así que quizá mi consulta ya haya sido respondida en el sitio. Consulta LazReport: Desde un script en LazReport ¿puedo leer un registro de una tabla que es visible desde el reporte? Algo como: if [sqlCuentas.Locate('CTACOD',[Cuenta],[loPartialKey])] then ; Text:= [sqlCuentas.FieldByName('CTANOM').AsString] ; else Text:= 'No identificada'; - La instrucción anterior (locate) está en un cuadro de texto en la banda GroupHeader (Condición: [sqlMovim."CTACOD"]) - en la banda MasterData tengo la tabla "sqlMovim" - "sqlCuentas", con todos sus campos, es visible desde el reporte en modo "design" - "Cuenta" en una variable (Otras) que contiene [sqlMovim."CTACOD"] que tiene su equivalente en sqlCuentas He probado con "begin // end", he incluido "uses db;" invariablemente el resultado es "No identificada" hay un cuadro de texto que contiene sqlCuentas.CtaNom y siempre muestra el primer registro ¿es posible lo que pretendo? si lo es, ¿cómo debo realizarlo? o ¿cuál es mi error? Nota: el pase de parámetros con ParName - ParValue o con FindVariable no es una opción porque se pretende que el reporte no esté atado a un formulario. De antemano, gracias. Iván Lugo Herrera Valencia, Venezuela ------------------------------------------------------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ivanlugoh en gmail.com Mon May 11 20:45:15 2020 From: ivanlugoh en gmail.com (=?UTF-8?Q?Iv=C3=A1n_Lugo_Herrera?=) Date: Mon, 11 May 2020 14:45:15 -0400 Subject: [Lazarus-es] Lectura de tabla en scrip de LazReport In-Reply-To: <30263E8E8DCC4DFCA69E8813FFF3D823@natio.co.cu> References: <30263E8E8DCC4DFCA69E8813FFF3D823@natio.co.cu> Message-ID: Buenas tardes Ismael. Gracias por atender mi consulta. Suena ingenioso lo del reporte en dos pases, sobre todo para acumulados y paginación. Tengo un inconveneinte en la aplicación de tu propuesta: - cuando hago el primer pase no tengo un valor que guardar en el arreglo porque no lo he buscado en sqlCuentas - si uso el valor actual de CTANOM en sqlCuentas siempre será el mismo Lo que quisiera hacer es una lectura por clave a una tabla desde el reporte. Gracias nuevamente. ILH Libre de virus. www.avast.com <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> El lun., 11 may. 2020 a las 14:13, Ismael L. Donis Garcia via Lazarus-es (< lazarus-es en lists.lazarus-ide.org>) escribió: > En las opciones del reporte lo debes definir como de 2 pasos, en el > primero guardas el valor en un arreglo y en el segundo pase asignas el > valor tomándolo del arreglo. > > Saludos > -- > Ismael > Devuan User: http://distrowatch.com/table.php?distribution=devuan > Personal Web Site: http://www.sisconge.byethost15.com > > ----- Original Message ----- > *From:* Iván Lugo Herrera via Lazarus-es > > *To:* lazarus-es en lists.lazarus-ide.org > *Cc:* Iván Lugo Herrera > *Sent:* Friday, May 08, 2020 7:33 PM > *Subject:* [Lazarus-es] Lectura de tabla en scrip de LazReport > > Recién me inscribo en esta lista de correo dedicada a Lazarus IDE, con el > interés de progresar en esta herramienta de desarrollo de software. > Me alegra encontrar información sobre Lazarus el español. > La mayoría de las fuentes que he encontrado en los dos años que llevo > estudiando esta paltaforma son: inglés, portugués (bastante), francés > (algo) y poco en español. > Aunque jamás utilicé Delphi, he apoyado mi aprendizaje con diversos > consejos en español para este equivalente comercial. > > No descubrí la manera de consultar en la lista los temas tratados > previamente, así que quizá mi consulta ya haya sido respondida en el sitio. > Consulta LazReport: > Desde un script en LazReport ¿puedo leer un registro de una tabla que es > visible desde el reporte? > Algo como: > > if [sqlCuentas.Locate('CTACOD',[Cuenta],[loPartialKey])] then ; > Text:= [sqlCuentas.FieldByName('CTANOM').AsString] ; > else Text:= 'No identificada'; > > - La instrucción anterior (locate) está en un cuadro de texto en la banda > GroupHeader (Condición: [sqlMovim."CTACOD"]) > - en la banda MasterData tengo la tabla "sqlMovim" > - "sqlCuentas", con todos sus campos, es visible desde el reporte en modo > "design" > - "Cuenta" en una variable (Otras) que contiene [sqlMovim."CTACOD"] que > tiene su equivalente en sqlCuentas > He probado con "begin // end", he incluido "uses db;" > > invariablemente el resultado es "No identificada" > > hay un cuadro de texto que contiene sqlCuentas.CtaNom y siempre muestra el > primer registro > > ¿es posible lo que pretendo? > si lo es, ¿cómo debo realizarlo? o ¿cuál es mi error? > > Nota: el pase de parámetros con ParName - ParValue o con FindVariable no > es una opción > porque se pretende que el reporte no esté atado a un formulario. > > De antemano, gracias. > > Iván Lugo Herrera > Valencia, Venezuela > > ------------------------------ > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus-es > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus-es > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From slibre en natio.co.cu Mon May 11 21:35:29 2020 From: slibre en natio.co.cu (Ismael L. Donis Garcia) Date: Mon, 11 May 2020 15:35:29 -0400 Subject: [Lazarus-es] Lectura de tabla en scrip de LazReport References: <30263E8E8DCC4DFCA69E8813FFF3D823@natio.co.cu> Message-ID: Lees el valor en el procedimiento BeginBand y lo asignas en el procedimiento GetValue Una cosa muy importante, o mejor dicha obligatorio en el pie del grupo tienes que poner el campo a calcular Si no quieres el pie visible lo ocultas en el segundo pase Te paso un procedimiento de leer que tengo, en este ejemplo el control se llama rpt En este ejemplo los campos de la BD son: nat, debe, haber y saldo procedure Tflbal.rptBeginBand(Band: TfrBand); var i, j: integer; begin if rpt.FinalPass then begin // SEGUNDO PASE // aqui ocultas los pies si no los quieres visibles y inicializas los indices del arreglo if ((Band.Name='GroupFooter1') or (Band.Name='GroupFooter2') or (Band.Name='GroupFooter3') or (Band.Name='GroupFooter4') or (Band.Name='GroupFooter5') or (Band.Name='GroupFooter6')) then Band.Visible := false; if (Band.Name='GroupHeader1') then begin // reset index sctaindex := -1; capindex := -1; scapindex := -1; eleindex := -1; empindex := -1; inc(ctaindex); end else if (Band.Name='GroupHeader2') then inc(sctaindex) else if (Band.Name='GroupHeader3') then inc(capindex) else if (Band.Name='GroupHeader4') then inc(scapindex) else if (Band.Name='GroupHeader5') then inc(eleindex) end else if (Band.Name='GroupHeader6') then inc(empindex); // PRIMER PASE end else if Band.IsDataBand then begin if (UpperCase(dm.rssc7.FieldByName('nat').AsString) = 'A') then begin dhaber := dhaber + dm.rssc7.FieldByName('saldo').AsFloat; dmhaber := dmhaber + dm.rssc7.FieldByName('haber').AsFloat - dm.rssc7.FieldByName('debe').AsFloat; end else begin ddebe := ddebe + dm.rssc7.FieldByName('saldo').AsFloat; dmdebe := dmdebe + dm.rssc7.FieldByName('debe').AsFloat - dm.rssc7.FieldByName('haber').AsFloat; end; ddif := ddebe - dhaber; dmdif := dmdebe - dmhaber; if ((dm.rssc7.FieldByName('saldo').AsFloat = 0) and (dm.rssc7.FieldByName('debe').AsFloat = dm.rssc7.FieldByName('haber').AsFloat)) then Band.Visible := false else Band.Visible := true; end else if (Band.name='GroupHeader1') then begin i := Length(Hdrs); SetLength(Hdrs, i+1); end else if (Band.Name='GroupFooter1') then begin i := Length(Hdrs)-1; Hdrs[i].Sum := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); Hdrs[i].Debe := frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); Hdrs[i].Haber := frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); end else if (Band.Name='GroupFooter2') then begin i := Length(Hdrs)-1; j := Length(Hdrs[i].sascta); SetLength(Hdrs[i].sascta, j+1); SetLength(Hdrs[i].pdscta, j+1); SetLength(Hdrs[i].phscta, j+1); Hdrs[i].sascta[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); Hdrs[i].pdscta[j] := frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); Hdrs[i].phscta[j] := frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); end else if (Band.Name='GroupFooter3') then begin i := Length(Hdrs)-1; j := Length(Hdrs[i].sacap); SetLength(Hdrs[i].sacap, j+1); SetLength(Hdrs[i].pdcap, j+1); SetLength(Hdrs[i].phcap, j+1); Hdrs[i].sacap[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); Hdrs[i].pdcap[j] := frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); Hdrs[i].phcap[j] := frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); end else if (Band.Name='GroupFooter4') then begin i := Length(Hdrs)-1; j := Length(Hdrs[i].sascap); SetLength(Hdrs[i].sascap, j+1); SetLength(Hdrs[i].pdscap, j+1); SetLength(Hdrs[i].phscap, j+1); Hdrs[i].sascap[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); Hdrs[i].pdscap[j] := frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); Hdrs[i].phscap[j] := frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); end else if (Band.Name='GroupFooter5') then begin i := Length(Hdrs)-1; j := Length(Hdrs[i].saele); SetLength(Hdrs[i].saele, j+1); SetLength(Hdrs[i].pdele, j+1); SetLength(Hdrs[i].phele, j+1); Hdrs[i].saele[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); Hdrs[i].pdele[j] := frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); Hdrs[i].phele[j] := frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); end else if (Band.Name='GroupFooter6') then begin i := Length(Hdrs)-1; j := Length(Hdrs[i].saemp); SetLength(Hdrs[i].saemp, j+1); SetLength(Hdrs[i].pdemp, j+1); SetLength(Hdrs[i].phemp, j+1); Hdrs[i].saemp[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); Hdrs[i].pdemp[j] := frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); Hdrs[i].phemp[j] := frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); end; end; end; Saludos Reiterados -- Ismael Devuan User: http://distrowatch.com/table.php?distribution=devuan Personal Web Site: http://www.sisconge.byethost15.com ----- Original Message ----- From: Iván Lugo Herrera via Lazarus-es To: Spanish version of Lazarus List Cc: Iván Lugo Herrera Sent: Monday, May 11, 2020 2:45 PM Subject: Re: [Lazarus-es] Lectura de tabla en scrip de LazReport Buenas tardes Ismael. Gracias por atender mi consulta. Suena ingenioso lo del reporte en dos pases, sobre todo para acumulados y paginación. Tengo un inconveneinte en la aplicación de tu propuesta: - cuando hago el primer pase no tengo un valor que guardar en el arreglo porque no lo he buscado en sqlCuentas - si uso el valor actual de CTANOM en sqlCuentas siempre será el mismo Lo que quisiera hacer es una lectura por clave a una tabla desde el reporte. Gracias nuevamente. ILH Libre de virus. www.avast.com El lun., 11 may. 2020 a las 14:13, Ismael L. Donis Garcia via Lazarus-es () escribió: En las opciones del reporte lo debes definir como de 2 pasos, en el primero guardas el valor en un arreglo y en el segundo pase asignas el valor tomándolo del arreglo. Saludos -- Ismael Devuan User: http://distrowatch.com/table.php?distribution=devuan Personal Web Site: http://www.sisconge.byethost15.com ----- Original Message ----- From: Iván Lugo Herrera via Lazarus-es To: lazarus-es en lists.lazarus-ide.org Cc: Iván Lugo Herrera Sent: Friday, May 08, 2020 7:33 PM Subject: [Lazarus-es] Lectura de tabla en scrip de LazReport Recién me inscribo en esta lista de correo dedicada a Lazarus IDE, con el interés de progresar en esta herramienta de desarrollo de software. Me alegra encontrar información sobre Lazarus el español. La mayoría de las fuentes que he encontrado en los dos años que llevo estudiando esta paltaforma son: inglés, portugués (bastante), francés (algo) y poco en español. Aunque jamás utilicé Delphi, he apoyado mi aprendizaje con diversos consejos en español para este equivalente comercial. No descubrí la manera de consultar en la lista los temas tratados previamente, así que quizá mi consulta ya haya sido respondida en el sitio. Consulta LazReport: Desde un script en LazReport ¿puedo leer un registro de una tabla que es visible desde el reporte? Algo como: if [sqlCuentas.Locate('CTACOD',[Cuenta],[loPartialKey])] then ; Text:= [sqlCuentas.FieldByName('CTANOM').AsString] ; else Text:= 'No identificada'; - La instrucción anterior (locate) está en un cuadro de texto en la banda GroupHeader (Condición: [sqlMovim."CTACOD"]) - en la banda MasterData tengo la tabla "sqlMovim" - "sqlCuentas", con todos sus campos, es visible desde el reporte en modo "design" - "Cuenta" en una variable (Otras) que contiene [sqlMovim."CTACOD"] que tiene su equivalente en sqlCuentas He probado con "begin // end", he incluido "uses db;" invariablemente el resultado es "No identificada" hay un cuadro de texto que contiene sqlCuentas.CtaNom y siempre muestra el primer registro ¿es posible lo que pretendo? si lo es, ¿cómo debo realizarlo? o ¿cuál es mi error? Nota: el pase de parámetros con ParName - ParValue o con FindVariable no es una opción porque se pretende que el reporte no esté atado a un formulario. De antemano, gracias. Iván Lugo Herrera Valencia, Venezuela -------------------------------------------------------------------------- _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es ------------------------------------------------------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ivanlugoh en gmail.com Tue May 12 04:15:27 2020 From: ivanlugoh en gmail.com (=?UTF-8?Q?Iv=C3=A1n_Lugo_Herrera?=) Date: Mon, 11 May 2020 22:15:27 -0400 Subject: [Lazarus-es] Lectura de tabla en scrip de LazReport In-Reply-To: References: <30263E8E8DCC4DFCA69E8813FFF3D823@natio.co.cu> Message-ID: Gracias Ismael. Muy interesante tu procedimiento, precisamente lo que se requiere para un Balance, sea contable o auxiliar. Incluso, para mí que no tengo tanto conocimiento, es material de estudio, p.ej.: SetLength() jamás lo he utilizado y de frParser.Calc() ni siquiera encontré documentación. Ya te lo heredé. Gracias. Me gustaría saber qué otros recursos de in-formación podrías recomendarme, además de Free Pascal wiki donde debería estar todo, pero no está. En mi consulta original especifiqué lo siguiente: <> En mi proyecto para hacer un Sistema administrativo con Lazarus los reportes se seleccionan de un pequeño panel que contiene un ListBox con la identificación de los reportes, un RadioGroup con las salidas posibles: pantalla, impresora, pdf y hoja de cálculo, y los botones [Imprimir] y [Salir]. Allí no puedo colocar código para una cantidad de reportes diferentes(1). El registro que contiene la información de cada reporte posee un campo donde se guarda una instrucción "select" en la cual se basa el reporte y que nuestro pequeño panel procesa de forma genérica(2). Los componentes de LazReport están en un DataModule, sólo hay un TFrReport en todo el Sistema. Espero haber explicado mejor mi búsqueda a través de los objetivos que persigo. Necesito que el reporte tenga la independencia suficiente para actuar sin depender de un formulario. Gracias por tu ayuda, Ismael. ILH (1) El panel de cheques tiene su botón para emitir el cheque y utiliza parámetros que lo relacionan con el reporte, como ésta puede haber otras excepciones (2) en el momento de la emisión se pasa un número variable de parámetros predeterminados que limitan el alcance del reporte: fecha o período, sujeto(s) involucrado(s), etc El lun., 11 may. 2020 a las 15:35, Ismael L. Donis Garcia via Lazarus-es (< lazarus-es en lists.lazarus-ide.org>) escribió: > Lees el valor en el procedimiento BeginBand y lo asignas en el > procedimiento GetValue > > Una cosa muy importante, o mejor dicha obligatorio en el pie del grupo > tienes que poner el campo a calcular > Si no quieres el pie visible lo ocultas en el segundo pase > > Te paso un procedimiento de leer que tengo, en este ejemplo el control se > llama rpt > En este ejemplo los campos de la BD son: nat, debe, haber y saldo > > procedure Tflbal.rptBeginBand(Band: TfrBand); > var > i, j: integer; > begin > if rpt.FinalPass then begin > // SEGUNDO PASE > // aqui ocultas los pies si no los quieres visibles y inicializas los > indices del arreglo > > if ((Band.Name='GroupFooter1') or (Band.Name='GroupFooter2') or > (Band.Name='GroupFooter3') or (Band.Name='GroupFooter4') or > (Band.Name='GroupFooter5') or (Band.Name='GroupFooter6')) then > Band.Visible := false; > if (Band.Name='GroupHeader1') then begin > // reset index > sctaindex := -1; > capindex := -1; > scapindex := -1; > eleindex := -1; > empindex := -1; > inc(ctaindex); > end else if (Band.Name='GroupHeader2') then > inc(sctaindex) > else if (Band.Name='GroupHeader3') then > inc(capindex) > else if (Band.Name='GroupHeader4') then > inc(scapindex) > else if (Band.Name='GroupHeader5') then > inc(eleindex) > end else if (Band.Name='GroupHeader6') then > inc(empindex); > // PRIMER PASE > end else if Band.IsDataBand then begin > if (UpperCase(dm.rssc7.FieldByName('nat').AsString) = 'A') then begin > dhaber := dhaber + dm.rssc7.FieldByName('saldo').AsFloat; > dmhaber := dmhaber + dm.rssc7.FieldByName('haber').AsFloat - > dm.rssc7.FieldByName('debe').AsFloat; > end else begin > ddebe := ddebe + dm.rssc7.FieldByName('saldo').AsFloat; > dmdebe := dmdebe + dm.rssc7.FieldByName('debe').AsFloat - > dm.rssc7.FieldByName('haber').AsFloat; > end; > ddif := ddebe - dhaber; > dmdif := dmdebe - dmhaber; > if ((dm.rssc7.FieldByName('saldo').AsFloat = 0) and > (dm.rssc7.FieldByName('debe').AsFloat = > dm.rssc7.FieldByName('haber').AsFloat)) then > Band.Visible := false > else > Band.Visible := true; > end else if (Band.name='GroupHeader1') then begin > i := Length(Hdrs); > SetLength(Hdrs, i+1); > end else if (Band.Name='GroupFooter1') then begin > i := Length(Hdrs)-1; > Hdrs[i].Sum := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); > Hdrs[i].Debe := > frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); > Hdrs[i].Haber := > frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); > end else if (Band.Name='GroupFooter2') then begin > i := Length(Hdrs)-1; > j := Length(Hdrs[i].sascta); > SetLength(Hdrs[i].sascta, j+1); > SetLength(Hdrs[i].pdscta, j+1); > SetLength(Hdrs[i].phscta, j+1); > Hdrs[i].sascta[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], > MasterData1)'); > Hdrs[i].pdscta[j] := > frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); > Hdrs[i].phscta[j] := > frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); > end else if (Band.Name='GroupFooter3') then begin > i := Length(Hdrs)-1; > j := Length(Hdrs[i].sacap); > SetLength(Hdrs[i].sacap, j+1); > SetLength(Hdrs[i].pdcap, j+1); > SetLength(Hdrs[i].phcap, j+1); > Hdrs[i].sacap[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], > MasterData1)'); > Hdrs[i].pdcap[j] := > frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); > Hdrs[i].phcap[j] := > frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); > end else if (Band.Name='GroupFooter4') then begin > i := Length(Hdrs)-1; > j := Length(Hdrs[i].sascap); > SetLength(Hdrs[i].sascap, j+1); > SetLength(Hdrs[i].pdscap, j+1); > SetLength(Hdrs[i].phscap, j+1); > Hdrs[i].sascap[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], > MasterData1)'); > Hdrs[i].pdscap[j] := > frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); > Hdrs[i].phscap[j] := > frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); > end else if (Band.Name='GroupFooter5') then begin > i := Length(Hdrs)-1; > j := Length(Hdrs[i].saele); > SetLength(Hdrs[i].saele, j+1); > SetLength(Hdrs[i].pdele, j+1); > SetLength(Hdrs[i].phele, j+1); > Hdrs[i].saele[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], > MasterData1)'); > Hdrs[i].pdele[j] := > frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); > Hdrs[i].phele[j] := > frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); > end else if (Band.Name='GroupFooter6') then begin > i := Length(Hdrs)-1; > j := Length(Hdrs[i].saemp); > SetLength(Hdrs[i].saemp, j+1); > SetLength(Hdrs[i].pdemp, j+1); > SetLength(Hdrs[i].phemp, j+1); > Hdrs[i].saemp[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], > MasterData1)'); > Hdrs[i].pdemp[j] := > frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); > Hdrs[i].phemp[j] := > frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); > end; > end; > end; > Saludos Reiterados > -- > Ismael > Devuan User: http://distrowatch.com/table.php?distribution=devuan > Personal Web Site: http://www.sisconge.byethost15.com > > > ----- Original Message ----- > *From:* Iván Lugo Herrera via Lazarus-es > > *To:* Spanish version of Lazarus List > *Cc:* Iván Lugo Herrera > *Sent:* Monday, May 11, 2020 2:45 PM > *Subject:* Re: [Lazarus-es] Lectura de tabla en scrip de LazReport > > Buenas tardes Ismael. Gracias por atender mi consulta. > Suena ingenioso lo del reporte en dos pases, sobre todo para acumulados y > paginación. > > Tengo un inconveneinte en la aplicación de tu propuesta: > - cuando hago el primer pase no tengo un valor que guardar en el arreglo > porque no lo he buscado en sqlCuentas > - si uso el valor actual de CTANOM en sqlCuentas siempre será el mismo > > Lo que quisiera hacer es una lectura por clave a una tabla desde el > reporte. > > Gracias nuevamente. > > ILH > > > Libre > de virus. www.avast.com > > <#m_700402038046021163_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > > El lun., 11 may. 2020 a las 14:13, Ismael L. Donis Garcia via Lazarus-es (< > lazarus-es en lists.lazarus-ide.org>) escribió: > >> En las opciones del reporte lo debes definir como de 2 pasos, en el >> primero guardas el valor en un arreglo y en el segundo pase asignas el >> valor tomándolo del arreglo. >> >> Saludos >> -- >> Ismael >> Devuan User: http://distrowatch.com/table.php?distribution=devuan >> Personal Web Site: http://www.sisconge.byethost15.com >> >> ----- Original Message ----- >> *From:* Iván Lugo Herrera via Lazarus-es >> >> *To:* lazarus-es en lists.lazarus-ide.org >> *Cc:* Iván Lugo Herrera >> *Sent:* Friday, May 08, 2020 7:33 PM >> *Subject:* [Lazarus-es] Lectura de tabla en scrip de LazReport >> >> Recién me inscribo en esta lista de correo dedicada a Lazarus IDE, con el >> interés de progresar en esta herramienta de desarrollo de software. >> Me alegra encontrar información sobre Lazarus el español. >> La mayoría de las fuentes que he encontrado en los dos años que llevo >> estudiando esta paltaforma son: inglés, portugués (bastante), francés >> (algo) y poco en español. >> Aunque jamás utilicé Delphi, he apoyado mi aprendizaje con diversos >> consejos en español para este equivalente comercial. >> >> No descubrí la manera de consultar en la lista los temas tratados >> previamente, así que quizá mi consulta ya haya sido respondida en el sitio. >> Consulta LazReport: >> Desde un script en LazReport ¿puedo leer un registro de una tabla que es >> visible desde el reporte? >> Algo como: >> >> if [sqlCuentas.Locate('CTACOD',[Cuenta],[loPartialKey])] then ; >> Text:= [sqlCuentas.FieldByName('CTANOM').AsString] ; >> else Text:= 'No identificada'; >> >> - La instrucción anterior (locate) está en un cuadro de texto en la banda >> GroupHeader (Condición: [sqlMovim."CTACOD"]) >> - en la banda MasterData tengo la tabla "sqlMovim" >> - "sqlCuentas", con todos sus campos, es visible desde el reporte en modo >> "design" >> - "Cuenta" en una variable (Otras) que contiene [sqlMovim."CTACOD"] que >> tiene su equivalente en sqlCuentas >> He probado con "begin // end", he incluido "uses db;" >> >> invariablemente el resultado es "No identificada" >> >> hay un cuadro de texto que contiene sqlCuentas.CtaNom y siempre muestra >> el primer registro >> >> ¿es posible lo que pretendo? >> si lo es, ¿cómo debo realizarlo? o ¿cuál es mi error? >> >> Nota: el pase de parámetros con ParName - ParValue o con FindVariable no >> es una opción >> porque se pretende que el reporte no esté atado a un formulario. >> >> De antemano, gracias. >> >> Iván Lugo Herrera >> Valencia, Venezuela >> >> ------------------------------ >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus-ide.org >> https://lists.lazarus-ide.org/listinfo/lazarus-es >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lists.lazarus-ide.org >> https://lists.lazarus-ide.org/listinfo/lazarus-es >> > ------------------------------ > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus-es > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus-es > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From r.bidegain en gmail.com Tue May 12 12:16:55 2020 From: r.bidegain en gmail.com (Rafael Bidegain) Date: Tue, 12 May 2020 07:16:55 -0300 Subject: [Lazarus-es] como arreglar lazarus In-Reply-To: References: Message-ID: Hola Hector. Intenta esta secuencia: menu, Herramientas. Item, Opciones Rama, Entorno Elemento: Inspector de Objetos. ahí están las opciones posibles. ps. ¿tienes telegram? saludos El lun., 11 may. 2020 a las 12:26, hfiandor via Lazarus-es (< lazarus-es en lists.lazarus-ide.org>) escribió: > Amigos, lo primero mis saludos. > > Parece que metí los dedos donde no debía y se me echó a perder la vista > del inspector de objetos y el árbol de componentes de la parte izquierda en > la pantalla. > > Cómo lo arreglo. Con la opción Ver puedo restituir el inspector de > objetos, pero no el árbol de componentes que normalmente aparecía en la > parte superior. > > Debe ser posible reinstalar el Lazarus, pero no sé qué botón tocar y tengo > miedo empeorar. > > Saludos, > > > > Ing. Héctor Fiandor Rosario > > hfiandor en ceniai.inf.cu > > > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus-es > -- Rafael Bidegain Ya que los cuerdos no hablan, hablará el loco. (The Fool, Padraic Pearse) # yo quiero educación libre. ¡YA! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From hfiandor en ceniai.inf.cu Tue May 12 23:45:33 2020 From: hfiandor en ceniai.inf.cu (hfiandor) Date: Tue, 12 May 2020 17:45:33 -0400 Subject: [Lazarus-es] como arreglar lazarus In-Reply-To: References: Message-ID: Amigo Rafael y demás miembros del grupo: Ya hoy por la mañana, sin proponérmelo, trasteando para arreglar la geometría del editor de código, se arregló el inspector de objetos (hasta me habla bien de los vecinos). Pero lo mejor de todo es que recibiendo tu mensaje casi vuelvo a la vida. El placer de recibir algo tuyo después de más de dos años de inactividad es grande. Sobre todo para mi, que ya tengo a otro compañero a quien molestar cuando me trabe. Yo uso la versión 1.6 con FCC 3.0 desde hace algunos años y hoy he logrado descargar la versión lazarus-2.0.8-fpc-3.0.4-win64_1557654671. Pregunto: vale la pena hacer el cambio. De todas formas tengo el instalador de la vieja, para por si acaso. Bueno, creo que por hoy, está bueno ya. Como te va con el coronavirus. Saludos para ti y la familia. Ing. Héctor Fiandor Rosario hfiandor en ceniai.inf.cu ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From slibre en natio.co.cu Fri May 15 20:15:04 2020 From: slibre en natio.co.cu (Ismael L. Donis Garcia) Date: Fri, 15 May 2020 14:15:04 -0400 Subject: [Lazarus-es] Lectura de tabla en scrip de LazReport References: <30263E8E8DCC4DFCA69E8813FFF3D823@natio.co.cu> Message-ID: Ante todo te diré que no estoy trabajando todos los días, por ese motivo puedo demorar en leer los mensajes. Hoy trabaje. Busco información de todos los lados, donde aparezca. Respecto a tu problema debes entender como es el funcionamiento del LazReport, es muy parecido al FastReport, la literatura de uno te puede servir para el otro. Puedes en los objetos del reporte lo puedes marcar como código y ahí le puedes pasar el código que desees. Aunque esta forma no la he utilizado. Otra es poner el código en el datamodule que es donde tienes el componente del reporte en tu caso. Saludos Reiterados -- Ismael Devuan User: http://distrowatch.com/table.php?distribution=devuan Personal Web Site: http://www.sisconge.byethost15.com ----- Original Message ----- From: Iván Lugo Herrera via Lazarus-es To: Spanish version of Lazarus List Cc: Iván Lugo Herrera Sent: Monday, May 11, 2020 10:15 PM Subject: Re: [Lazarus-es] Lectura de tabla en scrip de LazReport Gracias Ismael. Muy interesante tu procedimiento, precisamente lo que se requiere para un Balance, sea contable o auxiliar. Incluso, para mí que no tengo tanto conocimiento, es material de estudio, p.ej.: SetLength() jamás lo he utilizado y de frParser.Calc() ni siquiera encontré documentación. Ya te lo heredé. Gracias. Me gustaría saber qué otros recursos de in-formación podrías recomendarme, además de Free Pascal wiki donde debería estar todo, pero no está. En mi consulta original especifiqué lo siguiente: <> En mi proyecto para hacer un Sistema administrativo con Lazarus los reportes se seleccionan de un pequeño panel que contiene un ListBox con la identificación de los reportes, un RadioGroup con las salidas posibles: pantalla, impresora, pdf y hoja de cálculo, y los botones [Imprimir] y [Salir]. Allí no puedo colocar código para una cantidad de reportes diferentes(1). El registro que contiene la información de cada reporte posee un campo donde se guarda una instrucción "select" en la cual se basa el reporte y que nuestro pequeño panel procesa de forma genérica(2). Los componentes de LazReport están en un DataModule, sólo hay un TFrReport en todo el Sistema. Espero haber explicado mejor mi búsqueda a través de los objetivos que persigo. Necesito que el reporte tenga la independencia suficiente para actuar sin depender de un formulario. Gracias por tu ayuda, Ismael. ILH (1) El panel de cheques tiene su botón para emitir el cheque y utiliza parámetros que lo relacionan con el reporte, como ésta puede haber otras excepciones (2) en el momento de la emisión se pasa un número variable de parámetros predeterminados que limitan el alcance del reporte: fecha o período, sujeto(s) involucrado(s), etc El lun., 11 may. 2020 a las 15:35, Ismael L. Donis Garcia via Lazarus-es () escribió: Lees el valor en el procedimiento BeginBand y lo asignas en el procedimiento GetValue Una cosa muy importante, o mejor dicha obligatorio en el pie del grupo tienes que poner el campo a calcular Si no quieres el pie visible lo ocultas en el segundo pase Te paso un procedimiento de leer que tengo, en este ejemplo el control se llama rpt En este ejemplo los campos de la BD son: nat, debe, haber y saldo procedure Tflbal.rptBeginBand(Band: TfrBand); var i, j: integer; begin if rpt.FinalPass then begin // SEGUNDO PASE // aqui ocultas los pies si no los quieres visibles y inicializas los indices del arreglo if ((Band.Name='GroupFooter1') or (Band.Name='GroupFooter2') or (Band.Name='GroupFooter3') or (Band.Name='GroupFooter4') or (Band.Name='GroupFooter5') or (Band.Name='GroupFooter6')) then Band.Visible := false; if (Band.Name='GroupHeader1') then begin // reset index sctaindex := -1; capindex := -1; scapindex := -1; eleindex := -1; empindex := -1; inc(ctaindex); end else if (Band.Name='GroupHeader2') then inc(sctaindex) else if (Band.Name='GroupHeader3') then inc(capindex) else if (Band.Name='GroupHeader4') then inc(scapindex) else if (Band.Name='GroupHeader5') then inc(eleindex) end else if (Band.Name='GroupHeader6') then inc(empindex); // PRIMER PASE end else if Band.IsDataBand then begin if (UpperCase(dm.rssc7.FieldByName('nat').AsString) = 'A') then begin dhaber := dhaber + dm.rssc7.FieldByName('saldo').AsFloat; dmhaber := dmhaber + dm.rssc7.FieldByName('haber').AsFloat - dm.rssc7.FieldByName('debe').AsFloat; end else begin ddebe := ddebe + dm.rssc7.FieldByName('saldo').AsFloat; dmdebe := dmdebe + dm.rssc7.FieldByName('debe').AsFloat - dm.rssc7.FieldByName('haber').AsFloat; end; ddif := ddebe - dhaber; dmdif := dmdebe - dmhaber; if ((dm.rssc7.FieldByName('saldo').AsFloat = 0) and (dm.rssc7.FieldByName('debe').AsFloat = dm.rssc7.FieldByName('haber').AsFloat)) then Band.Visible := false else Band.Visible := true; end else if (Band.name='GroupHeader1') then begin i := Length(Hdrs); SetLength(Hdrs, i+1); end else if (Band.Name='GroupFooter1') then begin i := Length(Hdrs)-1; Hdrs[i].Sum := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); Hdrs[i].Debe := frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); Hdrs[i].Haber := frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); end else if (Band.Name='GroupFooter2') then begin i := Length(Hdrs)-1; j := Length(Hdrs[i].sascta); SetLength(Hdrs[i].sascta, j+1); SetLength(Hdrs[i].pdscta, j+1); SetLength(Hdrs[i].phscta, j+1); Hdrs[i].sascta[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); Hdrs[i].pdscta[j] := frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); Hdrs[i].phscta[j] := frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); end else if (Band.Name='GroupFooter3') then begin i := Length(Hdrs)-1; j := Length(Hdrs[i].sacap); SetLength(Hdrs[i].sacap, j+1); SetLength(Hdrs[i].pdcap, j+1); SetLength(Hdrs[i].phcap, j+1); Hdrs[i].sacap[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); Hdrs[i].pdcap[j] := frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); Hdrs[i].phcap[j] := frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); end else if (Band.Name='GroupFooter4') then begin i := Length(Hdrs)-1; j := Length(Hdrs[i].sascap); SetLength(Hdrs[i].sascap, j+1); SetLength(Hdrs[i].pdscap, j+1); SetLength(Hdrs[i].phscap, j+1); Hdrs[i].sascap[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); Hdrs[i].pdscap[j] := frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); Hdrs[i].phscap[j] := frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); end else if (Band.Name='GroupFooter5') then begin i := Length(Hdrs)-1; j := Length(Hdrs[i].saele); SetLength(Hdrs[i].saele, j+1); SetLength(Hdrs[i].pdele, j+1); SetLength(Hdrs[i].phele, j+1); Hdrs[i].saele[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); Hdrs[i].pdele[j] := frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); Hdrs[i].phele[j] := frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); end else if (Band.Name='GroupFooter6') then begin i := Length(Hdrs)-1; j := Length(Hdrs[i].saemp); SetLength(Hdrs[i].saemp, j+1); SetLength(Hdrs[i].pdemp, j+1); SetLength(Hdrs[i].phemp, j+1); Hdrs[i].saemp[j] := frParser.Calc('SUM([dm.rssc7."SALDO"], MasterData1)'); Hdrs[i].pdemp[j] := frParser.Calc('SUM([[dm.rssc7."DEBE"]-[dm.rssc7."HABER"]], MasterData1)'); Hdrs[i].phemp[j] := frParser.Calc('SUM([[dm.rssc7."HABER"]-[dm.rssc7."DEBE"]], MasterData1)'); end; end; end; Saludos Reiterados -- Ismael Devuan User: http://distrowatch.com/table.php?distribution=devuan Personal Web Site: http://www.sisconge.byethost15.com ----- Original Message ----- From: Iván Lugo Herrera via Lazarus-es To: Spanish version of Lazarus List Cc: Iván Lugo Herrera Sent: Monday, May 11, 2020 2:45 PM Subject: Re: [Lazarus-es] Lectura de tabla en scrip de LazReport Buenas tardes Ismael. Gracias por atender mi consulta. Suena ingenioso lo del reporte en dos pases, sobre todo para acumulados y paginación. Tengo un inconveneinte en la aplicación de tu propuesta: - cuando hago el primer pase no tengo un valor que guardar en el arreglo porque no lo he buscado en sqlCuentas - si uso el valor actual de CTANOM en sqlCuentas siempre será el mismo Lo que quisiera hacer es una lectura por clave a una tabla desde el reporte. Gracias nuevamente. ILH Libre de virus. www.avast.com El lun., 11 may. 2020 a las 14:13, Ismael L. Donis Garcia via Lazarus-es () escribió: En las opciones del reporte lo debes definir como de 2 pasos, en el primero guardas el valor en un arreglo y en el segundo pase asignas el valor tomándolo del arreglo. Saludos -- Ismael Devuan User: http://distrowatch.com/table.php?distribution=devuan Personal Web Site: http://www.sisconge.byethost15.com ----- Original Message ----- From: Iván Lugo Herrera via Lazarus-es To: lazarus-es en lists.lazarus-ide.org Cc: Iván Lugo Herrera Sent: Friday, May 08, 2020 7:33 PM Subject: [Lazarus-es] Lectura de tabla en scrip de LazReport Recién me inscribo en esta lista de correo dedicada a Lazarus IDE, con el interés de progresar en esta herramienta de desarrollo de software. Me alegra encontrar información sobre Lazarus el español. La mayoría de las fuentes que he encontrado en los dos años que llevo estudiando esta paltaforma son: inglés, portugués (bastante), francés (algo) y poco en español. Aunque jamás utilicé Delphi, he apoyado mi aprendizaje con diversos consejos en español para este equivalente comercial. No descubrí la manera de consultar en la lista los temas tratados previamente, así que quizá mi consulta ya haya sido respondida en el sitio. Consulta LazReport: Desde un script en LazReport ¿puedo leer un registro de una tabla que es visible desde el reporte? Algo como: if [sqlCuentas.Locate('CTACOD',[Cuenta],[loPartialKey])] then ; Text:= [sqlCuentas.FieldByName('CTANOM').AsString] ; else Text:= 'No identificada'; - La instrucción anterior (locate) está en un cuadro de texto en la banda GroupHeader (Condición: [sqlMovim."CTACOD"]) - en la banda MasterData tengo la tabla "sqlMovim" - "sqlCuentas", con todos sus campos, es visible desde el reporte en modo "design" - "Cuenta" en una variable (Otras) que contiene [sqlMovim."CTACOD"] que tiene su equivalente en sqlCuentas He probado con "begin // end", he incluido "uses db;" invariablemente el resultado es "No identificada" hay un cuadro de texto que contiene sqlCuentas.CtaNom y siempre muestra el primer registro ¿es posible lo que pretendo? si lo es, ¿cómo debo realizarlo? o ¿cuál es mi error? Nota: el pase de parámetros con ParName - ParValue o con FindVariable no es una opción porque se pretende que el reporte no esté atado a un formulario. De antemano, gracias. Iván Lugo Herrera Valencia, Venezuela ---------------------------------------------------------------------- _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es -------------------------------------------------------------------------- _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es ------------------------------------------------------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus-es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From hfiandor en ceniai.inf.cu Sat May 16 16:20:59 2020 From: hfiandor en ceniai.inf.cu (hfiandor) Date: Sat, 16 May 2020 10:20:59 -0400 Subject: [Lazarus-es] delete un record eb tabka Sqlite Message-ID: Estimados colegas: Tengo una aplicación que usa tablas Sqlite. En determinado momento debo deletear un record de la misma, y no lo debo hacer por la barra de navegación, porque son muchos. Lo quiero hacer por programa. Llego a saber y pararme sobre el record que quiero deletear. Hago Fdm.tAlumnosGradoAula.Delete; Fdm.tAlumnosGradoAula.ApplyUpdates; Pero se ríe de eso. En cada uno de los record que quiero deletear hago Fdm.tAlumnosGradoAula.Saveonclose; Fdm.tAlumnosGradoAula.Close; Fdm.tAlumnosGradoAula.Open; Y me echó una carcajada Evidentemente me falta algo que no logro descubrir. Ya probé con SQLdb y fue peor. Leí los tutoriales de SQLQuery y no logré aprender mucho. Agradecería mucho cualquier ayuda que puedan darme. Saludos, Ing. Héctor Fiandor Rosario hfiandor en ceniai.inf.cu ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From r.bidegain en gmail.com Sat May 16 23:00:42 2020 From: r.bidegain en gmail.com (Rafael Bidegain) Date: Sat, 16 May 2020 18:00:42 -0300 Subject: [Lazarus-es] delete un record eb tabka Sqlite In-Reply-To: References: Message-ID: Hola Hector ¿tu tabla tiene un campo definido como llave primaria? La documentación dice: http://sqlite4fpc.yolasite.com/dataset-tutorial-1.php So why create Id field as AutoInc? To the save function of TSqlite*Dataset (ApplyUpdates) work is necessary to have a primary key field, i.e., a not null unique field. An AutoInc field is the simplest way of getting a primary key under TSqlite*Dataset. saludos cordiales El sáb., 16 may. 2020 a las 11:20, hfiandor via Lazarus-es (< lazarus-es en lists.lazarus-ide.org>) escribió: > Estimados colegas: > > Tengo una aplicación que usa tablas Sqlite. En determinado momento debo > deletear un record de la misma, y no lo debo hacer por la barra de > navegación, porque son muchos. Lo quiero hacer por programa. > > > > Llego a saber y pararme sobre el record que quiero deletear. Hago > > Fdm.tAlumnosGradoAula.Delete; > > Fdm.tAlumnosGradoAula.ApplyUpdates; > > Pero se ríe de eso. > > > > En cada uno de los record que quiero deletear hago > > Fdm.tAlumnosGradoAula.Saveonclose; > > Fdm.tAlumnosGradoAula.Close; > > Fdm.tAlumnosGradoAula.Open; > > Y me echó una carcajada > > > > Evidentemente me falta algo que no logro descubrir. Ya probé con SQLdb y > fue peor. > > Leí los tutoriales de SQLQuery y no logré aprender mucho. > > Agradecería mucho cualquier ayuda que puedan darme. > > > > Saludos, > > > > Ing. Héctor Fiandor Rosario > > hfiandor en ceniai.inf.cu > > > > > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus-es > -- Rafael Bidegain Ya que los cuerdos no hablan, hablará el loco. (The Fool, Padraic Pearse) # yo quiero educación libre. ¡YA! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From hfiandor en ceniai.inf.cu Sat May 16 23:39:59 2020 From: hfiandor en ceniai.inf.cu (hfiandor en ceniai.inf.cu) Date: Sat, 16 May 2020 17:39:59 -0400 (EDT) Subject: [Lazarus-es] delete un record eb tabka Sqlite Message-ID: <20200516213959.D5B806D80A3@pop.ceniai.inf.cu> amigo Rafael: ya me leido los 4 tutoriales de SQLQuery. Mis tablas todas tienen un campo Id AutoInc. parece que el problema es que me falta algo antes de dar el comando DELETE. Hace 2 o 3 días hice la introducción de un valor en un campo que estaba vacío, y (inexplicablemente) todo salió de maravillas. Estaba tan contento que me embullé con hacer este DELETE por ahora en otra tabla pero no lo logro. saludos, hfiandor en ceniai.inf.cu From alxandev en gmail.com Thu May 21 18:18:50 2020 From: alxandev en gmail.com (Alexander Nava) Date: Thu, 21 May 2020 12:18:50 -0400 Subject: [Lazarus-es] Consulta sobre Lazarus Ide Message-ID: Buenas tardes Estoy desarrollando una aplicación con lazarus ide y freepascal en una estación de trabajo que funciona con gnu linux debian 10 32 bits, necesitamos portar la aplicación a windows 32 y 64 bits para la empresa que estoy trabajando. Tengo varias preguntas: 1- Como se hace para dicha aplicación puede ser portada a windows, ya que he seguido los tutoriales de la pagina oficinal de lazarus y freepascal, y nada que nos permite portar la aplicación. 2.- De igual manera podría desarrollar cualquier aplicación a otros sistemas operativos tales como unix y mac usando el mismo código 3.- Lazarus ide y freepascal puede portar una aplicación a teléfonos móviles, es decir para los sistemas operativos android y mac. Gracias por su ayuda. Alexander Nava ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From r.bidegain en gmail.com Fri May 22 12:15:37 2020 From: r.bidegain en gmail.com (Rafael Bidegain) Date: Fri, 22 May 2020 07:15:37 -0300 Subject: [Lazarus-es] Consulta sobre Lazarus Ide In-Reply-To: References: Message-ID: El jue., 21 may. 2020 a las 13:19, Alexander Nava via Lazarus-es (< lazarus-es en lists.lazarus-ide.org>) escribió: > 1- Como se hace para dicha aplicación puede ser portada a windows, ya que > he seguido los tutoriales de la pagina oficinal de lazarus y freepascal, y > nada que nos permite portar la aplicación. > > Hola! Lo más simple es instalar lazarus, freepascal y todos los componentes que estas usando en una maquina windows 32 y compilar ahí. Muchas personas tienen problemas con el tutorial yo también lo intenté y opté por la solución que te estoy proponiendo. -- Rafael Bidegain Ya que los cuerdos no hablan, hablará el loco. (The Fool, Padraic Pearse) # yo quiero educación libre. ¡YA! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From cristianorta en yahoo.com.ar Fri May 22 15:55:14 2020 From: cristianorta en yahoo.com.ar (Yahoo) Date: Fri, 22 May 2020 10:55:14 -0300 Subject: [Lazarus-es] Consulta sobre Lazarus Ide In-Reply-To: References: Message-ID: Hola para entonos debian: Multiplataforma · #echo «ld -A elf32-i386 $@» >> /usr/bin/i386-linux-ld · #echo «as --32 $@» >> /usr/bin/i386-linux-as · #chmod +x /usr/bin/i386-linux-ld · #chmod +x /usr/bin/i386-linux-as · cd /usr/shar/fpcsrc/3.0.4 · sudo make crossinstall CPU_TARGET=i386 PREFIX=/usr · sudo make crossinstall OS_TARGET=win32 CPU_TARGET=i386 PREFIX=/usr · sudo ln -s /usr/lib/fpc/3.0.4/ppcross386 /usr/bin/ppc386 · sudo make crossinstall OS_TARGET=win64 CPU_TARGET=x86_64 PREFIX=/usr El 21/5/20 a las 13:18, Alexander Nava via Lazarus-es escribió: > Buenas tardes > > Estoy desarrollando una aplicación con lazarus ide y freepascal en una > estación de trabajo que funciona con gnu linux debian 10 32 bits, > necesitamos portar la aplicación a windows 32 y 64 bits para la > empresa que estoy trabajando. > > Tengo varias preguntas: > > 1- Como se hace para dicha aplicación puede ser portada a windows, ya > que he seguido los tutoriales de la pagina oficinal de lazarus y > freepascal, y nada que nos permite portar la aplicación. > > 2.- De igual manera podría desarrollar cualquier aplicación a otros > sistemas operativos tales como unix y mac usando el mismo código > > 3.- Lazarus ide y freepascal puede portar una aplicación a teléfonos > móviles, es decir para los sistemas operativos android y mac. > > Gracias por su ayuda. > > Alexander Nava > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus-es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: