Autor
|
Tema: Se podra? (Leído 3,669 veces)
|
Erika Vega
Desconectado
Mensajes: 96
|
Un problema mas que tengo chicos, Lo que deseo es saber si se puede realizar lo siguiente en visual basic. por ejemplo: en un archivo de texto tengo lineas como esta usuario = felipito ;Nombre de usuario password = 1234 ;password del usuario rango = 3 ;Rango de usuario: 1= admin, 2=normal, 3=mod ... ... ...
Si se dan cuenta los comentarios se definen a partir del "punto y coma" Lo que deseo es colocar en un listview estos datos por separados de manera ordenada [liNEA] [TAG] = [ATRIBUTO] [; COMENTARIO]
Set subs = ListView1.ListItems.Add(, , LINEA) subs.SubItems(1) = TAG subs.SubItems(2) = ATRIBUTO subs.SubItems(2) = COMENTARIO
Se como agregar los datos al listview, pero no logro separarlos y colocarlos como quiero.
|
|
|
En línea
|
|
|
|
el_c0c0
Desconectado
Mensajes: 307
|
lo arreglas con split: Dim strItems1() as String Dim strItems2() as String strItems1= split(strLinea, "=") '0=tag strItems2 = split(strItems1(1), ";") '0=contenido, 1=comentario
saludos
|
|
|
En línea
|
'- coco "Te voy a romper el orto"- Las hemorroides
|
|
|
Erika Vega
Desconectado
Mensajes: 96
|
lo arreglas con split: Dim strItems1() as String Dim strItems2() as String strItems1= split(strLinea, "=") '0=tag strItems2 = split(strItems1(1), ";") '0=contenido, 1=comentario
saludos esta muy bien pero me sale el tipico error que el indice esta fuera del intervalo.
|
|
|
En línea
|
|
|
|
vivachapas
Desconectado
Mensajes: 612
|
postea una parte del codigo.. o asi tal cual es como lo pusiste?? si lo pusiste asi el error es xq no lo metiste en ningun evento :S
|
|
|
En línea
|
|
|
|
Erika Vega
Desconectado
Mensajes: 96
|
Dim Linea As String Dim item As ListItem Dim spt1() As String Dim spt2() As String Dim i As Integer PathArchivo = App.Path & "\datos.txt" Open PathArchivo For Input As #1 While Not EOF(1) Line Input #1, Linea spt1 = Split(Linea, ";") spt2 = Split(spt1(0), "=") Set item = ListView.ListItems.Add(, , spt2(0)) item.SubItems(1) = spt2(1) Wend Close Exit Sub errsub: MsgBox Err.Description, vbCritical
Ahi esta, haber si me das una manito
|
|
|
En línea
|
|
|
|
byway
Desconectado
Mensajes: 181
^^,
|
existen muchas maneras de cargar un texto en un listview de forma ordenada: Sub abre_lista() Dim itm As ListItem Dim a, b, c As String Open App.Path & "\Data.txt" For Input As #1 Do Until EOF(2) Input #1, a, b, c Set itm = lv1.ListItems.Add(, , a) itm.SubItems(1) = b itm.SubItems(2) = c Loop Close #1 End Sub
y claro las lineas del texto deben de estar separados : "usuario","password","rango" espero te sirva... saludos. edit: los datos solo eran 3 .. puse para 4 anteriormente... ya esta corregido
|
|
« Última modificación: 25 Febrero 2009, 20:02 pm por byway »
|
En línea
|
|
|
|
Erika Vega
Desconectado
Mensajes: 96
|
existen muchas maneras de cargar un texto en un listview de forma ordenada: Sub abre_lista() Dim itm As ListItem Dim a, b, c As String Open App.Path & "\Data.txt" For Input As #1 Do Until EOF(2) Input #1, a, b, c Set itm = lv1.ListItems.Add(, , a) itm.SubItems(1) = b itm.SubItems(2) = c Loop Close #1 End Sub
y claro las lineas del texto deben de estar separados : "usuario","password","rango" espero te sirva... saludos. edit: los datos solo eran 3 .. puse para 4 anteriormente... ya esta corregido Muy bien, pero el archivo de texto es como dije anteriormente: LLAVE=VALOR ;COMENTARIO Si lo pudiera separar todos con comas funcionaria, pero como digo no puedo cambiar la estructura del txt.
|
|
|
En línea
|
|
|
|
jackl007
Desconectado
Mensajes: 1.403
[UserRPL]
|
como no se va a poder, es muy facil hacer lo que pides; VB es mucho mas pontente de lo que creees.... tu te encargas de que se abra el archivo leyendo linea a linea (mira los posts anteriores, por alli esta), y esto se va guardando en la variable: linea ... y se obtienen todos los valores Dim Llave, Valor, Comentario As String Dim linea As String linea = "Path=C:\WINDOWS;Ruta de Windows" Llave = Trim(Mid(linea, 1, InStr(1, linea, "=") - 1)) Valor = Trim(Mid(linea, InStr(1, linea, "=") + 1, InStr(1, linea, ";") - InStr(1, linea, "=") - 1)) Comentario = Trim(Mid(linea, InStr(1, linea, ";") + 1)) MsgBox Llave MsgBox Valor MsgBox Comentario
|
|
|
En línea
|
|
|
|
Erika Vega
Desconectado
Mensajes: 96
|
Esta muy bien, pero mi problema no es separarlos sino meterlos al listview, tu metodo es muy bueno pero ocasiona un error a la hora de tratar de meterlos al listview. De todas formas gracias por el codigo, los separa bien si lo muestras en un mensaje pero para el listview no funciona. PathArchivo = CD1.FileName Open PathArchivo For Input As #1 While Not EOF(1) Line Input #1, linea llave = Trim(Mid(linea, 1, InStr(1, linea, "=") - 1)) valor = Trim(Mid(linea, InStr(1, linea, "=") + 1, InStr(1, linea, ";") - InStr(1, linea, "=") - 1)) comentario = Trim(Mid(linea, InStr(1, linea, ";") + 1)) Set item = ListView.ListItems.Add(, , llave) item.SubItems(1) = valor item.SubItems(2) = comentario Wend Close #1
|
|
« Última modificación: 25 Febrero 2009, 22:53 pm por Erika Vega »
|
En línea
|
|
|
|
Dessa
Desconectado
Mensajes: 624
|
Muy bien, pero el archivo de texto es como dije anteriormente: LLAVE=VALOR ;COMENTARIO Si lo pudiera separar todos con comas funcionaria, pero como digo no puedo cambiar la estructura del txt.No cambies la extructura del txt, crea una cadena con el txt y modificala Dim cadena$: cadena = "usuario = felipito ;Nombre de usuario" + vbNewLine + "password = 1234 ;password del usuario" + vbNewLine + "rango = 3 ;Rango de usuario: 1= admin, 2=normal, 3=mod"
MsgBox cadena
cadena = Replace(cadena, "usuario =", "usuario ,") cadena = Replace(cadena, "password =", "password ,") cadena = Replace(cadena, "rango =", "rango ,") cadena = Replace(cadena, ";", ",") cadena = Replace(cadena, "1= admin, 2=normal, 3=mod", "1= admin 2=normal 3=mod") MsgBox cadena
Saludos
|
|
« Última modificación: 26 Febrero 2009, 00:58 am por Dessa »
|
En línea
|
Adrian Desanti
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
se podra?
PHP
|
Zhuikov
|
3
|
1,544
|
11 Marzo 2013, 20:43 pm
por z3nth10n
|
|