arrays in turbopascal
arrays in turbopascal
in turbopascal werden arrays ja in dem Teil, wo man Variablen deklariert, wie folgt definiert:
VAR Zeichenkette: ARRAY [1..5] OF REAL;
oder
VAR Namensliste: ARRAY [1..5] OF STRING [25];
wobei letzteres auch einen eindimensionalen array erzeugt, dessen einzelne elemente strings mit einer maximalen länge von 25 zeichen sind.
so weit so gut. jetzt frage ich mich: kann ich die bezeichnung der einzelnen elemente (sprich der ausdruck "[1..5]") auch mit variablen machen, die im programm später definiert werden (also à la "[unten..oben]" wobei unten und oben später die werte z.b. 1 und 30 erhalten)?
grüße
armin
VAR Zeichenkette: ARRAY [1..5] OF REAL;
oder
VAR Namensliste: ARRAY [1..5] OF STRING [25];
wobei letzteres auch einen eindimensionalen array erzeugt, dessen einzelne elemente strings mit einer maximalen länge von 25 zeichen sind.
so weit so gut. jetzt frage ich mich: kann ich die bezeichnung der einzelnen elemente (sprich der ausdruck "[1..5]") auch mit variablen machen, die im programm später definiert werden (also à la "[unten..oben]" wobei unten und oben später die werte z.b. 1 und 30 erhalten)?
grüße
armin
-
- Beiträge: 338
- Registriert: 05.09.2004 18:47
Dynamische Arrays kannst du in Pascal wie folgt nutzen:
Habe es aber mangels Compiler nicht ausprobiert 
Code: Alles auswählen
var
Namensliste: array of String[25]; // dynamisches array deklarieren
AnzahlNamen: integer; // variable für die länge des arrays
begin
AnzahlNamen := 2; // länge festlegen
SetLength(Namensliste, AnzahlNamen); // dem array speicher zuweisen
Namensliste[0] := 'Peter'; // ersten array element einen string zuweisen
Namensliste[1] := 'Klaus'; // und dem zweiten auch
end.

Dynamische Liste statt dynamisches Array
In Standard-Pascal ist das glaube ich nicht möglich. Du kannst statt dessen eine dynamische Liste auf Basis eines Verbundtyps verwenden:
Dann brauchst du noch eine Einfügeprozedur, eine Suchprozedur und eine Ausgabeprozedur.
Gruß Karl
Code: Alles auswählen
type
tRefListe = ^tList;
tList = record
bezeichnung: string[25];
next: tRefListe
end;
var
Anfang: tRefListe;
Gruß Karl
The Kopyright Liberation Front also known as the justified ancients of Mumu!
PB 5.X
PB 5.X
hähä... das ist halt der kleine aber feine unterschied... ich hab ca. 91 / 92 in der 11. turbo pascal in der schule gehabt und seitdem nix mehr programmiert. bin jetzt gerade wieder auf rein freiwilliger basis auf turbo pascal und blubber halb privat, halb für meine Arbeit (biolog. Dr.arbeit) ein wenig damit rum...KeyKon hat geschrieben:Ich, weis, ich weis, das hilft nicht.
Aber ich hasse TurboPascal![]()
Weil ich gezwungen war es in der Schule unter DOS zu benutzen![]()
Das ist meine Meinung![]()
KeyKon
danke schon mal für eure tips. ich hoffe das gerade eben für 1 € bei ebay ersteigerte Buch (Rosenbaum/Schölles: "Turbo Pascal 6.0" [von DataBecker]) bietet mir auf seinen 1067 Seiten ein paar mehr Antworten als das mit Turbo Pascal 6.0 mitersteigerte Buch ("Rütten/Granken: "Turbo Pascal 6.0 Grundlagen der Programmiersprache - Das Einsteigerseminar" mit 189 Seiten). Immer wieder geil wie man bei ebay Geld sparen kann

Weihnachtliche Grüße
armin f.
KeyKon hat geschrieben:naja, damals waren dir PC doch noch nich sooo weit...
wenn du ein buch brauchst kann ich dir ja mein schulbuch schicken![]()
KeyKon
nönö laß man gut sein mit dem buch... 1067 S. reichen mir
PS. irgendwie kann man sich's gar nimmer vorstellen, die Zeit vor win95... lang lang isses her...
ja, aber wenn Du Deinen Dr in der Gegenwart machst, warum programmierst Du dann mit Software aus der Steinzeit?ArminF hat geschrieben:PS. irgendwie kann man sich's gar nimmer vorstellen, die Zeit vor win95... lang lang isses her...
PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."
Es gibt keine Vista-Witze. Es ist alles wahr!
Es gibt keine Vista-Witze. Es ist alles wahr!
ich brauch das programmieren nicht zwingend für die biologische (!) Dr.Arbeit. Ist einfach ne Spielerei von mir. Klar, wenn ich das jetzt zwingend bräuchte, dann würde man das mit ner neueren Programmiersprache machen. Andererseits ist es so daß ich dann nicht das Zeug selbst organisieren/bezahlen würde, sondern meine Chefin das für die Arbeit bezahlen würde.stbi hat geschrieben:ja, aber wenn Du Deinen Dr in der Gegenwart machst, warum programmierst Du dann mit Software aus der Steinzeit?ArminF hat geschrieben:PS. irgendwie kann man sich's gar nimmer vorstellen, die Zeit vor win95... lang lang isses her...
...also laßt mir doch meinen Spaß am Spielen *verzweifel*
