Autor Beitrag
blacky35
Hält's aus hier
Beiträge: 1



BeitragVerfasst: So 16.01.05 09:53 
hallo und guten Morgen,

habe als Anfänger folgende Frage zu beigefügtem Code.

Sourcecode
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
 
 type  
    Tbaustelle = Record  
      burgid:string;  
      Name:string;  
      Vorrang:integer;  
      Stufe:integer;  
    end;  

....  

var  
baustellen: array[1..300] of Tbaustelle;


Wenn zu Beginn nicht bekannt ist, wie groß das Array sein wird, wie wird es um ein Element vergrößert bzw. verkleinert, wenn ein Element hinzugefügt / gelöscht werden soll.
Ich kenne aus VB6 *redim* und *redim preserve* um die vorhandenen Daten nicht verlieren. Wie verhält es sich hier
bei Delphi.

mfG blacky

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.
Moderiert von user profile iconTino: Topic aus Sonstiges verschoben am Mo 17.01.2005 um 09:07
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: So 16.01.05 09:57 
Hallo

so wie du es hast, ist es ein statisches array, das kannst du nicht zur Laufzeit ändern. such nach Suche in: Delphi-Forum, Delphi-Library DYNAMISCHES ARRAY oder schau dir das Tutorial an.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: So 16.01.05 10:01 
Erstmal :welcome:


Was du meinst sind dynamische Arrays. So, wie du die Variable baustelle definiert hast, benutzt du ein statisches Array. Dort ist die Größe des Arrays nicht veränderbar.
Die Deklaration deiner Variablen muss so geändert werden:
ausblenden Delphi-Quelltext
1:
baustelle : Array of tBaustelle;					


Die Länge des Arrays bestimmst du mit dem Befehl SetLength.

Noch ein Hinweis:
Die intensive Nutzung von SetLength zerstückelt den Haupt-Speicher.

Ich hoffe, dass hilft dir erstmal weiter.

EDIT: Keldorn war schneller.