Perguntas Campo Memo

Mais
7 anos 7 meses atrás #31996 por diegoo_martins
Campo Memo foi criado por diegoo_martins
Bom dia,

Tenho um campo memo e estou imprimindo normalmente no relatório..porém gostaria de travar a quantidade de caracteres a ser digitado no campo.
EX.:
Gostaria que fosse permitido apenas 200 caracteres neste campo.

Alguém pode ajudar?

oPrinter:Say(2790,0050, "Impostos:" ,oArial10N,,0)
li_:= 2810
For nBegin := 1 To MLCount(SZ8->Z8_IMPOSTO,080)
li_+=40
oPrinter:Say( li_, 0050,OemToAnsi(MemoLine(SZ8->Z8_IMPOSTO,080,nBegin)),oArial8,,0)
Next nBegin

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 7 meses atrás #31997 por admin
Respondido por admin no tópico Campo Memo
User Function ObsAula(lEdita,nRegPw9,lVenda,cInf)
Local aArea 	:= GetArea()
Local nOpc 	 	:= 0
Local cObsAula	:= Iif(!lVenda,PW9->PW9_OBSAUL,cInf)
Local cUsuAula  := Iif(!lVenda,PW9->PW9_USUAUL,'')
Local cLogAula  := Iif(!lVenda,PW9->PW9_LOGAUL,'')	// Contem Data e Hora Ultimo Registro
Local oDlg1

If !Empty(nRegPw9)
	PW9->(dbGoTo(nRegPw9))
Endif

If Empty(cObsAula)
	cUsuAula	:=	UsrFullName(RetCodUsr())
	cLogAula	:=	DtoC(dDataBase) + ' - ' + Left(Time(),5)
Endif

DEFINE FONT oFont NAME "Courier New" SIZE 7,14
	
@ 3,0 TO 140,550 DIALOG oDlg1 TITLE OemToAnsi("Informações da Aula")
@ 4,35 Say 'Usuario: ' + cUsuAula + ' Registro: ' + cLogAula OF oDlg1  PIXEL
@ 20,35 Get cObsAula MEMO OBJECT oMemo SIZE 200,035 //OF oDlg1  PIXEL 
@ 55,35 Say '* seu comentário deve possuir no máximo 150 caracteres' OF oDlg1  PIXEL
oMemo:bRClicked := {||AllwaysTrue()}
oMemo:oFont:=oFont                
oMemo:lReadOnly	:= !lEdita
oMemo:bValid := {||U_LimCarac(cObsAula)}

@ 50,240 BMPBUTTON TYPE 1  ACTION ( nOpc := 1 , oDlg1:End() )
ACTIVATE DIALOG oDlg1 CENTER
	
If nOpc == 1 .And. lEdita .And. !lVenda
	If AllTrim(PW9->PW9_OBSAUL) <> AllTrim(cObsAula)
		cUsuAula	:=	UsrFullName(RetCodUsr())
		cLogAula	:=	DtoC(dDataBase) + ' - ' + Left(Time(),5)

		If RecLock("PW9",.f.)
			PW9->PW9_OBSAUL	:=	cObsAula
			PW9->PW9_USUAUL :=	cUsuAula
			PW9->PW9_LOGAUL	:=	cLogAula
			PW9->(MsUnlock())
		Endif
	Endif
ElseIf nOpc == 1 .And. lEdita .And. lVenda
	cInf := cObsAula
Endif
	
RestArea(aArea)
Return .f.

User Function LimCarac(cTexto)

If Len(AllTrim(cTexto)) > 150
	MsgStop("Atenção o Limite de Caracteres para este Campo é de 150 ! O Texto Será Cortado Se Clicar em OK")
Endif		

Return Nil

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 7 meses atrás #31998 por diegoo_martins
Respondido por diegoo_martins no tópico Campo Memo
Neste caso, somente colocar a função U_LimCarac(cTexto) como validação de campo (X3_VLDUSER)..?

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 7 meses atrás #31999 por admin
Respondido por admin no tópico Campo Memo
Hum Pensei que era customizado, cara nunca tentei não, mas faz assim compila a função.

e no valid coloca U_LimCarac(M->CAMPOMEMO)

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 7 meses atrás #32006 por diegoo_martins
Respondido por diegoo_martins no tópico Campo Memo
O campo e o relatório são customizados....
Compilei e coloquei no valid do campo..apresenta a msg que é permitido apenas 200 caracteres e dá o error.log..

argument #3, parameter lRetorno error, expected L->U on FWCLOSECPO(PROTHEUSFUNCTIONMVC.PRX) 26/01/2017 15:12:05 line : 1271

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 7 meses atrás #32007 por admin
Respondido por admin no tópico Campo Memo
Altera a função conforme abaixo:
User Function LimCarac(cTexto)

If Len(AllTrim(cTexto)) > 150
	MsgStop("Atenção o Limite de Caracteres para este Campo é de 150 ! O Texto Será Cortado Se Clicar em OK")
       Return .F.
Endif		

Return .T.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.156 segundos
Joomla templates by a4joomla