En aquest tema, aprendrem com gestionar fitxers en REXX. Les operacions d'entrada/sortida de fitxers són essencials per a qualsevol llenguatge de programació, ja que permeten llegir dades d'un fitxer i escriure dades en un fitxer. A REXX, aquestes operacions es poden realitzar de manera senzilla i eficient.

Continguts

Introducció a les Operacions de Fitxers

Les operacions de fitxers en REXX es poden dividir en dues categories principals:

  • Lectura de fitxers: Obtenir dades d'un fitxer existent.
  • Escriptura de fitxers: Escriure dades en un fitxer nou o existent.

Funcions Clau

  • OPEN: Obre un fitxer per a lectura o escriptura.
  • READ: Llegeix dades d'un fitxer obert.
  • WRITE: Escriu dades en un fitxer obert.
  • CLOSE: Tanca un fitxer obert.

Llegir Fitxers

Per llegir un fitxer en REXX, primer hem d'obrir el fitxer en mode de lectura, després llegir les dades i finalment tancar el fitxer.

Exemple de Lectura de Fitxer

/* Exemple de lectura de fitxer en REXX */
filename = 'exemple.txt'
call openFile(filename, 'r')
do while lines(filename) > 0
    line = linein(filename)
    say line
end
call closeFile(filename)

exit

openFile: procedure
    parse arg filename, mode
    if mode = 'r' then
        'EXECIO * DISKR' filename '(STEM filein.'
    else
        say 'Mode no suportat'
    return

closeFile: procedure
    parse arg filename
    'EXECIO 0 DISKR' filename 'FINIS'
    return

Explicació del Codi

  1. Obrir el Fitxer: La funció openFile obre el fitxer en mode de lectura (r).
  2. Llegir Dades: Utilitzem un bucle do while per llegir cada línia del fitxer fins que no hi hagi més línies (lines(filename) > 0).
  3. Tancar el Fitxer: La funció closeFile tanca el fitxer després de llegir-lo.

Escriure Fitxers

Per escriure en un fitxer en REXX, primer hem d'obrir el fitxer en mode d'escriptura, escriure les dades i finalment tancar el fitxer.

Exemple d'Escriptura de Fitxer

/* Exemple d'escriptura de fitxer en REXX */
filename = 'sortida.txt'
call openFile(filename, 'w')
call writeFile(filename, 'Aquesta és la primera línia.')
call writeFile(filename, 'Aquesta és la segona línia.')
call closeFile(filename)

exit

openFile: procedure
    parse arg filename, mode
    if mode = 'w' then
        'EXECIO * DISKW' filename '(STEM fileout.'
    else
        say 'Mode no suportat'
    return

writeFile: procedure
    parse arg filename, text
    'EXECIO * DISKW' filename '(STEM fileout. OPEN'
    fileout.1 = text
    'EXECIO 1 DISKW' filename '(STEM fileout.'
    return

closeFile: procedure
    parse arg filename
    'EXECIO 0 DISKW' filename 'FINIS'
    return

Explicació del Codi

  1. Obrir el Fitxer: La funció openFile obre el fitxer en mode d'escriptura (w).
  2. Escriure Dades: La funció writeFile escriu cada línia de text en el fitxer.
  3. Tancar el Fitxer: La funció closeFile tanca el fitxer després d'escriure-hi.

Exemples Pràctics

Exemple 1: Llegir un Fitxer i Comptar les Línies

filename = 'exemple.txt'
call openFile(filename, 'r')
lineCount = 0
do while lines(filename) > 0
    line = linein(filename)
    lineCount = lineCount + 1
end
call closeFile(filename)
say 'Nombre de línies en el fitxer:' lineCount

exit

Exemple 2: Escriure un Fitxer amb Dades de l'Usuari

filename = 'sortida.txt'
call openFile(filename, 'w')
do i = 1 to 3
    say 'Introdueix el text per a la línia' i ':'
    pull text
    call writeFile(filename, text)
end
call closeFile(filename)

exit

Exercicis Pràctics

Exercici 1: Llegir i Mostrar el Contingut d'un Fitxer

Escriu un programa en REXX que llegeixi un fitxer anomenat dades.txt i mostri el seu contingut línia per línia.

Exercici 2: Escriure un Fitxer amb Nombres

Escriu un programa en REXX que escrigui els nombres de l'1 al 10 en un fitxer anomenat numeros.txt.

Solucions

Solució Exercici 1

filename = 'dades.txt'
call openFile(filename, 'r')
do while lines(filename) > 0
    line = linein(filename)
    say line
end
call closeFile(filename)

exit

Solució Exercici 2

filename = 'numeros.txt'
call openFile(filename, 'w')
do i = 1 to 10
    call writeFile(filename, i)
end
call closeFile(filename)

exit

Conclusió

En aquesta secció, hem après com realitzar operacions d'entrada/sortida de fitxers en REXX. Hem vist com obrir, llegir, escriure i tancar fitxers, així com alguns exemples pràctics i exercicis per reforçar els conceptes apresos. Aquestes habilitats són fonamentals per a la manipulació de dades en qualsevol aplicació de programació.

© Copyright 2024. Tots els drets reservats