TextBox

Hola,
Tengo un problema que se burla de mi!!..

Dejo una imagen donde se puede ver a que me refiero!
Como pueden ver a la izquierda, hay un campo de texto (TextBox), el cual tiene varios números escritos, estos números se escriben cuando pulso el boton "Enviar".
Lo que quiero lograr es que el texto se ingrese con el formato que esta a la derecha, uno debajo del otro... para esto intente colocarle un enter en formato ASCII al final de la linea para que empieza en una nueva, pero no me reconoce el comando!.

Que puedo hacer?? que soluciones me dan??
 

Adjuntos

  • visualbasic_149.jpg
    visualbasic_149.jpg
    106.5 KB · Visitas: 17
Intenta con esto:


Private Sub Command1_Click()
Dim T As Single
Dim Caracter As String
Dim Cadena As String
If Text1.Text = Empty Then Exit Sub
' Text2.MultiLine debe estar en True
' Text2.ScrollBars debe estar en true
For T = 1 To Len(Text1)
Caracter = Mid(Text1.Text, T, 1)
Cadena = Cadena & vbCrLf & Caracter & "-" & vbCrLf_
Next T
Text2 = Cadena
End Sub
 
Honbre Fogonazo no conocia esa faceta de programador de VB, ahora que te he calado ya se a quien preguntar.

Es que mi celebro funciona en monotarea, en asembler y C, ha la que habro varios hilos me bloqueo. Debe ser un problema de semaforos, polimorfismos, herencia y yo que se.
 
Pues nos complentamos, yo de C y asembler ni "J"

En cierta oportunidad se me ocurrio aprender algo de "C" y el dolor de cabeza me duro mas que resaca de anis.
 
Pongamonos de acuerdo:
¿ Tu quieres que el contenido de un textbox se escriba en otro de forma verical insertando un salto de pagina entre caracter y caracter ?
 
A ver!..

El programita funciona mas o meno asi:
Cuando pulsas el botón "Estado", se imprimen en el textbox, los números de los campos de arriba (A, B, C, D, E) se imprimen en el textbox, con el formato de la imagen izquierda.
Yo lo que quiero es que se escriban pero colocarles un salto de linea al final para que queden en una sola columna centrados en el centro, como esta en la imagen derecha.
 
Por favor ponle otros datos que no sean todos ceros como para entender mejor.


Si efectuas una suma de cadenas (Text1.text = TextA & TextB & TextC...) y la aplicas al text1 que te pase creo que puedes tener lo que quieres.
 
Es complicado explicar asi, voy a intentar de hacerlo con imagenes!

O preferis que suba el modulo, para que se pueda descargar y lo miras?
 
Ciri, no te sirve hacerlo con un List???

Simplemente aregalo a tu form y despues vas agregando elementos con la propiedad "additem". Asi: List1.additem
 
Ah, me olvidaba, aunque supongo que has trabajado con estos... Cuando vos agregas asi como te digo se te van poniendo uno abajo de otro entonces lo verias como queres. Fijate... por ahi le encontras la vuelta de esa forma
 
Ahora me ha cambiado la cosa

Intenta esto:

Private Sub Command1_Click()
Dim Porcentaje As Single
Text1 = 111
Text2 = 222
Text3 = 444
Text4 = 555
Text5 = 666
Porcentaje = 72.11

Text6.Text = Text1 & "-" & Text2 & "-" & Text3 & "-" & Text4 & "-" & Text5 & " (" &
Str(Porcentaje) & "%)"
End Sub


Edit:
Me volvi a fijar y vi que usaste ComboBox, en este caso es lo mismo, la linea de suma de cadenas es una sola, el editor del foro la corta
 
OOpppsssss....., Lo hice nuevamente

Corregido para combobox

Private Sub Form_Load()
Combo1.AddItem 111
Combo1.AddItem 222
Combo1.AddItem 333
Combo1.AddItem 444
Combo1.AddItem 555
Combo1.AddItem 666
End Sub

Private Sub Command1_Click()
Dim Porcentaje As Single
Text2 = 222
Text3 = 444
Text4 = 555
Text5 = 666
Porcentaje = 72.11
Text6.Text = Combo1.Text & "-" & Text2 & "-" & Text3 & "-" & Text4 & "-" & Text5
& " (" & Str(Porcentaje) & "%)"
End Sub
 
Bueno, hace mucho que no toco VB, así que tal vez tenga algún que otro error de syntaxis.

Por lo que tengo entendido, lo que querés hacer es una especie de consola, log, o como quieras llamarlo, que agregue una entrada (línea) con cada click que le hagas al botón "Estado".

Esto sería algo así:

Llamaremos cmdEstado al botón 'Estado', y txtLog al textbox multiline de la consola; txtA, txtB.. txtE serán los textbox numéricos. Percent será el valor del scrollbar.
Código:
Private Sub cmdEstado_Click()

	txtLog.text = txtLog.text & _
		txtA.text & "-" & _
		txtB.text & "-" & _
		txtC.text & "-" & _
		txtD.text & "-" & _
		txtE.text & " (" & _
		Percent.value & "%)" & _
		vbNewLine

End Sub

Para el valor del scrollbar CREO que la propiedad era value, por las dudas checkeá esto.
vbNewLine es para agregar el retorno de línea en vb, de todas maneras, en caso de que me haya equivcado u olvidado, probá con chr(13) en vez de vbNewLine, que debería ser lo mismo.

// Edit: Como bien te dijieron más arriba, yo usaría un ListBox en este caso, ya que se adapta mejor a esto.
 
Gracias a todos!!.. muy buenas ideas!!.

pero creo que encontre una mas facil que de adapta mejor a lo que queria!!..

Simplemente agrege un chr$(13) + chr$(10) al final de mi "formula"..

Ya lo habia intentado varias veces.. pero no me reconocia el enter como 13, me explicaron que el problema estaba en que un chr$(13), solo no lo toma tiene que estar junto al chr$(10)..

Gracias...
 
Atrás
Arriba