Thema: Delphi was bedeutet ' nil ' ?

Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8

Re: was bedeutet ' nil ' ?

  Alt 2. Nov 2003, 02:22
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.
Gruß
Hansa
  Mit Zitat antworten Zitat