• Domingo 22 de Diciembre de 2024, 15:30

Autor Tema:  Validar Text Box Con Propiedad Multiline  (Leído 3270 veces)

Cmps360

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Validar Text Box Con Propiedad Multiline
« en: Viernes 28 de Enero de 2005, 23:50 »
0
Hola amigos como estan tengo un problema, tengo una validacion para un Text Box pero cuando le aplico la propiedad Multiline=True la validacion no me funciona, la cual es la sigiente:

Select Case KeyAscii
Case Asc(" ")
            If Len(TxtDirProv.Text) = 0 Then
            KeyAscii = 0
        Else
        If Mid(TxtDirProv.Text, Len(TxtDirProv.Text), 1) = " " Then
            KeyAscii = 0
        End If
        End If

la cual me sirve para que no deje espacio en blanco al comienso y despues de un espacio no pueda hacer otro

Bueno no tengo nada mas que preguntar por los momentos agradesco de su ayuda Ok.

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Validar Text Box Con Propiedad Multiline
« Respuesta #1 en: Sábado 29 de Enero de 2005, 02:14 »
0
pues no se pero tu codigo es muy rebuscado :P mejor haz un ciclo en un boton y evalua la cadena completa:

Private Sub Command1_Click()
var1 = 0
If IsNull(Text1) = True Then MsgBox "error"
If Left(Text1, 1) = " " Then MsgBox "error"
    For x = 1 To Len(Text1)
        If Mid(Text1, x, 2) = "  " Then MsgBox "error en " & x: Exit Sub
    Next
end sub

checalo haber si te sirve :) bueno nos vemos  :hola:  espero que te ayude bye  :kicking:

Cmps360

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Validar Text Box Con Propiedad Multiline
« Respuesta #2 en: Sábado 29 de Enero de 2005, 04:01 »
0
ok lo probare grasias por tu ayuda

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Validar Text Box Con Propiedad Multiline
« Respuesta #3 en: Sábado 29 de Enero de 2005, 08:42 »
0
Hola.

Tu código no funciona (tampoco en un textbox sin multiline) en el caso de que el usuario escriba en el medio de un texto existente: es decir, la cosa va bien si escribes en el textbox todo seguido, pero si te posicionas en el medio del texto ya existente y escribes ahí, el código ya no funciona.

La cosa podría quedar asín:
Código: Text
  1.  
  2. Private Sub Text1_KeyPress(Keyascii As Integer)
  3.     If Keyascii = 32 Then
  4.         If Text1.SelStart = 0 Then
  5.             Keyascii = 0
  6.         ElseIf Mid(Text1.Text, Text1.SelStart, 1) = " " Then
  7.             Keyascii = 0
  8.         ElseIf Text1.SelStart + 1 <= Len(Text1.Text) Then
  9.             If Mid(Text1.Text, Text1.SelStart + 1, 1) = " " Then
  10.                 Keyascii = 0
  11.             End If
  12.         End If
  13.     End If
  14. End Sub
  15.  
  16.  

También podrías optar por validar el texto mediante el evento en un lostfocus o en un validate (mejor). Te llegaría con una línea así:
Código: Text
  1.  
  2.    Text1.Text = LTrim(Replace(Text1.Text, Chr(32) & Chr(32), Chr(32))
  3.  
  4.  

No se contempla el caso de evitar un espacio al final del texto ya que no dices nada sobre ello. De todas formas si lo necesitas no te debería costar mucho hacerlo...

Chao.

Cyclop

  • Miembro MUY activo
  • ***
  • Mensajes: 323
    • Ver Perfil
    • http://www.geocities.com/icotext/spanish/
Re: Validar Text Box Con Propiedad Multiline
« Respuesta #4 en: Domingo 30 de Enero de 2005, 20:09 »
0
No seria mejor hacer un TRIM al final.


Salu2

Cyclopz
Icotext Evolution v0.5 para los amantes del ASCII Art
http]

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Validar Text Box Con Propiedad Multiline
« Respuesta #5 en: Martes 1 de Febrero de 2005, 11:15 »
0
¿Y los espacios intermedios?

Cyclop

  • Miembro MUY activo
  • ***
  • Mensajes: 323
    • Ver Perfil
    • http://www.geocities.com/icotext/spanish/
Re: Validar Text Box Con Propiedad Multiline
« Respuesta #6 en: Martes 1 de Febrero de 2005, 23:27 »
0
Hacer esto tantas veces como sea posible

Código: Text
  1.  
  2. ' Reemplazamos dos espacios en blanco con uno
  3. Do While InStr(1,sString, "  ") > 0
  4.      sString = Replace(sString, "  ", " ")
  5. Loop
  6.  
  7.  

Salu2
Icotext Evolution v0.5 para los amantes del ASCII Art
http]

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Validar Text Box Con Propiedad Multiline
« Respuesta #7 en: Miércoles 2 de Febrero de 2005, 09:15 »
0
Ya, pues que sepas que te sobra el bucle y repites algo ya dicho:
Citar
También podrías optar por validar el texto mediante el evento en un lostfocus o en un validate (mejor). Te llegaría con una línea así:
Código: Text
  1.  
  2.   Text1.Text = LTrim(Replace(Text1.Text, Chr(32) & Chr(32), Chr(32))
  3.  
  4.  

 De todas formas con esto obligas al desaparecido Cmps360 a programar una validación. El mismo...

Abur.

Cyclop

  • Miembro MUY activo
  • ***
  • Mensajes: 323
    • Ver Perfil
    • http://www.geocities.com/icotext/spanish/
Re: Validar Text Box Con Propiedad Multiline
« Respuesta #8 en: Miércoles 2 de Febrero de 2005, 17:12 »
0
Logicamente que es una alternativa mas ... que no pretende ser un estilo ni un estandar de validacion.

Salu2

Cyclopz
Icotext Evolution v0.5 para los amantes del ASCII Art
http]

Cyclop

  • Miembro MUY activo
  • ***
  • Mensajes: 323
    • Ver Perfil
    • http://www.geocities.com/icotext/spanish/
Re: Validar Text Box Con Propiedad Multiline
« Respuesta #9 en: Miércoles 2 de Febrero de 2005, 17:15 »
0
Cita de: "Brroz"
Ya, pues que sepas que te sobra el bucle y repites algo ya dicho:
Citar
También podrías optar por validar el texto mediante el evento en un lostfocus o en un validate (mejor). Te llegaría con una línea así:
Código: Text
  1.   
  2.   Text1.Text = LTrim(Replace(Text1.Text, Chr(32) & Chr(32), Chr(32))
  3.  
  4.  

 De todas formas con esto obligas al desaparecido Cmps360 a programar una validación. El mismo...

Abur.
Si pero esto funciona solo si tiene 2 espacios en blanco (Chr(32) + Chr(32)), y si tiene 3? 4? o mas?

Salu2
Icotext Evolution v0.5 para los amantes del ASCII Art
http]

fap1603

  • Miembro MUY activo
  • ***
  • Mensajes: 135
    • Ver Perfil
Re: Validar Text Box Con Propiedad Multiline
« Respuesta #10 en: Viernes 11 de Marzo de 2005, 02:50 »
0
Hola, usa la propiedad keypress, y lo validas con el valor ascii, usa un contador, para saber la cantidad de espacios, y usa el mismo contador de llave, por ejemplo, si escriben : "hola a todos", le dices al keypress, if keyascii = 32 then llave =1 , luego mientras escribes, preguntas si llave es = 0 lo que siginifcaria que no hay espacios, pondiras la llave a cero, cuando el usuario escriba cualquier caracter que no sea de valor ascii 32, y volveras a preguntar. yo utilizo esta forma para validar el tipo de datos que se debe ingresar en un textbox o combo o lo que sea, y me funciona de maravilla, hasta consigo que solo ingresen dos decimales y eso, sin complicarme. Suerte.
Saludos,

Francisco Ayala Pinazo
Lima - Perú