![]() |
Array definieren??
Hi,
ich mochte ein Array schon bei seiner Definition verschiedene Werte zuweisen, das soll ungefähr so aussehen:
Delphi-Quellcode:
Days : Array [0..4] of String = ('name','Mo','Di','Mi','Do');
Kann mir jemand sagen wie das geht?? |
AW: Array definieren??
Das geht nur bei globalen Variablen:
Delphi-Quellcode:
Als Konstante gehts überall:
var
Days : Array [0..4] of String = ('name','Mo','Di','Mi','Do');
Delphi-Quellcode:
E:
const
Days : Array [0..4] of String = ('name','Mo','Di','Mi','Do'); Achja, als Variable gehts doch mit einem kleinen 'hack':
Delphi-Quellcode:
const
{$J+} Days : Array [0..4] of String = ('name','Mo','Di','Mi','Do'); {$J-} |
AW: Array definieren??
In neueren Delphiversionen geht das genau so, wie du es geschrieben hast ( im Abschnitt const)
|
AW: Array definieren??
also ich habe Delphi 2005 personal.
wo genau füge ich den Const abschnitt ein?? |
AW: Array definieren??
Normalerweise überhalb von type ist aber eigentlich egal, Hauptsache nach dem Uses
|
AW: Array definieren??
normalerweise zwischen Uses...; und Implementation,
Das als Variable geht eigentlich überall, hauptsache es ist global und nicht local, also nicht procedure/funktion...; und begin. (nur Schade, daß es immernoch nicht für dynamische Arrays nutzbar ist) |
AW: Array definieren??
Zitat:
Delphi-Quellcode:
):
var variable: typ = wert;
Delphi-Quellcode:
In Delphi 2010 wohlgemerkt. Funktioniert auch für nicht generische Arrays.
uses
Generics.Collections; var MyIntArray: TArray<Integer>; ... initialization MyIntArray := TArray<Integer>.Create(1, 2, 3, 4, 5); Man muss halt nur einen Typ definieren (z.B.
Delphi-Quellcode:
) um mit dem Create zu arbeiten. Das wandelt der Compiler bloß in ein SetLength und Befüllen der einzelnen Elemente um. Auch für mehrdimensionale Arrays.
type TFooArray = array of TFoo;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz