Zitat von
shareholder:
Arbeite erst seit vorgestern mit Delphi...
Ihr könnt doch den armen Kerl nicht direkt so erschrecken.
Mit dem Kram anzufangen, davon ist allerdings auch dringend abzuraten. Soviel im Voraus.
Es geht im Prinzip um Variablen, die halt im Speicher liegen. Nun gibt es Arrays, z.B.
var Jahr : array [1..12] of string;
Wunderbar geeignet, um die Namen der 12 Monate zu speichern. Es werden nicht weniger und nicht mehr.
Sollte trotzdem mal ein 13. Monat, so wie in Bayern die 5. Jahreszeit
dazukommen, so wäre man schon dumm dran. Dies ließe sich wiederum durch ein dynamisches Array realisieren. Das kann man in gewisser Weise anpassen. Glaube bei Stringlisten wird so was verwendet. Das ist aber auch nur so eine halbe Sache. Direkt verwende ich das jedenfalls so nicht.
Intern wird das nämlich durch verkettete Listen/Bäume usw. realisiert. Na gut, kurzes Beispiel :
Delphi-Quellcode:
PROCEDURE l_loeschen;
BEGIN
liste := ende;
WHILE liste <> NIL DO BEGIN
dispose (liste);
liste := liste^.naechst;
END;
END;
So kann man eine Liste wieder löschen. Ich gehe da ans ende und lösche die Elemente so lange bis ich auf nil treffe. Stelle dir vor, du hast einen Stapel mit Desserttellern und mußt die einen nach dem anderen wegräumen. Du fängst also oben an und stellst sie nacheinander in einen Schrank. Solange bis nur noch der Tisch da ist und kein Teller mehr, das wäre dann nil. Mit new müßtest du die Teller vorher irgendwann aber aus dem Schrank geholt haben. Ähhm, ja so ungefähr läuft das. 8)
Und mit dem Speicherbereich, das sollte vorerst egal sein. Wobei mich allerdings wundert, daß hierzu keine vordefiniert Konstante verwendet wird, die beim Start von Delphi gesetzt wird, so daß man sie nicht einfach so überscheiben kann.