Forum: PC-Programmierung in Delphi array auslagern


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von jack (Gast)


Lesenswert?

Hallo,

wie ist es möglich in Delphi (Turbo Delphi) ein großes

Array auszulagern, ähnlich wie in C eine Header-Datei

anzulegen??

Wäre schön wenn mir jemand helfen könnte.



  Grüße

  Jack

von Tom (Gast)


Lesenswert?

Hi jack,

was hast du denn vor? Möchtest du ein konstantes Array (zum Zeitpunkt 
der Kompilierung bekannt) ablegen, oder ein zur Laufzeit generiertes 
speichern?

von jack (Gast)


Lesenswert?

Hi Tom,

es handelt sich um ein konstantes Array.

von Purzel H. (hacky)


Lesenswert?

Und was soll das bringen ?

von Tom (Gast)


Lesenswert?

1
Unit Unit1;
2
3
Interface
4
5
Const
6
  iArray            : Array[0..3] Of Integer =
7
    (
8
    10, 20, 30, 40
9
    );
10
11
Implementation
12
13
End.

von jack (Gast)


Lesenswert?

Danke Tom, funktioniert.

  Gruß
   Jack

von Transformer (Gast)


Lesenswert?

jack schrieb:
> ein großes
>
> Array auszulagern, ähnlich wie in C eine Header-Datei
>
> anzulegen

Tom schrieb:
>
1
> Unit Unit1;
2
> 
3
> Interface
4
> 
5
> Const
6
>   iArray            : Array[0..3] Of Integer =
7
>     (
8
>     10, 20, 30, 40
9
>     );
10
> 
11
> Implementation
12
> 
13
> End.
14
>

äh,..., da ist aber schon ein Unterschied.

In dem Beispiel von Tom wird Speicher reserviert. Aber in einem C Header 
steht nur die Interface Beschreibung, also nur Deklarationen. Module, 
die den gleichen Header einbinden wären nicht zu linken.

von Thomas K. (muetze1)


Lesenswert?

Da in Delphi Deklaration und Implementation immer in einer Unit zusammen 
sind, gibt es solche Möglichkeiten in dem Sinne nicht. Auch "brauchbare" 
Forward Deklarationen fallen damit aus. Der Interface Abschnitt der Unit 
könnte man mit einem Header vergleichen und den Implementation Abschnitt 
mit der .c/.cpp Datei.

von Transformer (Gast)


Lesenswert?

Thomas K. schrieb:
> Der Interface Abschnitt der Unit
> könnte man mit einem Header vergleichen

Nein, nein, so einfach ist das nicht. Der Inhalt einer C #include Datei 
wird vom Präprozessor an der Stelle eingefügt und dann das ganze Modul 
durch den Compiler übersetzt. Etwas vergleichbares in Delphi ist die 
Direktive {$I},{$INCLUDE}.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.