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:

  1. Afegir un contacte.
  2. Visualitzar tots els contactes.
  3. Eliminar un contacte.
  4. 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

D Contacte       DS                  Qualified
D   Nom                        50A
D   Telefon                    15A
D   Email                      50A

Creació de l'Arxiu de Contactes

FContactes  UF   E           K DISK    Prefix(Ct_)

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

  1. 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.
  2. Millorar la Visualització: Modifica la funció VisualitzarContactes per mostrar els contactes en un format més llegible, per exemple, utilitzant una taula.
  3. 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.

© Copyright 2024. Tots els drets reservats