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 Zugriff auf zweidimensionales Array (https://www.delphipraxis.net/54140-zugriff-auf-zweidimensionales-array.html)

Nikolas 28. Sep 2005 17:27


Zugriff auf zweidimensionales Array
 
Hi,

Ich hab ein kleines Array (Daten = array[0..2] of word), von dem ich mehrere in einem größeren Array verwalte (MessReihe = array of Daten).

Jetzt will ich zu Testzwecken ein Messreihen array füllen.
Das per
Delphi-Quellcode:
AReihe[0,0]:=12;
AReihe[0,1]:=89;
AReihe[0,2]:=4;

AReihe[1,0]:=63; //...
ist ja nicht gerade schön zu schreiben oder lesen.

Deswegen wollte ich fragen, ob es nicht eine Alternative Syntax gibt, also so was a la
Delphi-Quellcode:
AReihe[0]:= [12;89;4]
.

Ich hab so was zwar noch nie gesehen, aber vielleicht kann man sich dadurch etwas Arbeit sparen...

Danke schonmal

himitsu 28. Sep 2005 17:31

Re: Zugriff auf zweidimensionales Array
 
Sowas geht leider nicht ... ich wollte auch mal sowas ... und ich glaub Sakura hatte mir damals auch ein NEIN entgegengeschmettert (irgendwo hier im Forum).

Das kannst du nur für vordefinierte Variablen, oder Constanten verwenden.
Mitten in 'ner Prozedure wird's halt nicht -.-''


Aber es ist dennoch möglich auf diese Weise eine Konstante zu erstellen und diese dann der Variable zuzuweisen.

NicoDE 28. Sep 2005 17:35

Re: Zugriff auf zweidimensionales Array
 
Soweit ich weiß nur, indem du Konstanten dafür definierst.
Delphi-Quellcode:
procedure Foo;
type
  TBar = array [0..1] of Byte;
const
  Alc: TBar = (4, 2);
var
  Bar: array [0..0] of TBar;
begin
  Bar[0] := Alc;
end;

Nikolas 28. Sep 2005 17:51

Re: Zugriff auf zweidimensionales Array
 
hm schade. Wie (falls es geht) könnte ich denn so eine mehrdimensionale Konstante deklarieren? Über die Hilfe bin ich jetzt an Typisierte und Array -Konstanten gekommen, nur hab ich da das Problem, dass ich Messreihe als dynamisches Array deklarieren muss und in der Hilfe werden nur statische erwähnt.

Hat schon Mal jemand so was erfolgreich gelöst?

// Ich habs jetzt wie Nico gelöst. Vielen Dank für den Tip.
// Was ist eigentlich mit den Roten Kasten los?

Eichhoernchen 28. Sep 2005 18:16

Re: Zugriff auf zweidimensionales Array
 
hmm es gibt doch Mengen?!

set of ...

das ist doch was er da Sucht mit:

Zitat:

AReihe[0]:= [12;89;4]
nur eben Komma statt Semikolon!

himitsu 28. Sep 2005 18:27

Re: Zugriff auf zweidimensionales Array
 
Äußerlich mag es zwar "gleich" aussehen,
aber Arrays und Sets sind dennoch zwei verschiedene Dinge :warn:

Phistev 28. Sep 2005 18:36

Re: Zugriff auf zweidimensionales Array
 
Mehrdimensionale Konstanten deklariert man so:
Delphi-Quellcode:
const bla: array [0..1] of array[0..1] of word = ((5, 8), (15, 485));

Khabarakh 28. Sep 2005 19:21

Re: Zugriff auf zweidimensionales Array
 
Wenn man das wirklich öfter braucht und keine Konstanten benutzen kann, könnte man ja ein "Funktions-Template" schreiben. Parameter als offenes Array, für dynamische Arrays müsste man nicht einmal den Rückgabewert gesondert deklarieren.

Eichhoernchen 28. Sep 2005 19:28

Re: Zugriff auf zweidimensionales Array
 
Zitat:

Zitat von himitsu
Äußerlich mag es zwar "gleich" aussehen,
aber Arrays und Sets sind dennoch zwei verschiedene Dinge :warn:


Ach mist ich hab net genau gelesen was er da genau wollte. Ich dachte er braucht einfach was wo er mehre Sachen drinn abspeichern kann. Wusste net das die Reihenfolge wichtig ist!

Christian18 28. Sep 2005 20:19

Re: Zugriff auf zweidimensionales Array
 
Hallo Toxman,

wie füllst du denn das Array mit Daten??? Vieleicht gibt es da ja eine möglichkeit. Gibtst du dieser per hand ein??? oder liest du die aus einer textfile aus??? oder DB(Datenbank)

MFG Christian18


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 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