Página 1 de 1

Caracteres en un browse

Publicado: Vie Nov 30, 2012 9:07 pm
por ssi-estono-
Como podrí­a saber el nº de caracteres que se van escribiendo en una
celda de un browse?
Saludos:
Paco V

Caracteres en un browse

Publicado: Vie Nov 30, 2012 10:36 pm
por XeviCOMAS
Paco,
debes capturar el evento OnEdit de la columna en cuestión.
Así es como lo estoy utilizando en un Browse que me interesa ir mostrando un
"semaforillo" mostrando los caracteres que me quedan por escribir al editar
la columna 2.
METHOD Browse2Column4Edit( oSender, Value, lMultiEdit ) CLASS TFrmORAlbarans
If ::lTextLliure
::oLblLen:nTop := ::oSplitter1:nTop + ::oSplitter1:nHeight +2 +
::oBrowse2:nTop + (::oBrowse2:nRowSel * ::oBrowse2:nRowHeight) +3
::oLblLen:cText := AllTrim( Str( Len( aPictu[1,4] ) - Len( AllTrim(
Value ) ) ) )
::oLblLen:nClrPane := If( Val( ::oLblLen:cText ) < 11, If( Val(
::oLblLen:cText ) < 6, 0x0000EA/*Vermell*/, 0x0080ff/*Taronja*/ ),
0x00FF80/*Verd*/ )
::oLblLen:lVisible := .T.
oSender:oGridEdit:OnChange := {|| ::xEditDescrip(oSender) }
EndIf
::lTextLliure := .F.
RETURN Nil
Ahora bien... simplificando, para saber los caracteres que llevas
escritos...
METHOD Browse2Column4Edit( oSender, Value, lMultiEdit ) CLASS TFrmORAlbarans
LogDebug( Len( AllTrim( Value ) ) )
RETURN Nil
Un Saludo,
Xevi.
"Paco V." <ssi-estono-@ono.com> ha escrit al missatge del grup de discussió:
50b911f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Como podría saber el nº de caracteres que se van escribiendo en una celda
> de un browse?
>
> Saludos:
>
> Paco V
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de
> firmas de virus 7751 (20121130) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 7751 (20121130) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com

Caracteres en un browse

Publicado: Sab Dic 01, 2012 9:49 am
por ssi-estono-
Xevi, gracias por tu ayuda, pero no me funciona.
Parece que este evento solo se produce al entrar en edición. Yo necesito
saber el nº de caracteres que van escribiendo.
Paco V
El 30/11/2012 22:36, Xevi escribió:
> Paco,
>
> debes capturar el evento OnEdit de la columna en cuestión.
> Así­ es como lo estoy utilizando en un Browse que me interesa ir mostrando un
> "semaforillo" mostrando los caracteres que me quedan por escribir al editar
> la columna 2.
>
> METHOD Browse2Column4Edit( oSender, Value, lMultiEdit ) CLASS TFrmORAlbarans
> If ::lTextLliure
> ::oLblLen:nTop := ::oSplitter1:nTop + ::oSplitter1:nHeight +2 +
> ::oBrowse2:nTop + (::oBrowse2:nRowSel * ::oBrowse2:nRowHeight) +3
> ::oLblLen:cText := AllTrim( Str( Len( aPictu[1,4] ) - Len( AllTrim(
> Value ) ) ) )
> ::oLblLen:nClrPane := If( Val( ::oLblLen:cText ) < 11, If( Val(
> ::oLblLen:cText ) < 6, 0x0000EA/*Vermell*/, 0x0080ff/*Taronja*/ ),
> 0x00FF80/*Verd*/ )
> ::oLblLen:lVisible := .T.
> oSender:oGridEdit:OnChange := {|| ::xEditDescrip(oSender) }
> EndIf
> ::lTextLliure := .F.
> RETURN Nil
>
>
> Ahora bien... simplificando, para saber los caracteres que llevas
> escritos...
>
> METHOD Browse2Column4Edit( oSender, Value, lMultiEdit ) CLASS TFrmORAlbarans
> LogDebug( Len( AllTrim( Value ) ) )
> RETURN Nil
>
>
> Un Saludo,
> Xevi.
>
> "Paco V." <ssi-estono-@ono.com> ha escrit al missatge del grup de discussió:
> 50b911f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Como podrí­a saber el nº de caracteres que se van escribiendo en una celda
>> de un browse?
>>
>> Saludos:
>>
>> Paco V
>>
>> __________ Información de ESET NOD32 Antivirus, versión de la base de
>> firmas de virus 7751 (20121130) __________
>>
>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>
>> http://www.eset.com
>>
>>
>>
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 7751 (20121130) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
>

Caracteres en un browse

Publicado: Sab Dic 01, 2012 7:08 pm
por XeviCOMAS
Paco,
perdona...
en mi ejemplo, si te fijas utilizo el evento OnChange() del GridEdit...
>> oSender:oGridEdit:OnChange := {|| ::xEditDescrip(oSender) }
Simplificado...
Hazlo así
METHOD ArrayBrowse1Column1Edit( oSender, Value, lMultiEdit ) CLASS TForm1
oSender:oGridEdit:OnChange := {|| LogDebug( Len(
oSender:oGridEdit:cText ) ) }
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ArrayBrowse1Column1Exit( oSender, oGridEdit, oNextCtl ) CLASS TForm1
//Retornamos el estado inicial de OnChange del GridEdit, en este caso Nil
oSender:oGridEdit:OnChange := Nil
RETURN Nil
Verás como SI funciona, comprobado!!!
Un Saludo,
Xevi.
"Paco V." <ssi-estono-@ono.com> ha escrit al missatge del grup de discussió:
50b9c4c1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Xevi, gracias por tu ayuda, pero no me funciona.
> Parece que este evento solo se produce al entrar en edición. Yo necesito
> saber el nº de caracteres que van escribiendo.
>
> Paco V
>
>
> El 30/11/2012 22:36, Xevi escribió:
>> Paco,
>>
>> debes capturar el evento OnEdit de la columna en cuestión.
>> Así es como lo estoy utilizando en un Browse que me interesa ir mostrando
>> un
>> "semaforillo" mostrando los caracteres que me quedan por escribir al
>> editar
>> la columna 2.
>>
>> METHOD Browse2Column4Edit( oSender, Value, lMultiEdit ) CLASS
>> TFrmORAlbarans
>> If ::lTextLliure
>> ::oLblLen:nTop := ::oSplitter1:nTop + ::oSplitter1:nHeight +2 +
>> ::oBrowse2:nTop + (::oBrowse2:nRowSel * ::oBrowse2:nRowHeight) +3
>> ::oLblLen:cText := AllTrim( Str( Len( aPictu[1,4] ) - Len(
>> AllTrim(
>> Value ) ) ) )
>> ::oLblLen:nClrPane := If( Val( ::oLblLen:cText ) < 11, If( Val(
>> ::oLblLen:cText ) < 6, 0x0000EA/*Vermell*/, 0x0080ff/*Taronja*/ ),
>> 0x00FF80/*Verd*/ )
>> ::oLblLen:lVisible := .T.
>> oSender:oGridEdit:OnChange := {|| ::xEditDescrip(oSender) }
>> EndIf
>> ::lTextLliure := .F.
>> RETURN Nil
>>
>>
>> Ahora bien... simplificando, para saber los caracteres que llevas
>> escritos...
>>
>> METHOD Browse2Column4Edit( oSender, Value, lMultiEdit ) CLASS
>> TFrmORAlbarans
>> LogDebug( Len( AllTrim( Value ) ) )
>> RETURN Nil
>>
>>
>> Un Saludo,
>> Xevi.
>>
>> "Paco V." <ssi-estono-@ono.com> ha escrit al missatge del grup de
>> discussió:
>> 50b911f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>> Como podría saber el nº de caracteres que se van escribiendo en una
>>> celda
>>> de un browse?
>>>
>>> Saludos:
>>>
>>> Paco V
>>>
>>> __________ Información de ESET NOD32 Antivirus, versión de la base de
>>> firmas de virus 7751 (20121130) __________
>>>
>>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>>
>>> http://www.eset.com
>>>
>>>
>>>
>>
>>
>> __________ Información de ESET NOD32 Antivirus, versión de la base de
>> firmas de virus 7751 (20121130) __________
>>
>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>
>> http://www.eset.com
>>
>>
>>
>>
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de
> firmas de virus 7752 (20121201) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 7752 (20121201) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com

Caracteres en un browse

Publicado: Lun Dic 03, 2012 11:54 am
por ignacio
Recuerda que detrás de cualquier celda de un browse que se encuentra en edición hay un control de nombre oGridEdit y de tipo TGridEdit que es un descendiente de TMaskEdit. Por lo tanto para saber el número de caracteres existentes en una celda en edición, bastarí­a con hacer:
Len( TBrwColumn:oGridEdit:Value )
Saludos

Caracteres en un browse

Publicado: Mié Dic 05, 2012 3:22 pm
por ssi-estono-
Gracias a Xevi e Ignacio.
Tenia un problema. Hay controles que no tienen eventos visuales y no
podí­a implementar.
Gracia a Juanjo (JJ), el compañero de Bingen que me ha abierto un
poquito los ojos. Bueno, me lo ha hecho él y me lo ha explicado.
Gracias de nuevo.
Paco V
El 01/12/2012 19:08, Xevi escribió:
> Paco,
>
> perdona...
>
> en mi ejemplo, si te fijas utilizo el evento OnChange() del GridEdit...
>>> oSender:oGridEdit:OnChange := {|| ::xEditDescrip(oSender) }
>
> Simplificado...
> Hazlo así­
>
> METHOD ArrayBrowse1Column1Edit( oSender, Value, lMultiEdit ) CLASS TForm1
> oSender:oGridEdit:OnChange := {|| LogDebug( Len(
> oSender:oGridEdit:cText ) ) }
> RETURN Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD ArrayBrowse1Column1Exit( oSender, oGridEdit, oNextCtl ) CLASS TForm1
> //Retornamos el estado inicial de OnChange del GridEdit, en este caso Nil
> oSender:oGridEdit:OnChange := Nil
> RETURN Nil
>
> Verás como SI funciona, comprobado!!!
>
>
> Un Saludo,
> Xevi.
>
> "Paco V." <ssi-estono-@ono.com> ha escrit al missatge del grup de discussió:
> 50b9c4c1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Xevi, gracias por tu ayuda, pero no me funciona.
>> Parece que este evento solo se produce al entrar en edición. Yo necesito
>> saber el nº de caracteres que van escribiendo.
>>
>> Paco V
>>
>>
>> El 30/11/2012 22:36, Xevi escribió:
>>> Paco,
>>>
>>> debes capturar el evento OnEdit de la columna en cuestión.
>>> Así­ es como lo estoy utilizando en un Browse que me interesa ir mostrando
>>> un
>>> "semaforillo" mostrando los caracteres que me quedan por escribir al
>>> editar
>>> la columna 2.
>>>
>>> METHOD Browse2Column4Edit( oSender, Value, lMultiEdit ) CLASS
>>> TFrmORAlbarans
>>> If ::lTextLliure
>>> ::oLblLen:nTop := ::oSplitter1:nTop + ::oSplitter1:nHeight +2 +
>>> ::oBrowse2:nTop + (::oBrowse2:nRowSel * ::oBrowse2:nRowHeight) +3
>>> ::oLblLen:cText := AllTrim( Str( Len( aPictu[1,4] ) - Len(
>>> AllTrim(
>>> Value ) ) ) )
>>> ::oLblLen:nClrPane := If( Val( ::oLblLen:cText ) < 11, If( Val(
>>> ::oLblLen:cText ) < 6, 0x0000EA/*Vermell*/, 0x0080ff/*Taronja*/ ),
>>> 0x00FF80/*Verd*/ )
>>> ::oLblLen:lVisible := .T.
>>> oSender:oGridEdit:OnChange := {|| ::xEditDescrip(oSender) }
>>> EndIf
>>> ::lTextLliure := .F.
>>> RETURN Nil
>>>
>>>
>>> Ahora bien... simplificando, para saber los caracteres que llevas
>>> escritos...
>>>
>>> METHOD Browse2Column4Edit( oSender, Value, lMultiEdit ) CLASS
>>> TFrmORAlbarans
>>> LogDebug( Len( AllTrim( Value ) ) )
>>> RETURN Nil
>>>
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>> "Paco V." <ssi-estono-@ono.com> ha escrit al missatge del grup de
>>> discussió:
>>> 50b911f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>> Como podrí­a saber el nº de caracteres que se van escribiendo en una
>>>> celda
>>>> de un browse?
>>>>
>>>> Saludos:
>>>>
>>>> Paco V
>>>>
>>>> __________ Información de ESET NOD32 Antivirus, versión de la base de
>>>> firmas de virus 7751 (20121130) __________
>>>>
>>>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>>>
>>>> http://www.eset.com
>>>>
>>>>
>>>>
>>>
>>> __________ Información de ESET NOD32 Antivirus, versión de la base de
>>> firmas de virus 7751 (20121130) __________
>>>
>>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>>
>>> http://www.eset.com
>>>
>>>
>>>
>>>
>>
>> __________ Información de ESET NOD32 Antivirus, versión de la base de
>> firmas de virus 7752 (20121201) __________
>>
>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>
>> http://www.eset.com
>>
>>
>>
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 7752 (20121201) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
>