Agenda Pascal (Uso Dei Record)
Ecco a voi un piccolo listato in pascal che permette di capire il funzionamento dei record.
Per capire meglio il funzionamento dei record in pascal ho scelto di scrivere una piccola agenda.
Da come potete leggere di seguito, capite che questo piccolo programmino vi permette di inserire e visualizzare delle informazioni all’interno di questa agenda.
Siamo coscenti che una soluzione del genere è obsoleta in quanto replicabile (in maniera più veloce leggera e ottimizzata) con un qualsiasi DBMS.
Questo listato è scritto per permettere a coloro che non conoscono queste vecchie tecnologie di capire bene come prima(prima dell’avvento dei database) si strutturavano i dati(Questo è uno dei tanti modi) in maniera semi inteligente.
(I Record che si usano in pascal a livello logico ricordano molto i record di una tabella di un database)
A questo listato mancano due comode procedure, prego a coloro che leggono questo articolo a scopo didattico, di provare a scriverle.
Le procedure in questione sono :
Elimina Record
e Salva su disco
Listato:
USES CRT; type persona = record nome : string[20]; telefono : string[10]; end; var a: array[1..100] of persona; lung_agenda: integer; Procedure aggiungi_ad_agenda; var i, n: integer; begin clrscr; repeat write('Quanti nominativi desideri aggiungere? : '); readln(n); until n>=1; for i:=lung_agenda+1 to lung_agenda+n do begin with a[i] do begin write(' nome: '); readln(nome); write(' telefono: '); readln(telefono); end; end; lung_agenda := lung_agenda+n; end; procedure leggi_agenda; var i: integer; begin clrscr; writeln; writeln('AGENDA'); for i:=1 to lung_agenda do write(a[i].nome,' ', a[i].telefono); writeln; write('Premi invio per continuare...'); readln; end; procedure menu; var scelta: integer; begin clrscr; lung_agenda := 0; scelta := -1; while scelta <> 0 do begin clrscr; gotoxy(25,8); write('GESTIONE AGENDA'); gotoxy(26,10); write('1. Aggiungi'); gotoxy(26,11); write('2. Visualizza'); gotoxy(26,12); write('0. Fine'); gotoxy(28,19); write('Scegliere una opzione'); readln(scelta); clrscr; case scelta of 1: aggiungi_ad_agenda; 2: leggi_agenda; end; end; end; begin menu; end.