Hola! Pues tengo el siguiente código:
Sub AbrirLista(List As ListBox, FileName As String)
Dim LineaTexto As String
Open FileName For Input As #1
While Not EOF(1)
Line Input #1, LineaTexto
List.AddItem LineaTexto, 0
Wend
Close #1
End Sub
Pero en el listbox me carga el archivo asi:
" PRUEBA PRUEBA PRUEBA "
Que en realidad debería ser así:
"Prueba
Prueba
Prueba"
Ayuda PLS! :-\
Sub AbrirLista(List As ListBox, FileName As String)
Dim LineaTexto As String
Open FileName For Input As #1
While Not EOF(1)
Line Input #1, LineaTexto
List.AddItem LineaTexto & vbcrlf, 0
Wend
Close #1
End Sub
saludos Flamer y dime si te funciono
No me anda , por que el txt que carga el listbox está en una página web , cuando vb6 descarga el archivo me los descarga con el formato "PRUEBAPRUEBAPRUEBAPRUEBAPRUEBA" , no hay alguna forma de descargar el archivo sin que lo descarge todo junto , el código para descargar que tengo es:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Dim Reply As Long
Reply = URLDownloadToFile(0, "http://www.midominio.com/prueba/prueba2/list.txt", App.path & "\other\temp\terrain.dat", 0, 0)
If Reply = 0 Then
AbrirLista listact, App.path & "\other\temp\terrain.dat"
Else
MsgBox "Error: Compruebe su conexión a internet , vbCritical, "Error"
End If
Puedes yo uso esto en mis proyectos:
Pero separo los string con una coma o un guion
Si en el archivo esta "PRUEBAPRUEBAPRUEBA"
Cambialo por "PRUEBA-PRUEBA-PRUEBA" o "PRUEBA,PRUEBA"....
Sub AbrirLista(List As ListBox, FileName As String)
Dim LineaTexto As String
Dim I as Integer
Dim Separador() as String
Open FileName For Input As #1
While Not EOF(1)
Line Input #1, LineaTexto
Separador = Split(LineaTexto,"-")
For I = 0 to UBound(Separador())
List.AddItem Separador(I), 0
Next I
Wend
Improvise un poco con el codigo de Flamer espero que si funcione y que te sirva ;)
Close #1
End Sub
Hola.
Aprovechando un poco lo indicado por Flamer y Brian, esto debería funcionarte:
Sub AbrirLista(FileName As String)
Dim LineaTexto As String
Dim I As Integer
Dim Separador() As String
Open FileName For Input As #1
Line Input #1, LineaTexto
Separador = Split(LineaTexto, vbLf)
For I = 0 To UBound(Separador)
List.AddItem Separador(I)
Next I
Close #1
End Sub
Saludos.
Hola HdM mira creo que te confundiste aqui en la linea 8
CitarSeparador = Split(LineaTexto, vbLf)
No seria de esta forma?:
CitarSeparador = Split(LineaTexto, vbcrlf)
Hola.
No, no me confundí. Si las líneas en el txt hubiesen estado separadas por vbCrLf, entonces TheH4ck no habría creado este hilo, ya que habría importado el fichero sin problemas.
Saludos.
Hola
Lo que hay que hacer es primero cargar el texto en una variable, tal cual y luego mediante Split, se lee linea por linea. En lugar de leer linea por lína a medida que se leen los datos. Se meten tal cual en la variabla y luego ya se puede leer con Split sin problemas.
Sub AbrirLista(List As ListBox, FileName As String)
Dim LineaTexto As String
Dim File As Integer
Dim Cont As Integer
Dim cDato As String
File = FreeFile
'Abre el archivo
Open FileName For Binary Access Read Write Lock Write As #File
cDato = String(1, " ")
While Not EOF(File)
Get #File, , cDato
LineaTexto = LineaTexto & cDato 'Carga el texto en una variable
Wend
Close #1
'Lee linea por linea y las mete en el ListBox
Dim Lineas() As String
Dim i As Integer
Lineas = Split(LineaTexto, vbNewLine)
For i = LBound(Lineas) To UBound(Lineas)
If Lineas(i) > "" Then
List1.AddItem Lineas(i)
End If
Next
End Sub