Frage zu Pascal

Hallo Leute,

Ich versuche gerade mich gerade etwas an Pascal.
Ich habe jetzt folgendes Problem:
Ich möchte in der ReadLn (siehe unten) Anweisung bei Variablea, das a auch variabel haben. Kriege das aber irgendwie nicht hin. Es gäbe dann also die Datensätze:
Variablea
.
.
.
Variablez
ReadLn (Variablea[i].Adresse);

Danke und Gruß

Mathias

Hallo Mathias,

Ich möchte in der ReadLn (siehe unten) Anweisung bei
Variablea, das a auch variabel haben. Kriege das aber
irgendwie nicht hin. Es gäbe dann also die Datensätze:
Variablea
.
.
.
Variablez
ReadLn (Variablea[i].Adresse);

Zum ersten: was soll Variablea denn genau sein? Bitte gib mal die Deklaration an.
Zum zweiten: Einen variablen Teil in einem Variablennamen gibt es nicht.

Ich vermute mal (wegen Variablea[i].Adresse), dass es sich hierbei um einen Array of Record handelt. In diesem Fall könntest Du einen zweidimensionalen Array verwenden.

Beispiel:

Type
 tDeinRecord = Record
 Adresse : String;
 Nochwas : String;
 {...}
 End;

Var
 Variable : Array[1..10, 1..10] of tDeinRecord;

Var
 i, j : Integer;

Begin
 For i := 1 to 10 do Begin
 For j := 1 to 10 do Begin
 ReadLn( Variable[i][j].Adresse );
 End;
 End;
End;

hth
Christian

Hallo Christian,

leider bin ich momentan nicht Zuhause und habe das Zeug deshalb nicht
dabei. Komme wohl erst am Wochenende dazu an dem Programm weiter zu machen. Du hast recht damit, das es sich um einen Array of Record handelt. Ich wußte nicht das es keinen variablen Teil in einem Variabelenname geben kann. Das mit deinem zweidimensionalen Array klingt gut. Ich werde das am Wochenende ausprobieren.

Danke und Gruß
Mathias

Hallo Christian,

ich bin heute endlich mal dazu gekommen, an meinen Programm weiter zu machen. Das hat auch super gefunzt mit dem zweidimensionalen Array. Danke nochmal!

Das ganze soll ein kleines Adressverwaltungsprogramm werden. Zuerst kommt die Abfrage auf den Anfangsbuchstben des Nachnamens. Danach werden alle Namen die mit dem angegebenen Buchstaben beginnen aufgelistet. Jetzt kommt eine Abfrage welcher Eintrag ausgegeben werden soll bzw. (wenn noch nichts drin steht) geändert werden soll. An dieser Stelle hätte ich auch noch ein Problem. Wenn schon ein Eintrag vorhanden ist, so wird dieser nur ausgegeben. Hier würde ich gerne noch eine Bedingung einbauen. Ich denke da an so etwas wie: Ich drücke F1 und springe dann in den Teil, wo ich diesen Eintrag ändern kann. Ich möchte aber nicht jedesmal gefragt werden ob ich den Eintrag ändern möchte um dann mit ReadLn mit ja oder nein zu bestätigen. So mache ich das Momentan. Giebt es da so etwas wie: Wenn F1 gedrückt, dann x=1 (Eintrag wird geändert), else x=uninitialisiert (fahre fort).

Danke und Gruß
Mathias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]