Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Métodos Line Input Y Readline
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Métodos Line Input Y Readline 
 
Buenos días!.

Estaba viendo estos dos métodos:
Line Input y Readline. Y no logro ver del todo una diferencia.

Public Sub UsandoFile()
  
  Dim fichero As File
  Dim sline As String
  
  fichero = Open "file_example2.txt" For Input
  
  While Not Eof(fichero)
    Line Input #fichero, sline
    Print sline
  Wend
  
End
 


Public Sub UsandoFile()
  
  Dim fichero As File
  Dim sline As String
  
  fichero = Open "file_example2.txt" For Input
  
  While Not Eof(fichero)  
    sline = fichero.ReadLine()
    Print sline
  Wend
  
End
 


Según la ayuda dice que el método Readline es parecido a Line Input, solo que
si el carácter de escape es especificado, las nuevas lineas entre los dos caracteres de escape son ignoradas.
Es adecuado para archivos CSV.

http://gambaswiki.org/wiki/comp/gb/stream/readline?l=es

He probado un archivo de texto con este contenido:
Citar:

"Alberto","C/ Nicaragua","12"
"Julia","C/ Pelota","1"
"Manuel","Plza San Juan de Dios","5"


Pero no logro ver un efecto distinto a Line Input. Siempre se muestran las lineas, no se ignora ninguna.  
El archivo lo edité con el propio Gambas.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Métodos Line Input Y Readline 
 
Hola Shell,
siendo el metodo .Readline() parecido a Line Input, en genral él lee una raya hasta el carácter de fin raya (es decir: "\n", "\x0A", gb.NewLine).

Bueno, poniendo el parametro del carácter "escape" en el metodo .Readline(), este metodo leerá los datos hasta el carácter de fin raya de la segunda raya que tiene aquel carácter "escape" especificado.
Esto funciona bien si hay solamente dos carácter "escape y cada uno en una raya....

Por ejemplo tenemos este fichero de texto:

Sabes tu traducir esto? "quis talia fando
Myrmidonum Dolopumve aut duri miles Ulixi
temperet a lacrimis? et iam nox umida caelo
praecipitat suadentque cadentia sidera somnos."


El código gambas será:
Public Sub Main()

  Dim fl As File
  
    fl = Open "/ruta/del/fichero/de/texto"    ' En este caso no es necesario escribir: " For Read "

' Ponemos como carácter "escape" el carácter "?"
    Print fl.ReadLine("?")

  fl.Close

End

Bueno, el metodo .Readline() ignorará todos los caracteres de fin raya incluidos entre las dos rayas que tienen el carácter "?"

Por esto nosotros tendremos este resultado en consola:
Sabes tu traducir esto? "quis talia fando
Myrmidonum Dolopumve aut duri miles Ulixi
temperet a lacrimis? et iam nox umida caelo


En efecto, el metodo ignora el carácter de fin raya ("\n") que està después la palabra "fando" y despues la palabra "Ulixi".
Dado que el carácter Escape "?", que està después la palabra "lacrimis" es el segundo (...el primero està después la palabra "esto"), el método .Readline() volverá a normalmente comportarse, parándose al siguiente carácter de fin raya (que està después la palabra "caelo").

Así no obtendremos este:
Sabes tu traducir esto? "quis talia fando
como sería en general y normalmente.
 



 
última edición por vuott el Domingo, 26 Octobre 2014, 18:02; editado 8 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Métodos Line Input Y Readline 
 
Hola Vuott.

Casi es una especie de delimitador, para que solo lea entre el primer "?" y el segundo "?".
Solamente lee el texto contenido ente esos dos caracteres, por muy largo que sea ese texto.

En cuanto al texto pertenece a la Eneida.( Aeneis). Libro II

"¿Quién al narrar tales desastres; quién, ni aun cuando fuera uno de
los Mirmidones o de los Dólopes, o soldado del duro Ulises, podría refrenar
el llanto? Y ya la húmeda noche se precipita del cielo, y las
estrellas que van declinando convidan al sueño."
 
Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Domingo, 26 Octobre 2014, 21:36; editado 2 veces 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Métodos Line Input Y Readline 
 
Shell escribió: [Ver mensaje]
Solamente lee el texto contenido ente esos dos caracteres

Uhmmm.... se necesita precisar que las rayas, donde hay los dos caracteres escape son leidas completamente. En particular la segunda raya es leida hasta el su caracter escape (en hexadecimal: 0A) de fin raya.
(Es claro que son leidas tambien y completamente las rayas incluidas entre las dos rayas que tienen el caracter escape del parametro del metodo .Readline)


Shell escribió: [Ver mensaje]
En cuanto al texto pertenece a la Eneida.( Aeneis). Libro II
    


Sssssaludosssss
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Command Line FU jguardon Shell Scripting 0 Sabado, 09 Julio 2011, 17:56 Ver último mensaje
jguardon
No hay nuevos mensajes Input [SOLUCIONADO] Shell General 1 Miercoles, 16 Julio 2014, 20:23 Ver último mensaje
Shell
No hay nuevos mensajes On Line Otra Vez shordi General 7 Viernes, 27 Marzo 2015, 12:22 Ver último mensaje
vuott
No hay nuevos mensajes Input Tira Error Si No Se Ingresa Ningún ... v3ctor General 10 Jueves, 12 May 2016, 19:07 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron