Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: TheH4ck en 28 Febrero 2015, 02:28 am



Título: Ayuda con saltos de línea
Publicado por: TheH4ck en 28 Febrero 2015, 02:28 am
Hola! Pues tengo el siguiente código:
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!  :-\


Título: Re: Ayuda con saltos de línea
Publicado por: Flamer en 28 Febrero 2015, 03:12 am
Código
  1. Sub AbrirLista(List As ListBox, FileName As String)
  2. Dim LineaTexto As String
  3. Open FileName For Input As #1
  4.  
  5. While Not EOF(1)
  6. Line Input #1, LineaTexto
  7. List.AddItem LineaTexto & vbcrlf, 0
  8. Wend
  9.  
  10. Close #1
  11. End Sub
  12.  

saludos Flamer y dime si te funciono


Título: Re: Ayuda con saltos de línea
Publicado por: TheH4ck en 28 Febrero 2015, 05:02 am
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:

Código:
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

Código:
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


Título: Re: Ayuda con saltos de línea
Publicado por: Brian1511 en 28 Febrero 2015, 19:17 pm
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"....

Código
  1. Sub AbrirLista(List As ListBox, FileName As String)
  2. Dim LineaTexto As String
  3. Dim I as Integer
  4. Dim Separador() as String
  5. Open FileName For Input As #1
  6.  
  7. While Not EOF(1)
  8. Line Input #1, LineaTexto
  9. Separador = Split(LineaTexto,"-")
  10. For I = 0 to UBound(Separador())
  11. List.AddItem Separador(I), 0
  12. Next I
  13. Wend
  14.  
  15. Improvise un poco con el codigo de  Flamer espero que si funcione y que te sirva ;)
  16.  
  17. Close #1
  18. End Sub
  19.  


Título: Re: Ayuda con saltos de línea
Publicado por: HdM en 28 Febrero 2015, 21:52 pm
Hola.

Aprovechando un poco lo indicado por Flamer y Brian, esto debería funcionarte:

Código
  1. Sub AbrirLista(FileName As String)
  2. Dim LineaTexto As String
  3. Dim I As Integer
  4. Dim Separador() As String
  5.  
  6. Open FileName For Input As #1
  7. Line Input #1, LineaTexto
  8. Separador = Split(LineaTexto, vbLf)
  9. For I = 0 To UBound(Separador)
  10.      List.AddItem Separador(I)
  11. Next I
  12. Close #1
  13.  
  14. End Sub

Saludos.


Título: Re: Ayuda con saltos de línea
Publicado por: Brian1511 en 1 Marzo 2015, 07:00 am
Hola HdM mira creo que te confundiste aqui en la linea 8


Citar
Separador = Split(LineaTexto, vbLf)

No seria de esta forma?:

Citar
Separador = Split(LineaTexto, vbcrlf)



Título: Re: Ayuda con saltos de línea
Publicado por: HdM en 2 Marzo 2015, 12:23 pm
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.


Título: Re: Ayuda con saltos de línea
Publicado por: okik en 13 Marzo 2015, 18:58 pm
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.


Código
  1. Sub AbrirLista(List As ListBox, FileName As String)
  2. Dim LineaTexto As String
  3. Dim File As Integer
  4. Dim Cont As Integer
  5. Dim cDato As String
  6. File = FreeFile
  7.  
  8.  'Abre el archivo
  9.    Open FileName For Binary Access Read Write Lock Write As #File
  10.    cDato = String(1, " ")
  11.        While Not EOF(File)
  12.            Get #File, , cDato
  13.           LineaTexto = LineaTexto & cDato 'Carga el texto en una variable
  14.        Wend
  15.        Close #1
  16.  'Lee linea por linea y las mete en el ListBox
  17. Dim Lineas() As String
  18. Dim i As Integer
  19. Lineas = Split(LineaTexto, vbNewLine)
  20. For i = LBound(Lineas) To UBound(Lineas)
  21. If Lineas(i) > "" Then
  22.    List1.AddItem Lineas(i)
  23. End If
  24. Next
  25. End Sub