HOLA A TODOS!
Tengo un campo MEMO para la glosa de una factura, donde el larga máximo es de 500, por la dimensión física de la factura, el problema es que al ingresar información en el MEMO este acepta más de los 500 caracteres. Entonces como puedo limitar el largo máximo ? he buscado la forma sin éxito.
Gracias de antemano por sus respuestas.
LARGO MAXIMO CAMPO MEMO
LARGO MAXIMO CAMPO MEMO
Luis Alfonso Fuentes Guerrero
FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop
FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop
Re: LARGO MAXIMO CAMPO MEMO
Luis Alfonsolafug wrote:HOLA A TODOS!
Tengo un campo MEMO para la glosa de una factura, donde el larga máximo es de 500, por la dimensión física de la factura, el problema es que al ingresar información en el MEMO este acepta más de los 500 caracteres. Entonces como puedo limitar el largo máximo ? he buscado la forma sin éxito.
Gracias de antemano por sus respuestas.
Más o menos creo que lo podrías hacer asi ( ojo, que no lo he probado )
Code: Select all
oMemo:bChange := { | o | if( Len( o:GetText() ) > 500, MsgInfo("longitud maxima excedida","Atencion"), )
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: LARGO MAXIMO CAMPO MEMO
Editalo en un MGET con el que puedes limitar el número de caracteres.
Peaaaaaso de foro...
Re: LARGO MAXIMO CAMPO MEMO
Code: Select all
REDEFINE GET oGet[17] VAR wTEXTO MULTILINE ID 217 OF oDlg ;
COLOR CLR_BLUE, CLR_WHITE UPDATE FONT oFont ;
WHEN( lLigaCombo ) ;
ON CHANGE( SB_LimitText( oGet[17], oSay, oTransmite )
FUNCTION SB_LimitText( oGet, oSay, oTransmite )
///////////////////////////////////////////////////////////////////////////
// Autor..........: Peguei no Forum FiveWin Brasil //
// Modificaçoes...: Ale SB - Soft Camus //
// Descricao......: Restringe o Tamanho de um Texto. //
// Parametros ==> //
// - oGet : oBjeto Get. //
// - nSize : Tamanho que deve ter o Texto. //
// Dependencias ==> //
// Retorno ==> nil //
///////////////////////////////////////////////////////////////////////////
LOCAL nTam, nSize
DEFAULT nSize := 999 // maximo e 1000 caracteres
nTam := LEN( ALLTRIM( oGet:cText ) )
IF nTam > nSize
MsgInfo( "A Mensagem da Carta já Alcançou o Tamanho Limite de " + ;
"1000 Caracteres Permitidos Pela Sefaz!", ;
"..:: Atenção ::.." )
oGet:cText := Substr(oGet:cText, 1, nTam-1)
RETURN( .F. )
ENDIF
// Mostra a qtde de caracteres digitados na carta de correcao
oSay:VarPut( Strzero( nTam, 3, 0 ) )
oSay:Refresh()
IF nTam <= 14 // caracteres
lLigaBotao := .F.
// Botao da Transmissao
oTransmite:Disable()
oTransmite:Refresh()
ELSE
lLigaBotao := .T.
// Botao da Transmissao
oTransmite:Enable()
oTransmite:Refresh()
ENDIF
RETURN( .T. )
João Santos - São Paulo - Brasil