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'
returnExplicació del Codi
- Obrir el Fitxer: La funció
openFileobre el fitxer en mode de lectura (r). - Llegir Dades: Utilitzem un bucle
do whileper llegir cada línia del fitxer fins que no hi hagi més línies (lines(filename) > 0). - Tancar el Fitxer: La funció
closeFiletanca 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'
returnExplicació del Codi
- Obrir el Fitxer: La funció
openFileobre el fitxer en mode d'escriptura (w). - Escriure Dades: La funció
writeFileescriu cada línia de text en el fitxer. - Tancar el Fitxer: La funció
closeFiletanca 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
exitExemple 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)
exitExercicis 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)
exitSolució Exercici 2
filename = 'numeros.txt'
call openFile(filename, 'w')
do i = 1 to 10
call writeFile(filename, i)
end
call closeFile(filename)
exitConclusió
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
