![]() |
Mehrdimensionale Arrays mit Werten beladen
Ich versuche vergeblich im Internet zu finden wie ich zB einen 2d Array einfach mit werten beladen kann
ich habe bisher:
Delphi-Quellcode:
und versuche
type
meinarray = array[0..9,0..9] of integer;
Delphi-Quellcode:
allerdings funktioniert das nicht
const meinarray =
( (1,2,1,1,1,1,1,1,1,1), (1,0,0,0,0,0,0,0,0,1), (1,1,1,1,1,1,1,1,1,1), (1,0,0,0,0,0,0,0,0,1), (1,0,1,1,1,1,1,1,1,1), (1,0,0,0,0,0,0,0,0,1), (1,0,1,1,1,1,1,1,1,1), (1,0,1,1,1,1,1,1,1,1), (1,0,0,0,0,0,0,0,0,1), (1,1,1,1,1,1,1,1,0,1) ); |
Re: Mehrdimensionale Arrays mit Werten beladen
Soetwas geht nur bei globalen Konstanten-, bzw. Variablen-Definitionen.
Also entweder alles einzeln zuweisen oder es über eine Konstante an die Variable zuweisen. Wenn es die Initialbelegung einer globalen Variable ist, ginge es auch direkt. |
Re: Mehrdimensionale Arrays mit Werten beladen
Ergänzung: Deine Deklarationen sind durcheinander. Du deklarierst einen Typ und willst den dann als Konstante beladen. Das geht mit wie schon gesagt mit globalen consts und vars
Delphi-Quellcode:
Kompiliert, aber nicht geprüft.
const
meinarray : array[0..9,0..9] of integer = ((1,2,1,1,1,1,1,1,1,1), (1,0,0,0,0,0,0,0,0,1), (1,1,1,1,1,1,1,1,1,1), (1,0,0,0,0,0,0,0,0,1), (1,0,1,1,1,1,1,1,1,1), (1,0,0,0,0,0,0,0,0,1), (1,0,1,1,1,1,1,1,1,1), (1,0,1,1,1,1,1,1,1,1), (1,0,0,0,0,0,0,0,0,1), (1,1,1,1,1,1,1,1,0,1) ); Grüße, Messie |
Re: Mehrdimensionale Arrays mit Werten beladen
Zitat:
Delphi-Quellcode:
type
meinarray = array[0..9,0..9] of integer; const a: meinarray = ... |
Re: Mehrdimensionale Arrays mit Werten beladen
Ups, dann waren es nur die Variablen, wo es lokal nicht geht ... wäre ja och blöd, wenn man Konstanten keinen Wert zuweisen könnte :oops:
Und es fiehl mir auch jetzt erst auf Zitat:
Nur bei einfachen Ordinal- und String-Typen kann man es weglassen und der Compiler versucht dann einen passenden Typen zu finden String/WideString oder Byte/Word/LongWord/ShortInt/SmallInt/LongInt/Int64 ... halt je nach Größe des entsprechenden Wertes, bzw. die Ordinal-Typen werden oftmals auch direkt im QuellCode ersetzt und nicht als eigenständige Konstante gespeichert |
Re: Mehrdimensionale Arrays mit Werten beladen
Nur als Ergänzung: Typenlose Konstanten werden immer nach dem Motto "find and replace" im Source ersetzt, typisierte dagegen nie. Letztere werden wie Variablen behandelt, nur dass der Compiler - wenn die Option an ist - drauf achtet, dass sie keinen neuen Wert zugewiesen bekommen.
|
Re: Mehrdimensionale Arrays mit Werten beladen
OK, ich dachte wenn man einen Pointer auf eine typlose Konstante bildet, dann wird sie als extra "konstante" gespeichert, aber ich hab's grad getestet und der Compiler läßt sowas (@x) garnicht erst zu.
|
Re: Mehrdimensionale Arrays mit Werten beladen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:08 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