AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array definieren??

Ein Thema von TitanNano · begonnen am 6. Aug 2010 · letzter Beitrag vom 6. Aug 2010
Antwort Antwort
TitanNano
(Gast)

n/a Beiträge
 
#1

Array definieren??

  Alt 6. Aug 2010, 12:05
Hi,
ich mochte ein Array schon bei seiner Definition verschiedene Werte zuweisen, das soll ungefähr so aussehen:

Days : Array [0..4] of String = ('name','Mo','Di','Mi','Do');
Kann mir jemand sagen wie das geht??
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Array definieren??

  Alt 6. Aug 2010, 12:09
Das geht nur bei globalen Variablen:
Delphi-Quellcode:
var
  Days : Array [0..4] of String = ('name','Mo','Di','Mi','Do');
Als Konstante gehts überall:
Delphi-Quellcode:
const
  Days : Array [0..4] of String = ('name','Mo','Di','Mi','Do');
E:
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-}

Geändert von mleyen ( 6. Aug 2010 um 12:13 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Array definieren??

  Alt 6. Aug 2010, 12:09
In neueren Delphiversionen geht das genau so, wie du es geschrieben hast ( im Abschnitt const)
Markus Kinzler
  Mit Zitat antworten Zitat
TitanNano
(Gast)

n/a Beiträge
 
#4

AW: Array definieren??

  Alt 6. Aug 2010, 12:12
also ich habe Delphi 2005 personal.

wo genau füge ich den Const abschnitt ein??
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Array definieren??

  Alt 6. Aug 2010, 12:14
Normalerweise überhalb von type ist aber eigentlich egal, Hauptsache nach dem Uses
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

AW: Array definieren??

  Alt 6. Aug 2010, 12:19
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)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Array definieren??

  Alt 6. Aug 2010, 13:09
(nur Schade, daß es immernoch nicht für dynamische Arrays nutzbar ist)
Über nen kleinen Umweg schon (ja, ich weiß, ist nicht das selbe wie var variable: typ = wert; ):
Delphi-Quellcode:
uses
  Generics.Collections;

var
  MyIntArray: TArray<Integer>;

...

initialization
  MyIntArray := TArray<Integer>.Create(1, 2, 3, 4, 5);
In Delphi 2010 wohlgemerkt. Funktioniert auch für nicht generische Arrays.
Man muss halt nur einen Typ definieren (z.B. type TFooArray = array of TFoo; ) 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.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr.
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