#lang scheme

;;; Cada fichero está en algún sitio.
;;; Path = trayectoria que conduce al sitio
(define dir-path "/Volumes/abenitez/ZETA/")

;;; Cada fichero tiene un nombre y una extensión
;;; prueba1 = nombre; txt = extensión
(define nombre-fichero "prueba1.txt")

;;; la variable in-port-1 tiene como valor el puerto
;;; que devuelve open-input-file.
(define in-port-1 
  (open-input-file 
   (string-append dir-path nombre-fichero)))

;;; Primera prueba de lectura del contenido del fichero
(define read-mientras-no-eof
  (lambda (in-port)
    (let go ((item (read in-port)))
      (if (eof-object? item)
          "fichero leído hasta el final";(close-input-port ...
          (begin
            (display item)
            (go (read in-port))) ) ) ))

;;; Manejando la posición de lectura
(printf "Posición de lectura al abrir: ~a~n" (file-position in-port-1))

(read-mientras-no-eof in-port-1)

;;; Segunda prueba de lectura
;;; Manejando la posición de lectura
(printf "Posición de lectura al terminar de leer: ~a~n" (file-position in-port-1))

(file-position in-port-1 0)

(printf "(file-position in-port-1 0): ~a~n" (file-position in-port-1))

;;;;
(define read-char-mientras-no-eof
  (lambda (in-port)
    (let go ((item (read-char in-port)))
      (if (eof-object? item)
          "fichero leído hasta el final";(close-input-port ...
          (begin
            (display item)
            (go (read-char in-port))) ) ) ))

(read-char-mientras-no-eof in-port-1)

(printf "Posición de lectura al terminar de leer: ~a~n" (file-position in-port-1))
