Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Array definition (https://www.delphipraxis.net/81271-array-definition.html)

bundy 23. Nov 2006 19:10


Array definition
 
hi @ all DP´ler

Wie kann ich einen array vordefinieren ?

Ich hab mal folgendes erstellt.
Delphi-Quellcode:
  type
  Workingtable = class(Tobject)
    TechnikerAnz : integer;
    MaxMorning  : integer;
    MaxAfternoon : integer;
    MaxNight    : integer;
    EventStore : array of array of string;

   private



  end;
Wie kann ich jetzt den Array EventStore so definieren, das er die Länge von der TechnikerAnz hat.
Weiters möchte ich das die Integerfelder einen Startwert haben ca so.
Delphi-Quellcode:
 TechnikerAnz : integer = 4;


lg
Bundy

Cöster 23. Nov 2006 19:28

Re: Array definition
 
Startwerte können im Konstruktor zugewiesen werden.

Ich würde die Eigenschaften als private-Attribute anlegen und über properties darauf zugreifen lassen. Der Schreib-Zugriff sollte dann bei TechnikerAnz nicht direkt erfolgen, sondern durch eine Set-Prozedur. In der kannst du dann nämlich gleichzeitig die Länge des Arrays ändern.

Corpsman 23. Nov 2006 20:42

Re: Array definition
 
dir ist Klar das du ein 2 Dim Array definiert hast ?
Delphi-Quellcode:
Constructor Workingtable.create;
begin
TechnikerAnz := 4;
//setlength(EventStore ,TechnikerAnz ); // Für ein 1 dim array
setlength(EventStore ,TechnikerAnz,TechnikerAnz ); // Für ein 2 dim array
end;

bundy 23. Nov 2006 21:01

Re: Array definition
 
danke für eure Tips !

Soll auch ein 2Dim Array werden

Delphi-Quellcode:
constructor TWorkingtable.Create;
begin
    TechnikerAnz := 4;
    MaxMorning := 4;
    MaxAfternoon := 4;
    MaxNight := 4;
    SetLength(MorningStore,TechnikerAnz,MaxMorning+MaxAfternoon+MaxNight);

end;
aber jetzt hab ich noch ne frage, der Wert TechnikerAnz, wird zur laufzeit geändert, sowie die andern Integer Werte, wo kann ich dann die neue Array definition zuweisen.

lg
Bundy

mkinzler 23. Nov 2006 21:04

Re: Array definition
 
Man kann die Größe eines dyn. Arrays jederzeit mit setLength verändern (sowohl vergrößern wie auch verkleinern.)

bundy 23. Nov 2006 21:20

Re: Array definition
 
ah danke :thumb:

bundy 24. Nov 2006 10:49

Re: Array definition
 
HI back again.


ich hab nun folgendens

Delphi-Quellcode:

  type
  TWorkingtable = class(Tobject)
    TechnikerAnz : integer;
    MaxMorning  : integer;
    MaxAfternoon : integer;
    MaxNight    : integer;

    TechnikerStore: array of DayStore; //<<<------------ 

    public
     constructor Create;
   private



  end;
wo muss ich nun den Array DayStore definieren der solle ein DayStore: Array of String sein.

lg
Bundy

mkinzler 24. Nov 2006 11:08

Re: Array definition
 
Bevor du ihn verwendest.

bundy 24. Nov 2006 11:11

Re: Array definition
 
Delphi-Quellcode:
 type
  TWorkingtable = class(Tobject)
    TechnikerAnz : integer;
    MaxMorning  : integer;
    MaxAfternoon : integer;
    MaxNight    : integer;
    DayStore    : Array of String  //<<--------------- Wenn ich ihn hier def. kann ich eine Zeile darunter nicht darauf zugreifen
    TechnikerStore: array of DayStore; //<<<------------ 

    public
     constructor Create;
   private



  end;

SirThornberry 24. Nov 2006 11:15

Re: Array definition
 
ein Array of kann auch nur von einem Typ sein. Du versuchst ein Array von einem Variablennamen zu bauen.
Es gibt also:
Delphi-Quellcode:
Array of String;
Array of Integer;
Array of Byte;
Array of BeliebigerTyp;
aber es gibt nicht:
Delphi-Quellcode:
meineVariable: Integer;
Array of meineVariable;


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz