Zitat von
guidok:
Zitat von
taaktaak:
Moin, Moin.
Zitat:
Aber ich würde für solche Daten Records, bzw. TLists verwenden, dann hat mein keine Probleme mit Begrenzern und dem Umkopieren.
Das kann ich nur bekräftigen! TList ist 'ne viel bessere Möglichkeit mit solchen Daten umzugehen. Also möglichst rechtzeitig damit beschäftigen und gar nicht erst den "falschen" Weg gehen.
Zitat:
Dazu soll gesagt sein, dass ich noch nicht lange am Programmieren bin und mein Informathik-Lehrer ziemlich flott vorran geht ^^.
Es gibt mit Sicherheit geschicktere Wege, aber es handelt sich hier um den Informatikunterricht, da sollte man schon ungefähr den Weg gehen, den der Lehrer vorgibt (es sei denn es ist völliger Quark, was es ja auch geben soll).
Wir haben bis jetzt nur mit Arrays gearbeitet. Jetzt kamen noch die Records dazu, von denen unser Lehrer uns einen in ein vorgefertigtes Programm mit den Elementen vName,nName und telefon gesetzt hat und die Aufgabe ist es jetzt, den Array nach Nachnamen und untereinander nach Vornamen zu sortieren. EIne kleine Überlegung haben wir schon angestellt, und zwar, dass man erst nach Vornamen sortieren muss und dann nach Nachnamen.
Der Array[1] sieht dann bsp so aus:
Müller, Lisa, 0123/456789
Es kam noch etwas ganz kurz zur Sprache am Ende der Stunde, was ich aber nicht genau mitbekommen habe. Das waar glaube ich so etwas wie : array[i].vName, um beim index i im Array nur auf den Vornamen zuzugreifen. Ich habe das dann in meinem Programm kurz ausprobiert, indem ich dem Quicksort nicht array sondern array.vName übergeben wollte. Das wurde mir allerdings rot unterstrichelt: "tArrEintrag enthält kein Element namen vName"
Delphi-Quellcode:
procedure TFormTelefon.Button2Click(Sender: TObject);
var i : word;
begin
sortiere(arrEintrag.vName, low(arrEintrag), high(arrEintrag)); //warum??
for i := 1 to high(arrEintrag) do
memArray.lines.add(arrEintrag[i]);
end;
In der Obenflächenunit:
Delphi-Quellcode:
implementation
{$R *.dfm}
uses uStore, uSort ;
var arrEintrag : tArrEintrag; // <---
in uSort:
type tArrEintrag = array[1..100] of tEintrag;
in uStore:
Delphi-Quellcode:
tEintrag = record
vName: tVName;
nName: tNName;
telefon: tTelefon;
end;
Ich verstehe das jetzt als eine funktionierende "Kette".
arrEintrag ist als tArrEintrag definiert, tArrEintrag mit tEintrag und in tEintrag steht vName?!