En aquest tema, construirem una aplicació simple utilitzant RPG. Aquesta aplicació serà un programa de gestió de contactes bàsic que permetrà afegir, visualitzar i eliminar contactes. Aquest exercici ens ajudarà a consolidar els conceptes apresos fins ara i a veure com es poden aplicar en un projecte real.
Objectius
- Crear una aplicació de gestió de contactes.
- Utilitzar arxius per emmagatzemar dades.
- Implementar funcions per afegir, visualitzar i eliminar contactes.
- Practicar la gestió d'errors i l'optimització del codi.
Estructura de l'Aplicació
L'aplicació tindrà les següents funcionalitats:
- Afegir un contacte.
- Visualitzar tots els contactes.
- Eliminar un contacte.
- Sortir de l'aplicació.
Pas 1: Definició de l'Estructura de Dades
Primer, definirem l'estructura de dades per emmagatzemar els contactes. Utilitzarem un arxiu per emmagatzemar els contactes de manera persistent.
Estructura de Dades
Creació de l'Arxiu de Contactes
Pas 2: Funció per Afegir un Contacte
Aquesta funció permetrà a l'usuari afegir un nou contacte a l'arxiu.
Codi per Afegir un Contacte
P AfegirContacte B D AfegirContacte PI D Nom S 50A D Telefon S 15A D Email S 50A /Free // Sol·licitar dades del contacte dsply 'Introdueix el nom: ' '' Nom; dsply 'Introdueix el telèfon: ' '' Telefon; dsply 'Introdueix l'email: ' '' Email; // Escriure les dades a l'arxiu Ct_Nom = Nom; Ct_Telefon = Telefon; Ct_Email = Email; Write ContactesR; Return; /End-Free P AfegirContacte E
Pas 3: Funció per Visualitzar Contactes
Aquesta funció mostrarà tots els contactes emmagatzemats a l'arxiu.
Codi per Visualitzar Contactes
P VisualitzarContactes B D VisualitzarContactes PI /Free // Llegir i mostrar tots els contactes Setll *Start Contactes; Reade ContactesR; Dow Not %Eof(Contactes); dsply 'Nom: ' Ct_Nom; dsply 'Telèfon: ' Ct_Telefon; dsply 'Email: ' Ct_Email; Reade ContactesR; EndDo; Return; /End-Free P VisualitzarContactes E
Pas 4: Funció per Eliminar un Contacte
Aquesta funció permetrà a l'usuari eliminar un contacte especificant el seu nom.
Codi per Eliminar un Contacte
P EliminarContacte B D EliminarContacte PI D Nom S 50A /Free // Sol·licitar el nom del contacte a eliminar dsply 'Introdueix el nom del contacte a eliminar: ' '' Nom; // Buscar i eliminar el contacte Setll Nom Contactes; Reade ContactesR; If %Found(Contactes); Delete ContactesR; dsply 'Contacte eliminat.'; Else; dsply 'Contacte no trobat.'; EndIf; Return; /End-Free P EliminarContacte E
Pas 5: Programa Principal
El programa principal gestionarà el menú i cridarà les funcions corresponents segons l'elecció de l'usuari.
Codi del Programa Principal
H DftActGrp(*No) ActGrp('QILE') FContactes UF E K DISK Prefix(Ct_) D Main PR D AfegirContacte PR D VisualitzarContactes PR D EliminarContacte PR D Opcio S 1A /Free Dou Opcio = '4'; dsply '1. Afegir Contacte'; dsply '2. Visualitzar Contactes'; dsply '3. Eliminar Contacte'; dsply '4. Sortir'; dsply 'Selecciona una opció: ' '' Opcio; Select; When Opcio = '1'; AfegirContacte(); When Opcio = '2'; VisualitzarContactes(); When Opcio = '3'; EliminarContacte(); When Opcio = '4'; dsply 'Sortint de l'aplicació...'; Other; dsply 'Opció no vàlida.'; EndSl; EndDo; *Inlr = *On; /End-Free
Exercicis Pràctics
- Afegir Validacions: Modifica la funció
AfegirContacte
per validar que el nom, el telèfon i l'email no estiguin buits abans d'afegir el contacte. - Millorar la Visualització: Modifica la funció
VisualitzarContactes
per mostrar els contactes en un format més llegible, per exemple, utilitzant una taula. - Buscar Contactes: Afegeix una nova funcionalitat per buscar contactes per nom.
Resum
En aquest tema, hem construït una aplicació simple de gestió de contactes utilitzant RPG. Hem après a crear i gestionar arxius, a implementar funcions per afegir, visualitzar i eliminar contactes, i a gestionar errors bàsics. Aquest exercici ens ha permès aplicar els conceptes apresos en un projecte pràctic, preparant-nos per a projectes més complexos en el futur.
Curs de Programació RPG
Mòdul 1: Introducció a la Programació RPG
- Què és RPG?
- Configuració del Teu Entorn de Desenvolupament
- Sintaxi i Estructura Bàsiques
- Programa Hello World
Mòdul 2: Conceptes Bàsics
Mòdul 3: Treballant amb Dades
Mòdul 4: Tècniques Avançades de Programació
Mòdul 5: RPG IV i Més Enllà
Mòdul 6: Integrant RPG amb Tecnologies Modernes
Mòdul 7: Aplicacions del Món Real
- Construint una Aplicació Simple
- Estudi de Cas: Sistema de Gestió d'Inventari
- Estudi de Cas: Sistema de Nòmines
- Millors Pràctiques i Revisió de Codi