Datensätze : der Typ RECORD 

Problemstellung

Mit dem Typ Array hat man nur die Möglichkeit, gleichartige Daten zu verarbeiten. In der Verwaltung, im Geschäftsbereich müssen Sätze ungleichartiger Daten zu Datensätzen zusammengefasst werden. Aus der Schule und durch den Besuch von Arztpraxen kennt man noch die Karteikarten, wo der Name, Vorname, Adresse, Telefonnummer usw. der Personen registriert sind.

Eine ähnliche Struktur, wie auf den Karteikarten, kann man unter Pascal mit dem Datentyp RECORD erzeugen.

var person  :  RECORD
                 name       :  string[20];
                 vorname    :  string[20];
                 telefon_nr :  string[20];
                 geb_datum  :  longinteger;
               END;

Merke: END; an den Abschluss der Definition des RECORDs

Der Datensatz kann allerdings nicht als Ganzer aufgerufen bzw. angezeigt werden.

Aufruf einer Einzeleintragung:

person.name;
person.vorname;
person.telefon_nr;
person.geb_datum;

Die WITH-Anweisung Um nicht jedes Mal den Bezeichner person des Datensatzes neu in das Programm zu schreiben, gibt es den Syntax WITH:

program Karteikarte;
uses crt;
type person_daten  =  RECORD
                      name        :  string[20];
                      vorname     :  string[20];
                      telefon_nr  :  string[20];
                      END;
var person : person_daten;
begin
     clrscr;
     window(2,2,78,23);
     textbackground(white);
     textcolor(red);
     gotoxy(13,3);write('KARTEIKARTE ');
     textcolor(black);
     WITH person do
          begin
          gotoxy(5,5); write('Name     :  ');readln(name);
          gotoxy(5,7); write('Vorname  :  ');readln(vorname);
          gotoxy(5,9); write('Telefon  :  ');readln(telefon_nr);
          textcolor(green);
          gotoxy(5,11);write('Folgende Eingaben wurden gemacht:  ');
          gotoxy(5,13);write('Name     :  ',name);
          gotoxy(5,15);write('Vorname  :  ',vorname);
          gotoxy(5,17);write('Telefon  :  ',telefon_nr);
     END;
     readln;
end.
    
   

Geschachtelte RECORDs                                                    RECORDs in Listen