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
- Obrir el Fitxer: La funció
openFile
obre el fitxer en mode de lectura (r
). - 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
). - 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
- Obrir el Fitxer: La funció
openFile
obre el fitxer en mode d'escriptura (w
). - Escriure Dades: La funció
writeFile
escriu cada línia de text en el fitxer. - 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ó.
Curs de Programació REXX
Mòdul 1: Introducció a REXX
- Què és REXX?
- Configuració de l'Entorn REXX
- Hola Món en REXX
- Sintaxi i Estructura Bàsica
- Variables i Tipus de Dades
Mòdul 2: Conceptes Bàsics de Programació
- Operadors i Expressions
- Estructures de Control: IF/THEN/ELSE
- Bucles: DO i LEAVE
- Entrada i Sortida
- Manipulació Bàsica de Cadenes
Mòdul 3: Programació Intermèdia en REXX
- Funcions i Subrutines
- Funcions Incorporades
- Gestió d'Errors
- Operacions d'Entrada/Sortida de Fitxers
- Treballant amb Arrays
Mòdul 4: Programació Avançada en REXX
- Manipulació Avançada de Cadenes
- Tècniques de Parsing
- Interfície amb Programes Externs
- Macros REXX
- Optimització del Rendiment