Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Como Hago Para Que Un Textbox No Admita Pegar Texto?
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Como Hago Para Que Un Textbox No Admita Pegar Texto? 
 
Tengo un Textbox el cual solo quiero que admita números, ya he hecho una función para esto y con el teclado solo puedo introducir números. Pero si copio algo en el clipboard de algún otro lado, le Textbox permite que lo copie dentro de el sin importar el tipo de texto que sea(símbolos, números, letras).

Quiero saber si hay alguna forma para evitar poder pegar texto en el Textbox.
 



 
elitedigital2005 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Hago Para Que Un Textbox No Admita Pegar Texto? 
 
Supongo que con el evento change. Haz una función que suprima las letras... algo así:
public function sololetras(texto as string) as string

dim aletras as string[]
dim letra as string

aletras=["a,"b","c",...etc]
for each letra in aletras
texto=replace(texto,letra,"
")
next

return texto


O quizá más rápido al revés, elimina todo lo que no sean números

public function sololetras(texto as string) as string

dim Numeros,limpio,letra as string
dim n as integer
numeros="1234567890"

for n=0 to len(texto)-1
 letra=mid(texto,n,1)
 if instr(numeros,letra)>0 then limpio &=letra
next

return limpio


Los he escrito aquí a vuelapluma, o sea que no copies y pegues sin más que lo mismo tiene errores, pero te haces una idea
 




===================
No podemos regresar
 
última edición por shordi el Miercoles, 27 Abril 2016, 08:27; editado 2 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Hago Para Que Un Textbox No Admita Pegar Texto? 
 
elitedigital2005 escribió: [Ver mensaje]
para evitar poder pegar texto en el Textbox.

Cuando tu dices "texto", estás hablando de solas letras o de cualquier carácter?
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Hago Para Que Un Textbox No Admita Pegar Texto? 
 
Shordi...¿y porqué no dijiste:

"Para números usa un ValueBox, que para eso son... y no un TextBox"

?

Siempre nos recuerdas ese control...  
 



 
vicr - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Hago Para Que Un Textbox No Admita Pegar Texto? 
 
vicr escribió: [Ver mensaje]
Shordi...¿y porqué no dijiste:

"Para números usa un ValueBox, que para eso son... y no un TextBox"

?

Siempre nos recuerdas ese control...  


Pues la verdad es que lo he dicho... y lo he quitado al momento porque no recordaba nunca haber copiado y pegado letras en un valuebox y no sabía si se podía hacer.  He hecho una prueba u sí se puede. Parece ser que valuebox depura los métodos de teclado, pero no el portapapeles. No he seguido con la prueba, si pulsas enter no sé lo que hace el valuebox, pero de lo que se trataba era de impedir el pegado. Así que le he escrito esas funcioncetas para el evento change y espero que funcionen. Si alguno lo prueba, que lo reporte aquí.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Hago Para Que Un Textbox No Admita Pegar Texto? 
 
vicr escribió: [Ver mensaje]
Shordi...¿y porqué no dijiste:

"Para números usa un ValueBox, que para eso son... y no un TextBox"

Copiando un cualquier texto y pegandolo en un ValueBox, veo que este objecto acepta letras, numeros y otros caracteres. Pulsando "Enter" el texto no es depurado.


Por lo que se refiere al aceptar solo numeros, por curiosidad muestro este código,  acogiendo la sugerencia de shordi del evento _Change():
Public Sub TextBox1_Change()

  Dim bb As Byte[]
  Dim i As Integer

  If Not IsDigit(TextBox1.Text) Then
    bb = Byte[].FromString(TextBox1.Text)
    Do
      If Not IsDigit(Chr(bb[i])) Then
        bb.Remove(i, 1)
        Dec i
      Endif
      Inc i
    Loop Until i = bb.Count
    TextBox1.Text = bb.ToString(0, bb.count)
  Endif
  
End


o con funciones String:
Public Sub TextBox1_Change()

  Dim i As Integer

   For i = 1 To String.Len(TextBox1.Text)
     If Not IsDigit(Mid(TextBox1.Text, i, 1)) Then TextBox1.Text = Replace(TextBox1.Text, Mid(TextBox1.Text, i, 1), Null)
   Next

End

 



 
última edición por vuott el Miercoles, 27 Abril 2016, 22:26; editado 4 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Hago Para Que Un Textbox No Admita Pegar Texto? 
 
Curioso lo del ValueBox.

Y si nos ponemos maldadosos y limpiamos el portapapeles cuando esté activo el formulario.

Public sub Form_Active ()
 Clipboard.clear ()

End

Creo que así se escribe, ando haciendo trámites...
 



 
última edición por vicr el Miercoles, 27 Abril 2016, 13:03; editado 1 vez 
vicr - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Hago Para Que Un Textbox No Admita Pegar Texto? 
 
vicr escribió: [Ver mensaje]
Curioso lo del ValueBox.

Y si nos ponemos maldadosos y limpiamos el portapapeles cuando esté activo el formulario.

Public Form_Active ()
 Clipboard.clear ()

End

Creo que así se escribe, ando haciendo trámites...

Eso es muy drástico, puedes querer copiar y pegar en otros campos de texto del mismo formulario...
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Como Hago Para Colocar A Una Persona En Un... jousseph General 2 Jueves, 22 Julio 2010, 06:36 Ver último mensaje
jousseph
No hay nuevos mensajes Como Hago Para Relacionar Tablas Sqlite jousseph General 3 Miercoles, 28 Julio 2010, 19:51 Ver último mensaje
jguardon
No hay nuevos mensajes Como Hago Para Crear Un Archivo XML /tmp jcontasti General 1 Jueves, 28 Octobre 2010, 21:51 Ver último mensaje
david
No hay nuevos mensajes Detectar Modificacion Al Pegar Texto En Te... v3ctor General 7 Jueves, 09 Julio 2015, 00:28 Ver último mensaje
frajanic
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron