elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Mostrar texto en columna?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mostrar texto en columna?  (Leído 2,053 veces)
LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Mostrar texto en columna?
« en: 26 Agosto 2008, 06:30 am »

buenas tengo una duda que hace tiempo me viene acosando
Como puedo mostrar texto en columna dentro de un textbox,

muestro un ejemplo
Código:
Dim sResult As String

Private Sub Form_Load()
    Me.AutoRedraw = True

    AddData "Rosario", "2.80", "Estacional"
    AddData "Santa Fe", "3.13", "Crece"
    AddData "Corrientes", "4.22", "Baja"
    AddData "Formosa", "4.44", "Crece"
    AddData "Posadas", "5.30", "Baja"
    AddData "Iguazú", "13.50", "Crece"
    AddData "Andresito", "0.82", "Baja"
    AddData "Villa Constitución", "2.35", "Crece"
   
   
   
    Debug.Print sResult
    Me.Print sResult
   
End Sub

Private Sub AddData(D1 As String, D2 As String, D3 As String)
    sResult = sResult & Tabular(D1, 25) & Tabular(D2, 6, True) & Space(10) & Tabular(D3, 10) & vbCrLf
End Sub

'Private Sub AddData(D1 As String, D2 As String, D3 As String)
'    sResult = sResult & D1 & vbTab & vbTab & D2 & vbTab & D3 & vbCrLf
'End Sub


Private Function Tabular(Palabra As String, Espacio As Long, Optional AlignRight As Boolean) As String
    If AlignRight Then
        Tabular = Space(Espacio - Len(Palabra)) & Palabra
    Else
        Tabular = Palabra & Space(Espacio - Len(Palabra))
    End If
End Function

bien si prueban el ejemplo veran que en la ventana de inmediato se muestra correctamente pero al mostrar estos datos en un textbox o con la funcion me.print se desalinean.
si uso la segunda funcion  AddData (La que esta comentada) pues bien surge un problema con respecto al ultimo items (Villa Constitución) ya que este es mas largo que los superiores o en el primer items que al ser muy corto la tabulacion no se nota, entonces como se cuando deberia aplicar un doble o triple tab o ninguno?

Saludos ;)


En línea

APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.871


Toys in the attic.


Ver Perfil
Re: Mostrar texto en columna?
« Respuesta #1 en: 27 Agosto 2008, 00:00 am »

Tu problema es que estas usando pocos tabs para alinear el texto, pero el tema es que la "longitud" del texto, no se cuenta con la cantidad de caracteres, sino con la longitud propiamente dicha. X ejemplo, en la palabra "rosario", que tiene 7 caracteres, tenes que agregar un tab extra, pero en la palabra "formosa", si le agregas uno mas, se te desalinea...
Esto en cuanto a la segunda funcion AddData.
En la primera, esa es la que tenes que usar, pero haciendole un par de modificaciones a la funcion Tabular:

Código
  1. Private Function Tabular(Palabra As String, Espacio As Long, Optional AlignRight As Boolean) As String
  2.    If AlignRight Then
  3.        Tabular = Space(Espacio - Len(Palabra)) & vbTab & Palabra & vbTab
  4.    Else
  5.        Tabular = Palabra & Space(Espacio - Len(Palabra)) & vbTab
  6.    End If
  7. End Function

A mi me quedo todo ordenadito, espero que te funcione a vos tambien, pero xq no usas mejor ListBox o varios Textbox?, o incluso varios Label...

Espero que te sirva
Un abrazo
APOKLIPTICO


En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Mostrar texto en columna?
« Respuesta #2 en: 27 Agosto 2008, 00:47 am »

Hola Gracias si en el formulario se alinea, pero en un textbox no, pero no importa ya esta solucionado,en otro foro me dieron la solucion, que es utilizar una font de caracteres fijos por ejemplo "Courrier"

Saludos

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dar ancho a columna JTable
Java
MiguelP 0 1,309 Último mensaje 11 Abril 2014, 16:23 pm
por MiguelP
Mostrar texto en un Jlabel
Java
ferluqs 1 5,612 Último mensaje 14 Octubre 2014, 02:06 am
por bengy
Asignar nombre filas y columna matrices
Java
miguel96 2 4,125 Último mensaje 21 Noviembre 2014, 17:57 pm
por DarK_FirefoX
[Solucionado]Imposible mostrar texto de un txt en C -
Programación C/C++
Arturo400 6 2,852 Último mensaje 26 Septiembre 2016, 00:04 am
por MAFUS
Guardar y mostrar informacion de un archivo en forma de columna
Programación C/C++
Aquilesvengo 0 1,055 Último mensaje 8 Agosto 2018, 07:25 am
por Aquilesvengo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines