[Lazarus-es] sobre codetyphon (Ismael L. Donis Garcia)

MSc. Ing. Pedro Pablo Oviedo Vera (ENPA) ppo.vera en enpa.minag.cu
Lun Jul 9 00:22:44 CEST 2012


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)






More information about the Lazarus-es mailing list