Wenas a todos, pues vereis esqe necesito saber si se pueden meter los datos de un textbox en un listbox o listview, me explico, por ejemplo por ejemplo el text1.text es azul|*|rojo|*|amarillo|*|verde|*|rosa|*|negro|*|..., y qiero qe al pulsar el command1, se cree nu listbox con cada uno como list.text:
azul
rojo
amarillo
verde
...
Supongo qe esto si qe se podra hacer, pero para complicarlo aun mas tambien necesito (aparte) hacer lo mismo con dos datos en un list view, por ejemplo, el text1.text es azul|*|carlos\?\rojo|*|eva\?\verdel|*|juan\?\amarillo|*|jose\?\
y al pulsar command1, en el listview tendria qe qedar:
COLOR(Index0) NOMBRE(Index1)
azul carlos
rojo eva
verde juan
amarillo jose
Bueno, espero qe me hallais entendido, si alguien me puede explicar como se podria hacer esto, muchiisimas gracias por adelantado
Saludos
Si te digo la verdad me extraña mucho que TU preguntes esto. Llevas bastante tiempo aqui y se me hace raro que no sepas como leer un archivo de texto y como meterlo en un listbox.
Y si es cierto que no lo sabes pues busca en el foro que se ha respondido mil veces.
creo que ya muchas veces se ha dicho de funciones para manipular texto, pero hay te va una pista, deberias hacer un ciclo para recorrer todo el textbox (for, do while...etc) y usar instrucciones para separar el texto (mid, Right, Left, InStr) que quieres poner en el ListView, es muy sencillo.
ej
Dim j As Integer
Dim T As String
T = "renglón1|renglón2|renglón3|renglón4|renglón5"
i = 1
While i <= Len(T)
j = InStr(1, T, "|", vbTextCompare)
If j = 0 Then j = Len(T) + 1
MsgBox Mid(T, i, j - 1)
T = Mid(T, j + 1, Len(T))
Wend
OK, gracias CeLaYa, el codigo va de lujo, voi a buscar lo del listview
para lo del listview solo tienes que ir agregando items
Dim j As Integer
Dim T As String
T = "renglón1|renglón2|renglón3|renglón4|renglón5"
i = 1
While i <= Len(T)
j = InStr(1, T, "|", vbTextCompare)
If j = 0 Then j = Len(T) + 1
ListView1.ListItems.Add ,, Mid(T, i, j - 1)
T = Mid(T, j + 1, Len(T))
Wend
Gracias, pero lo qe decia era usando dos columnas y dos separadores en el texto por ejemplo Francia|Paris*España|Madrid*Italia|Roma*... y qe vayan listandose parejos en dos columnas. Ahora mismo no tengo tiempo pero ya me pondre y os digo...
Gracias CeLaYa
creo que lo que estas buscando puede estar aqui:
http://foro.elhacker.net/index.php/topic,143992.0.html
Gracias CeLaYa, ya tengo todo lo qe buscaba, al final el codigo lo he sacado a partir del primero qe posteastes, ha qedao asi, por si a alguien le interesa...
Option Explicit
Private Sub form_load()
Dim J As Integer
Dim T As String
Dim N As Integer
T = "españa|madrid|italia|roma|francia|paris|grecia|atenas|holanda|amsterdam"
N = 1
Dim X As ListItem
While N <= Len(T)
J = InStr(1, T, "|", vbTextCompare)
If J = 0 Then J = Len(T) + 1
Set X = ListView1.ListItems.Add(, , Mid(T, N, J - 1))
T = Mid(T, J + 1, Len(T))
J = InStr(1, T, "|", vbTextCompare)
If J = 0 Then J = Len(T) + 1
X.SubItems(1) = (Mid(T, N, J - 1))
T = Mid(T, J + 1, Len(T))
Wend
End Sub
Y si se poenen mas columnas solo hay qe repetir la ultima mitad del while...wend
Saludos