Foros del Web » Programación para mayores de 30 ;) » Programación General »

Necesito ayuda sobre acciones en VB.

Estas en el tema de Necesito ayuda sobre acciones en VB. en el foro de Programación General en Foros del Web. Hola colegas! Necesito la ayuda de alguien uqe sepa a nivel intermedio VB6.0 Resulta que me gustaría hacer lo siguiente: Tengo un text box en ...
  #1 (permalink)  
Antiguo 12/03/2003, 19:27
AeSePe1
Invitado
 
Mensajes: n/a
Puntos:
Necesito ayuda sobre acciones en VB.

Hola colegas!
Necesito la ayuda de alguien uqe sepa a nivel intermedio VB6.0
Resulta que me gustaría hacer lo siguiente:
Tengo un text box en blanco, llamado "txtTxt". Cuando escribo, el texto aparece con el color negro, pero cuando el usuario escribe el signo "¿", este se pinta de rojo y tóda la frase seguida de él, hasta que el usuario no cierra "?", el texto sigue rojo, pero cuando ciera, sigue como antes "negro".
Por favor, necesito de su ayuda, no se como hacerlo.
saludos
  #2 (permalink)  
Antiguo 13/03/2003, 10:45
Avatar de Jorge_Mota  
Fecha de Ingreso: diciembre-2002
Ubicación: Chapinlandia :-D
Mensajes: 725
Antigüedad: 21 años, 5 meses
Puntos: 11
tendras que usar algun control que te permita aplicar formato al texto. como el rich edit

o si no, deberas capturar en el evento Key Press cuando sea la tecla ¿, luego, en el mismo evento, deberas checar la existencia de ¿ y la de ?, si esta ?, tonz le pones txttxt.font.color =0 y si no esta, pues el del rojo.


P.d. no tengo vb aca asi, que no pude mandarte codigo, mas o menos la forma de como hacerlo ...
__________________
Jorge Mota
Blog
Gubiz estafa
  #3 (permalink)  
Antiguo 14/03/2003, 07:28
AeSePe1
Invitado
 
Mensajes: n/a
Puntos:
VB

Hola Jorge_Mota.
Muchas gracias por tu ayuda, pero todavía no me funciona.
Lo que pasa que yo capturo de la siguiente manera:
if txtTex="¿" then
txtTxt.font.color=&H000000FF&
else if txtTxt= "?" then
txtTxt.font.color=0
end if

Me parece que lo estoy haciendo mal... ¿Me lo solucionas?
saludos.
  #4 (permalink)  
Antiguo 14/03/2003, 17:35
AeSePe1
Invitado
 
Mensajes: n/a
Puntos:
Alguien que me ayude!!!!!!!
  #5 (permalink)  
Antiguo 15/03/2003, 05:10
 
Fecha de Ingreso: abril-2002
Mensajes: 438
Antigüedad: 22 años
Puntos: 2
Si la historia fuera que después de abandonar el foco del richtextbox se te pusiera lo que está entre interrogantes en otro color la cosa sería extemadamente sencilla, simplemente buscas el ¿ y el ? y así inicializas las propiedades selstart y sellength del rtf y luego usas el selcolor.

Pero supongo que quieres que se ponga en rojo mientras el usuario escribe, entonces creo (no sé) que la cosa se complica un poco, pero bueno, también puede salir "pa lante", esto es lo que yo te aconsejaría así de entrada y sin pensar demasiado (seguro que hay un solución mejor):

- Declára dos variables booleanas, una de ellos marcará que se ha pulsado ¿ y otra marcará que se ha pulsado ?. Serán estáticas.
- En el evento keyPress del rtf ves tragando hasta que pulse ¿. En caso de que lo haya hecho entonces ya pones la booleana que marca el comienzo a true.
- Haces un if de esta variable y si es true haces:
RichTextBox1.SelLength = Len(RichTextBox1.Text)
RichTextBox1.SelColor = vbRed
-Dentro de este if ...

Bueno, veo que me estoy yendo de la pelota demasiado, lo mejor que puedo hacer es ponerte el código que he probado y me ha funcionado, se puede mejorar pero como punto de partida te puede servir:

Dim c As Boolean, b As Boolean
Private Sub RichTextBox1_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc("¿") Then
RichTextBox1.SelStart = Len(RichTextBox1.Text)
c = True
End If
If c Then
RichTextBox1.SelLength = Len(RichTextBox1.Text)
RichTextBox1.SelColor = vbRed
If KeyAscii = Asc("?") Then
c = False
b = True
Exit Sub
End If
End If
If b Then
RichTextBox1.SelStart = Len(RichTextBox1.Text)
RichTextBox1.SelLength = 1
RichTextBox1.SelColor = vbBlack
b=false
End If
End Sub

Quedan algunas cosas por currarse pero bueno como piedra de partida te puede servir.

Saludos.
  #6 (permalink)  
Antiguo 15/03/2003, 09:13
AeSePe1
Invitado
 
Mensajes: n/a
Puntos:
Hola sdnsdlm (que nombre más dificil de escribir... !!)
El código handa bien, pero me surge error porque no reconoce la propiedad "SelColor" , y no encuentro ninguna parecida para que me pinte solamente la frase que va entre "¿" y "?".
Me sorprende porque tu me dices que lo probaste y te handa bien, pero a mi no .
Yo trabajo con VB 6.0 ¿será porque trabajamos con distintas versiones?

espero que me sepas solucionar este problema; igual muchas gracias por la ayuda que de diste... !
  #7 (permalink)  
Antiguo 16/03/2003, 11:09
 
Fecha de Ingreso: abril-2002
Mensajes: 438
Antigüedad: 22 años
Puntos: 2
¿Estás usando un richtextbox?
  #8 (permalink)  
Antiguo 16/03/2003, 15:00
AeSePe1
Invitado
 
Mensajes: n/a
Puntos:
Muchas graicas sdnsdlm !!!
Ya sabía que me faltaba algo, pero se me olvidó completamente.... .
Ahora te pregunto como se puede hacer para que me coloree la palabra pero cuando inserto "<&" ya que ese código funciona solamente con un solo síbolo, y yo quiero constatar si eecriben el síbolo "<&" para luego colorear todo lo que sigue.
espero tu respuesta.
suerte
  #9 (permalink)  
Antiguo 17/03/2003, 06:09
 
Fecha de Ingreso: abril-2002
Mensajes: 438
Antigüedad: 22 años
Puntos: 2
Lo siento pero no soy de los que pienso que poner el código a pelo sirva de mucho. Creo que tienes todo lo necesario para desarrollarlo por ti mismo. Captura el ascii de la tecla pulsada, si es el del "<" activa un flag, y si el siguiente es "?" y el flag está activado entonces empiezas a escribir en rojo tal cual ya está. Al empezar a manejar caracteres yo casi que usaría un select case. No sé, prueba cosas y si no te sale pon el código que estás usando y en base a ese código veremos las mejoras que se pueden hacer, pero no sé, inténtalo hacerlo por ti mismo, creo que es la manera correcta.

Saludos.
  #10 (permalink)  
Antiguo 18/03/2003, 08:45
AeSePe1
Invitado
 
Mensajes: n/a
Puntos:
Tienes razón sdnsdlm.
Lo que pasa es que no entiendo casi nada de lo que me dices ya que soy un nuevo usuario de VB y recien empieso a programar, pero como yo uso mucho el editor de texto, me gustaría hacerme uno personalizado para el trabajo que realizo.
Espero que me sepas entender y me des la solución que necesito.
saludos y suerte.
  #11 (permalink)  
Antiguo 18/03/2003, 15:27
 
Fecha de Ingreso: abril-2002
Mensajes: 438
Antigüedad: 22 años
Puntos: 2
En estos momentos estoy en casa de mis padres y aquí no tengo VB instalado, así que te respondo mañana o pasado mañana OK? A ver si conseguimos algo, ¡¡¡¡¡ ENTRE LOS DOS !!!!!

Saludos.
  #12 (permalink)  
Antiguo 30/03/2003, 08:46
AeSePe1
Invitado
 
Mensajes: n/a
Puntos:
Hola amigo.
Hace un buen rato quee stoy esperando tu respuesta y no apareces. ¿hay alguien que me pueda ayudar?
saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:23.