Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2012-07

sobre codetyphon (Ismael L. Donis Garcia)

4 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

MSc. Ing. Pedro Pablo Oviedo Vera ENPA

Hola Ismael....siento dar respuesta tan tarde a tu pregunta...he estado un tiempo alejado del object pascal y Lazarus... pero te cuento: Lazarus te ofrece un componente ideal para el problema que describes y es StrinGrid, el te permite control total sobre todo lo que suceda en la grid...para lo que necesitas te recomiendo el controlador de evento OnKeypress, por ejemplo..para controlar que en las celdas de la primera columna siempre el dato sea num�rico generar�as el siguiente c�digo:

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: char);
begin
 with StringGrid1
   do begin
       if Col = 1 then
        if (Key in ['0'..'9'] )  then
           begin
              Cells[Col,Row]:=Cells[Col,Row]+Key;
              Exit;
           end;
       else Exit;
       Cells[Col,Row]:= Cells[Col,Row]+Key;
       end;
end;

Es solo para ilustrar pero a partir de aqu� podras construir lo que quieras.

Saludos
pp

*********************************************************

Yo quiero introducir los datos en el grid, pero validar tanto el dato que existe en la celda tanto antes como despu�s de editarla. Nada de a la hora de abrir la consulta. Porque no abro consulta alguna (en muchos casos).
Es para agregar datos al grid o modificar los datos agregados. Pero estos deben cumplir reglas de validaciones variables. Por ejemplo si en la columna 1 pongo 20 en la 2 puede solo poner X o Y, y as�, pero sin seguir normas fijas. Y si al editarla ten�a 20 restarlo del valor de otra columna y cuando la termine de editar sumarla a la columna anterior.
Son validaciones din�micas por lo que necesito es poder tener un evento en el grid que sea after edit y otro before edit o por el estilo. Pero del grid ya que eso no va a parar a un registro de forma directa. En los lenguajes de Microsoft suelo utilizar los eventos: AfterColEdit y BeforeColEdit que me permiten realizar estas validaciones de los cuales puedo tomar los datos existentes en una celda determinada de la siguiente forma: Valor = Grid.Columns(ColIndex)

Show quoted text 5 lines
Saludos Reiterados ========= || ISMAEL || =========
MSc. Ing. Pedro Pablo Oviedo Vera Direcci�n T�cnica y Desarrollo Empresa de Proyectos e Ingenier�a ENPA Ministerio de la Agricultura Boyeros y Conill, Piso 10 Edif MINAG, La Habana, Cuba. Telef. (537)884 7649 (Ubuntu User #34812)

Reply by email

Ismael L. Donis Garcia
to MSc. Ing. Pedro Pablo Oviedo Vera ENPA

1 Mill�n de Gracias Pedro.

La verdad he tirado a un lado a Lazarus por no encontrar una soluci�n para esto, pero si lo logr� con alg�n componente lo retomo de nuevo. Que en definitiva es lo que quiero, pero al no haber podido hasta el d�a de hoy resolver el problema lo hab�a obviado como lenguaje de programaci�n a utilizar.

Con esto que me dices voy a retomar el problema de nuevo a ver si lo logro hacer. Cuesti�n esta que es lo m�s que deseo. Veremos si lo puedo lograr, caso contrario tendr� que esperar que implementen esta caracter�stica en alguna grilla para poder usar a Lazarus.

Un Gran Saludo
=========
|| ISMAEL ||
=========

Earlier message 71 lines
----- Original Message ----- From: "MSc. Ing. Pedro Pablo Oviedo Vera (ENPA)" <ppo.vera en enpa.minag.cu> To: "lazarus-es" <lazarus-es en lists.lazarus.freepascal.org> Sent: Sunday, July 08, 2012 6:22 PM Subject: Re: [Lazarus-es] sobre codetyphon (Ismael L. Donis Garcia) Hola Ismael....siento dar respuesta tan tarde a tu pregunta...he estado un tiempo alejado del object pascal y Lazarus... pero te cuento: Lazarus te ofrece un componente ideal para el problema que describes y es StrinGrid, el te permite control total sobre todo lo que suceda en la grid...para lo que necesitas te recomiendo el controlador de evento OnKeypress, por ejemplo..para controlar que en las celdas de la primera columna siempre el dato sea num�rico generar�as el siguiente c�digo: procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: char); begin with StringGrid1 do begin if Col = 1 then if (Key in ['0'..'9'] ) then begin Cells[Col,Row]:=Cells[Col,Row]+Key; Exit; end; else Exit; Cells[Col,Row]:= Cells[Col,Row]+Key; end; end; Es solo para ilustrar pero a partir de aqu� podras construir lo que quieras. Saludos pp ********************************************************* Yo quiero introducir los datos en el grid, pero validar tanto el dato que existe en la celda tanto antes como despu�s de editarla. Nada de a la hora de abrir la consulta. Porque no abro consulta alguna (en muchos casos). Es para agregar datos al grid o modificar los datos agregados. Pero estos deben cumplir reglas de validaciones variables. Por ejemplo si en la columna 1 pongo 20 en la 2 puede solo poner X o Y, y as�, pero sin seguir normas fijas. Y si al editarla ten�a 20 restarlo del valor de otra columna y cuando la termine de editar sumarla a la columna anterior. Son validaciones din�micas por lo que necesito es poder tener un evento en el grid que sea after edit y otro before edit o por el estilo. Pero del grid ya que eso no va a parar a un registro de forma directa. En los lenguajes de Microsoft suelo utilizar los eventos: AfterColEdit y BeforeColEdit que me permiten realizar estas validaciones de los cuales puedo tomar los datos existentes en una celda determinada de la siguiente forma: Valor = Grid.Columns(ColIndex) > > Saludos Reiterados > ========= > || ISMAEL || > ========= -- MSc. Ing. Pedro Pablo Oviedo Vera Direcci�n T�cnica y Desarrollo Empresa de Proyectos e Ingenier�a ENPA Ministerio de la Agricultura Boyeros y Conill, Piso 10 Edif MINAG, La Habana, Cuba. Telef. (537)884 7649 (Ubuntu User #34812)

Reply by email

Maxi
to Ismael L. Donis Garcia

El problema es que estas esperando que un componente te resuleva el problema, como lo tenes en VB. La ventaja de pascal es que no estas atado a ese solo comportamiento sino que tenes mas de 1 recurso para hacer lo mismo. Yo lo hice usando una consutla en memoria y con los eventos te moves a gusto de arriba abajo y de derecha a izquierda.

El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20120710/95bdc3ba/attachment.html>

Reply by email

Ismael L. Donis Garcia
to Maxi

No, no estoy esperando, trat� de resolverlo pero no pude, mis conocimientos no dieron para ello, ni el tiempo tampoco. Y como ten�a que resolver el problema me tuve que mover para otro lenguaje.

Tampoco encontr� a nadie que me diera una mano y me explicara como, y tampoco encontr� ejemplos de como hacerlo.

As� que sin saber como hacerlo en Lazarus, sin ejemplos de como hacerlo y sin nadie que me pudiera ayudar que opci�n ten�a sino era moverme para otro lenguaje.

M�s de un compa�ero me dijo que me iba a ayudar y cuando yo le pasaba un ejemplo en Visual Basic 6.0 de lo que yo quer�a hacer en Lazarus terminaban sin darme soluci�n alguna.

Que tu quieres que hiciera entonces?. Mis deseos era poder seguir en Lazarus, cuesti�n que no he perdido las esperanzas. Pero si no logro hacer lo que quiero no me queda m�s remedio que buscar otro lenguaje de desarrollo.

Saludos
=========
|| ISMAEL ||
=========

Earlier message 23 lines
----- Original Message ----- From: Maxi To: Spanish version of Lazarus List Sent: Tuesday, July 10, 2012 8:42 AM Subject: Re: [Lazarus-es] sobre codetyphon (Ismael L. Donis Garcia) El problema es que estas esperando que un componente te resuleva el problema, como lo tenes en VB. La ventaja de pascal es que no estas atado a ese solo comportamiento sino que tenes mas de 1 recurso para hacer lo mismo. Yo lo hice usando una consutla en memoria y con los eventos te moves a gusto de arriba abajo y de derecha a izquierda. -- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Linux User #495070 http://domonetic.com/blog ------------------------------------------------------------------------------

Reply by email