Introducció
En aquest projecte final, aplicaràs tots els coneixements adquirits al llarg del curs per desenvolupar una aplicació completa en REXX. Aquest projecte està dissenyat per consolidar els conceptes apresos i proporcionar-te una experiència pràctica en la creació d'una aplicació funcional. L'objectiu és desenvolupar una utilitat que automatitzi una tasca específica, com ara la gestió de fitxers, l'anàlisi de dades o la interacció amb una base de dades.
Objectius del Projecte
- Aplicar els conceptes bàsics i avançats de REXX: Utilitzar variables, estructures de control, funcions, manipulació de cadenes, etc.
- Desenvolupar una aplicació funcional: Crear una utilitat que resolgui un problema real o automatitzi una tasca.
- Integrar diferents components: Utilitzar fitxers, bases de dades, interfícies amb altres programes, etc.
- Optimitzar el rendiment: Aplicar tècniques d'optimització per assegurar que l'aplicació sigui eficient.
Descripció del Projecte
Tema del Projecte: Gestor de Fitxers
Desenvoluparàs un gestor de fitxers que permeti realitzar les següents operacions:
- Llistar fitxers: Mostrar una llista de fitxers en un directori especificat.
- Copiar fitxers: Copiar fitxers d'un directori a un altre.
- Eliminar fitxers: Eliminar fitxers seleccionats.
- Buscar fitxers: Buscar fitxers per nom o extensió.
- Registrar operacions: Mantenir un registre de totes les operacions realitzades en un fitxer de registre.
Requisits
- Interfície d'usuari: L'aplicació ha de tenir una interfície d'usuari basada en text que permeti als usuaris seleccionar les operacions a realitzar.
- Gestió d'errors: L'aplicació ha de gestionar errors de manera adequada, mostrant missatges d'error clars i registrant-los en un fitxer de registre.
- Documentació: Proporcionar documentació clara sobre com utilitzar l'aplicació i el codi font.
Estructura del Projecte
- Configuració Inicial
1.1. Crear l'Entorn de Treball
/* Configuració inicial */ say "Benvingut al Gestor de Fitxers REXX" call SetupEnvironment SetupEnvironment: /* Configura l'entorn de treball */ say "Configurant l'entorn de treball..." /* Aquí pots afegir codi per configurar l'entorn, si cal */ return
- Funcionalitats Principals
2.1. Llistar Fitxers
ListFiles: parse arg directory if directory = "" then directory = "." say "Llistant fitxers en el directori:" directory 'ls' directory return
2.2. Copiar Fitxers
CopyFiles:
parse arg source target
if source = "" | target = "" then do
say "Error: Especifica el fitxer d'origen i el directori de destinació."
return
end
say "Copiant fitxer" source "a" target
'cp' source target
return2.3. Eliminar Fitxers
DeleteFiles:
parse arg file
if file = "" then do
say "Error: Especifica el fitxer a eliminar."
return
end
say "Eliminant fitxer" file
'rm' file
return2.4. Buscar Fitxers
SearchFiles:
parse arg pattern
if pattern = "" then do
say "Error: Especifica el patró de cerca."
return
end
say "Cercant fitxers amb el patró:" pattern
'find . -name' pattern
return
- Registre d'Operacions
LogOperation:
parse arg operation details
logFile = "operations.log"
call time 'R'
timestamp = time('L')
line = timestamp " - " operation " - " details
call lineout logFile, line
return
- Interfície d'Usuari
MainMenu:
do forever
say "Selecciona una opció:"
say "1. Llistar fitxers"
say "2. Copiar fitxers"
say "3. Eliminar fitxers"
say "4. Buscar fitxers"
say "5. Sortir"
parse pull option
select
when option = "1" then do
say "Introdueix el directori:"
parse pull directory
call ListFiles directory
call LogOperation "Llistar fitxers" directory
end
when option = "2" then do
say "Introdueix el fitxer d'origen i el directori de destinació:"
parse pull source target
call CopyFiles source target
call LogOperation "Copiar fitxers" source "a" target
end
when option = "3" then do
say "Introdueix el fitxer a eliminar:"
parse pull file
call DeleteFiles file
call LogOperation "Eliminar fitxers" file
end
when option = "4" then do
say "Introdueix el patró de cerca:"
parse pull pattern
call SearchFiles pattern
call LogOperation "Buscar fitxers" pattern
end
when option = "5" then leave
otherwise say "Opció no vàlida. Torna-ho a intentar."
end
end
say "Sortint del Gestor de Fitxers REXX. Adéu!"
return
call MainMenuConclusió
Aquest projecte final t'ha permès aplicar tots els conceptes apresos al llarg del curs per desenvolupar una aplicació completa en REXX. Has treballat amb variables, estructures de control, funcions, manipulació de cadenes, gestió d'errors, operacions d'entrada/sortida de fitxers i molt més. A més, has après a integrar diferents components i a optimitzar el rendiment de l'aplicació.
Felicitats per completar el curs de programació REXX! Ara tens les habilitats necessàries per desenvolupar aplicacions complexes i eficients en aquest llenguatge. Continua practicant i explorant noves possibilitats amb REXX.
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
