<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18702">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Walter yo traté por esa vía (recuerda que no tengo
conocimientos de pascal) pero no encontré como, porque no encontré un evento que
se disparara cuando comienzas la edición de una celda (de una celda, no de un
registro) ni tampoco cuando finalice la edición de dicha celda.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Yo rebusque y como dice Jesús para mi eso nunca ha
sido pensado en ser implementado en Lazarus porque creo que Delphi (creo porque
no lo he usado, solo he leído libros de este sistema) no lo trae
implementado. No ocurriendo así en los lenguajes de programación de
Microsoft ya que estos han enfocado su trabajo en este tipo de metodología en
los últimos tiempos como vía de mejorar el rendimiento de los sistemas para el
trabajo sobre la Web, aunque también es perfectamente aplicable a las
aplicaciones de escritorio.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Trate con dataset que trabajasen solo en memoria
pero no encontré dicha funcionalidad, ojala de que existiese o que se pueda
crear. Cualquiera de las 2 opciones para mi serían de una excelente utilidad ya
que representarían la vuelta 100% a Lazarus. Además c</FONT><FONT size=2
face=Arial>reo que no solo sería de mi utilidad sino que ampliaría mucho
más el horizonte de este gran proyecto.</FONT> </DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Saludos Reiterados</FONT></DIV>
<DIV>=========<BR>|| ISMAEL ||<BR>=========</DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B>
<A title=wmeson@gmail.com href="mailto:wmeson@gmail.com">Walter</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A
title=lazarus-es@lists.lazarus.freepascal.org
href="mailto:lazarus-es@lists.lazarus.freepascal.org">Spanish version of
Lazarus List</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, May 25, 2012 10:41 AM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [Lazarus-es] sobre
codetyphon</DIV>
<DIV><BR></DIV>Hola Ismael, mis saludos para vos y la gente del foro.<BR>Estoy
siguiendo este hilo, y se me ocurre algo, ¿no sería mejor que en vez de
trabajar con el DBGrid, trabajes con los eventos de la tabla y/o consulta que
alimenta tu grilla de datos?, es decir, validar en los eventos Before y After
de tu fuente de datos ?, (no recuerdo ahora exactamente las sintaxis).Tal vez
te compliques la vida tratando sobre la grilla y deberías trabajar sobre el
dataset.Recordá que la grilla es un "contenedor/mostrador" de tu fuente de
datos, salvo que si o si tengas que tratar sobre la grilla, en ese caso,
habría que ver de agregarle esa funcionalidad creando una clase derivada de tu
grilla y escribirle los eventos para tal fin.No descubrí la rueda, pero tal
vez sirva para encarar tu problema desde otro punto de
vista.<BR><BR>Saludos.<BR><BR clear=all><FONT size=4>Walter
Mesón</FONT><BR><FONT color=#888888><I><B>Servicio técnico de computadoras,
notebooks y netbooks.</B></I><BR>Particulares y
empresas.<BR><I>Hardware/Software.<BR>Programas a medida.<BR>Retiro y entrega
a domicilio.<BR><IMG
src="http://www.compu-solutions.com.ar/images/logo_chico.gif"><BR></I><B><A
href="http://www.compu-solutions.com.ar/"
target=_blank>http://www.compu-solutions.com.ar</A><SPAN
style="WIDTH: 16px; PADDING-RIGHT: 16px; HEIGHT: 16px" class=wrc0
onmouseover=" var self = this; showTimer = window.setTimeout(function(){WRCShowContent({'rating':{'value':-1,'weight':-1},'flags':{},'single':false,'ttl':7200,'expireTime':'20120525133340'}, self.className)},600);"
onmouseout="cancel = false; window.setTimeout(WRCHideContent, 1000); clearTimeout(showTimer);"></SPAN></B><BR>
<DIV
style="TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 130%; MARGIN-TOP: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; WORD-WRAP: break-word; COLOR: black; MARGIN-LEFT: 0px; FONT-SIZE: 10px; OVERFLOW: hidden; PADDING-TOP: 0px"></DIV></FONT><BR>
<DIV
style="TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 130%; MARGIN-TOP: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; WORD-WRAP: break-word; COLOR: black; MARGIN-LEFT: 0px; FONT-SIZE: 10px; OVERFLOW: hidden; PADDING-TOP: 0px"></DIV><BR><BR><BR>
<DIV class=gmail_quote>El 25 de mayo de 2012 11:11, Ismael L. Donis Garcia
<SPAN dir=ltr><<A href="mailto:ismael@citricos.co.cu"
target=_blank>ismael@citricos.co.cu</A>></SPAN> escribió:<BR>
<BLOCKQUOTE
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>Si pero es eso mismo no encuentro el evento para tomar el
valor de la celda antes de entrar en modo edición y una vez salido de modo
edición. Eso mismo es lo que me inhabilitó el usar Lazarus.<BR><BR>Por todo
lo demás a mi me gustó muchísimo Lazarus, pero me tropecé con algo
infranqueable para mi y fue eso poder validar los datos que voy
introduciendo en las celdas de los grid. Si yo encontrara una forma de hacer
eso volvería para Lazarus ya que Monodevelop es un poco más complicado su
instalación y distribución en Linux.<BR><BR>Saludos Reiterados a to2s
<DIV class=im><BR>=========<BR>|| ISMAEL ||<BR>=========<BR>----- Original
Message ----- From: "Jose Daboin" <<A
href="mailto:metalbox9000@gmail.com"
target=_blank>metalbox9000@gmail.com</A>><BR>To: "Spanish version of
Lazarus List" <<A href="mailto:lazarus-es@lists.lazarus.freepascal.org"
target=_blank>lazarus-es@lists.lazarus.<U></U>freepascal.org</A>><BR></DIV>Sent:
Thursday, May 24, 2012 7:49 PM
<DIV class=im><BR>Subject: Re: [Lazarus-es] sobre
codetyphon<BR><BR><BR></DIV>
<DIV class=im>No se si te entendi y mi repusta te va a srvir:<BR><BR>R= Por
qie no tomas el valor de la Grib antes de editar y lo guardas<BR>en una
variable auxiliar, luego modificas y haces tus comparaciones,<BR>¿Entiendes
lo que digo?<BR><BR>El 24/05/12, Ismael L. Donis Garcia <<A
href="mailto:ismael@citricos.co.cu"
target=_blank>ismael@citricos.co.cu</A>> escribió:<BR></DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex"
class=gmail_quote>
<DIV class=im>Yo quiero introducir los datos en el grid, pero validar
tanto el dato que<BR>existe en la celda tanto antes como después de
editarla. Nada de a la hora<BR>de abrir la consulta. Porque no abro
consulta alguna (en muchos casos).<BR><BR>Es para agregar datos al grid o
modificar los datos agregados. Pero estos<BR>deben cumplir reglas de
validaciones variables.<BR><BR>Por ejemplo si en la columna 1 pongo 20 en
la 2 puede solo poner X o Y, y<BR>así, pero sin seguir normas fijas. Y si
al editarla tenía 20 restarlo del<BR>valor de otra columna y cuando la
termine de editar sumarla a la columna<BR>anterior.<BR><BR>Son
validaciones dinámicas por lo que necesito es poder tener un evento
en<BR>el grid que sea after edit y otro before edit o por el estilo. Pero
del grid<BR><BR>ya que eso no va a parar a un registro de forma
directa.<BR><BR>En los lenguajes de Microsoft suelo utilizar los eventos:
AfterColEdit y<BR>BeforeColEdit que me permiten realizar estas
validaciones de los cuales<BR>puedo tomar los datos existentes en una
celda determinada de la siguiente<BR>forma: Valor =
Grid.Columns(ColIndex)<BR><BR>Saludos Reiterados<BR></DIV>
<DIV class=im>=========<BR>|| ISMAEL ||<BR>=========<BR>----- Original
Message -----<BR>From: "Jose Daboin" <<A
href="mailto:metalbox9000@gmail.com"
target=_blank>metalbox9000@gmail.com</A>><BR>To: "Spanish version of
Lazarus List"<BR><<A
href="mailto:lazarus-es@lists.lazarus.freepascal.org"
target=_blank>lazarus-es@lists.lazarus.<U></U>freepascal.org</A>><BR></DIV>
<DIV class=im>Sent: Wednesday, May 23, 2012 8:48 PM<BR>Subject: Re:
[Lazarus-es] sobre codetyphon<BR><BR><BR></DIV>
<DIV class=im>En cuanto a validar los datos para que lo deseas hacer?, si
no quieres<BR>habrir la consulta y que no se muestre en la grib yo lo que
hago es<BR>consultar los field del query pero no para validar si no para
otras<BR>cosas, yo prefiero validar antes de ingresar los datos a la
BD<BR><BR><BR><BR><BR></DIV>
<DIV
class=im>______________________________<U></U>_________________<BR>Lazarus-es
mailing list<BR><A href="mailto:Lazarus-es@lists.lazarus.freepascal.org"
target=_blank>Lazarus-es@lists.lazarus.<U></U>freepascal.org</A><BR><A
href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es"
target=_blank>http://lists.lazarus.<U></U>freepascal.org/mailman/<U></U>listinfo/lazarus-es</A><SPAN
style="WIDTH: 16px; PADDING-RIGHT: 16px; HEIGHT: 16px" class=wrc0
onmouseover=" var self = this; showTimer = window.setTimeout(function(){WRCShowContent({'rating':{'value':-1,'weight':0},'flags':{},'single':false,'ttl':7200,'expireTime':'20120525125030'}, self.className)},600);"
onmouseout="cancel = false; window.setTimeout(WRCHideContent, 1000); clearTimeout(showTimer);"></SPAN><BR><BR></DIV></BLOCKQUOTE>
<DIV class=HOEnZb>
<DIV
class=h5><BR>______________________________<U></U>_________________<BR>Lazarus-es
mailing list<BR><A href="mailto:Lazarus-es@lists.lazarus.freepascal.org"
target=_blank>Lazarus-es@lists.lazarus.<U></U>freepascal.org</A><BR><A
href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es"
target=_blank>http://lists.lazarus.<U></U>freepascal.org/mailman/<U></U>listinfo/lazarus-es</A><SPAN
style="WIDTH: 16px; PADDING-RIGHT: 16px; HEIGHT: 16px" class=wrc0
onmouseover=" var self = this; showTimer = window.setTimeout(function(){WRCShowContent({'rating':{'value':-1,'weight':0},'flags':{},'single':false,'ttl':7200,'expireTime':'20120525125030'}, self.className)},600);"
onmouseout="cancel = false; window.setTimeout(WRCHideContent, 1000); clearTimeout(showTimer);"></SPAN><BR><BR><BR><BR>______________________________<U></U>_________________<BR>Lazarus-es
mailing list<BR><A href="mailto:Lazarus-es@lists.lazarus.freepascal.org"
target=_blank>Lazarus-es@lists.lazarus.<U></U>freepascal.org</A><BR><A
href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es"
target=_blank>http://lists.lazarus.<U></U>freepascal.org/mailman/<U></U>listinfo/lazarus-es</A><SPAN
style="WIDTH: 16px; PADDING-RIGHT: 16px; HEIGHT: 16px" class=wrc0
onmouseover=" var self = this; showTimer = window.setTimeout(function(){WRCShowContent({'rating':{'value':-1,'weight':0},'flags':{},'single':false,'ttl':7200,'expireTime':'20120525125030'}, self.className)},600);"
onmouseout="cancel = false; window.setTimeout(WRCHideContent, 1000); clearTimeout(showTimer);"></SPAN><BR></DIV></DIV></BLOCKQUOTE></DIV><BR>
<P>
<HR>
<P></P>_______________________________________________<BR>Lazarus-es mailing
list<BR>Lazarus-es@lists.lazarus.freepascal.org<BR>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es<BR></BLOCKQUOTE></BODY></HTML>