Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

¿Por qué me pide un array?

Estas en el tema de ¿Por qué me pide un array? en el foro de Visual Basic clásico en Foros del Web. Hola, necesito copiar texto de un Textbox a un Picturebox y para ello estoy usando el método Print: Código: PictureBox.Print texto Para poder gestionar los ...
  #1 (permalink)  
Antiguo 06/03/2009, 06:02
Avatar de Nlrvana  
Fecha de Ingreso: marzo-2008
Mensajes: 36
Antigüedad: 16 años, 1 mes
Puntos: 0
¿Por qué me pide un array?

Hola, necesito copiar texto de un Textbox a un Picturebox y para ello estoy usando el método Print:

Código:
PictureBox.Print texto 
Para poder gestionar los saltos de línea se me ha ocurrido enviar los caracteres uno a uno...y no quedan mal cuando se escriben directamente en el Textbox:

Código:
Private Sub Text1_KeyPress(KeyAscii As Integer)
char = Chr(KeyAscii)
texto = texto + char
If ((Picture1.CurrentX + Picture1.TextWidth(texto)) > (Picture1.ScaleWidth - MargenDerechoDelTextoEnElPictureBox) And KeyAscii = 32) Then
char = ""
Picture1.CurrentY = Picture1.CurrentY + Picture1.TextHeight(texto)
tr = 0
End If
Picture1.Print char;
End Sub
(Así al menos me funciona, seguro que ustedes conocen una manera mejor, si la saben díganmela)

Lo que no entiendo es por qué no funciona este código para enviarlos uno por uno desde una variable, y en cambio me pide un array:

Código:
Private Sub Command1_Click()
Dim texto as String, char as String
Dim x as Integer
texto ="Hola Mundo"
For x = 0 To Len(texto)
char = texto(x)
Picture1.Print char;
Next x
End Sub

Además no se envía al Picturebox el formato que tenga el texto definido en el Textbox (fuente, tamaño, etc) y tampoco se porqué.

Gracias por su ayuda
  #2 (permalink)  
Antiguo 06/03/2009, 06:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿Por qué me pide un array?

¿texto(x)?, no se puede hacer de esa manera. Sería mejor así:
Código vb:
Ver original
  1. char = Mid(texto, x, 1)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 06/03/2009, 06:17
Avatar de Nlrvana  
Fecha de Ingreso: marzo-2008
Mensajes: 36
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: ¿Por qué me pide un array?

Cierto, gracias David. Ha funcionado.

Me extrañaba que no funcionase de la otra manera porque en otras versiones de Basic siempre me funcionó así.

Y sobre lo de que no envie el formato ¿podeis decirme algo?
  #4 (permalink)  
Antiguo 06/03/2009, 07:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿Por qué me pide un array?

Debes también colocar el formato en el PictureBox cambiando su propiead Font.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 05:11.