|
Postada em 23/07/2008 10:45 hs
Bom dia amigos.... TEnho uma TEXT, com a propriedae MULTLINE, estou precisando limitar o nr d linhas nela.... Alguem tem uma dica ai, como posso contar as linhas nessa TEXT, e num determinado numero d linhas (25), o usúario ser informado q o limite acabou... e paralizar a insercao da linha 26... No aguardo, agradeço a atençao...
|
|
|
|
PH1959
|
SÃO JOSÉ DOS CAMPOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 23/07/2008 12:54 hs
vc pode delimitara qtde de caracteres. é só verificar qtos caracteres cabem por linha...multiplicar por 25 e limitar o len do textbox
|
|
|
|
Postada em 23/07/2008 14:03 hs
assim, eu delimitei 800 caracteres no TEXT... o problema q os ENTER, eu nao posso tirar a possibilidade do ENTER, pois esse campo as vezes precisa d PARAGRAFO, esse campo é pra digitar RECEITUARIO,,, entao, se nao posso tirar o ENTER... tenho q controlar a quantidade d linhas delimitando os caracteres, funcionou em partes, pois 800 é a quantidade certa para caber no relatorio,, mas se for dando ENTER, dai vai aumentando o tamanho do texto, e so contando um CARACTER... entende? por isso quero,, bloquear,, ou 800 caracteres, ou 25 linhas.... dai ficar 100% se alguem puder ajudar...
|
|
|
|
Postada em 23/07/2008 18:39 hs
Uma idéia: no evento KeyUp, crie um contador. Se o caractere for o enter - asc=10 (ou 13) - incremente ocontador. Quando chegar a 25 bloqueie e avise. Ou no KeyChange vá contando quantos Enter tem, até chegar a 25.
Não testei, é só teoria...
|
|
|
Treze
|
SÃO VICENTE SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 23/07/2008 19:47 hs
Eis minha colaboração, coloque dois textbox no form, deixe o text2 como multline, o text1 irá exibir apenas o numero da linha em que se está. agora cole em um módulo Option Explicit Public Declare Function SendMessageLong Lib _ "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Public Const EM_GETLINECOUNT = &HBA no form
Option Explicit Private Sub Text2_Change() Dim lineCount As Long On Local Error Resume Next lineCount = SendMessageLong(Text2.hwnd, EM_GETLINECOUNT, 0&, 0&) Text1.Text = Format$(lineCount, "##,###") End Sub
|
|
|
|
Postada em 24/07/2008 09:38 hs
bom dia,,, o codigo pra contar linhas funcionou certinho... agora queria complementar q a partir de 25 linhas, nao aceitasse mais,, nem ENTER e nem DIGITAR.... ja tentei esses codigos abaixo e nada... If Text8.Text > "25" Then MsgBox "Limite do texto receituário alcaçado!!!", vbCritical, "ATENÇÃO USUÁRIO" Exit Sub End If
outro If Text8.Text > "25" Then MsgBox "Limite do texto receituário alcaçado!!!", vbCritical, "ATENÇÃO USUÁRIO" If KeyCode = vbKeyReturn Then DoCmd.CancelEvent End If End If
mesmo assim,, ele dá a mensagem q ja foi alcaçado,, e insere + uma linha,,, ou seja, nao bloqueia... dá mais uma ideia ai gente....
|
|
|
|