Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Einen Keller in Delphi Programmieren (https://www.delphipraxis.net/133247-einen-keller-delphi-programmieren.html)

Christian18 28. Apr 2009 15:30


Einen Keller in Delphi Programmieren
 
Hallo,

ich möchte mir einen Keller programmieren. Die Keller, die ich bisher in der Programmiersprache JAVA entwickelt habe, hatten einen unabhänigen Datentyp. Meine Frage nun, gibt es den auch in Delphi? Oder muss ich für String, Integer, Float, Real, ... extra Keller programmieren.

Ich meine mich erinnern zu können, dass es in JAVA eine Art Element gab. Damit waren dann alle Datentypen abgedeckt. Sogar Objekte konnte man dann in diesen Keller speichern.

MfG Christian18

mkinzler 28. Apr 2009 15:32

Re: Einen Keller in Delphi Programmieren
 
Such mal nach TStack

Phoenix 28. Apr 2009 15:40

Re: Einen Keller in Delphi Programmieren
 
Ab Delphi 2009 gibt es Generika / Generische Datentypen.

Dort kannst Du einen Keller<T> implementieren. Damit kannst Du einen Keller<String> und ein Keller<TButton> deklarieren und dieser Keller lagert dann nur den angegebenen Typen ein. Mit Delphi-Versionen vor 2009 geht das nicht so elegant.

Christian18 28. Apr 2009 15:42

Re: Einen Keller in Delphi Programmieren
 
Ok,

das ist ein fertiger Keller. Ich möchte bzw. soll ihn selber entwickeln. Zugriffsmethoden kenne ich, was diese tun sollen weiss ich auch. Ich bin nur noch auf der suche nach den richtigen Datentyp.

MfG Christian18

mkinzler 28. Apr 2009 15:47

Re: Einen Keller in Delphi Programmieren
 
Datentyp für was? :gruebel:

Christian18 28. Apr 2009 15:49

Re: Einen Keller in Delphi Programmieren
 
Naja ich wollte den Keller mit einem Array realisieren. Und das Array müsste dann ja auch einen Typ haben. Und wir sollen einen allgemeinen nehmen, womit man alle möglichen Datentypen abbilden kann. Ich kenne in Delphi habe keinen der das kann.

mkinzler 28. Apr 2009 15:51

Re: Einen Keller in Delphi Programmieren
 
Doch Variant oder ab D2009 hat generisch

Phoenix 28. Apr 2009 15:52

Re: Einen Keller in Delphi Programmieren
 
Er will einen Keller (also eigentlich einen Stack) für verschiedene Datentypen haben. Also einen wo man Integer einlagern kann, einen wo man Strings einlagern kann, einen wo man Objekte (eines bestimmten Typs) einlagern kann.

Es gibt also drei Möglichkeiten:
1.) Delphi 2009 - Nutzen von Generics.
2.) Delphi < 2009: Einen Stack implementieren der Pointer speichert. Hier kannst Du dann Pointer auf Strings, Integer, TMyClass, whatever reinpacken.
3.) Delphi < 2009: Den Stack aus 2 implementieren und davon für die spezifischen Typen jeweils eine Ableitung erstellen, die dann das jeweilige Objekt bzw. den jeweiligen Datentyp annehmen und dessen Pointer dann intern einkellern.

Edit Nachtrag: Okay... variant ginge auch.. finde ich persönlich aber unschön. Man weiss nie was drinsteckt.

Medium 28. Apr 2009 15:55

Re: Einen Keller in Delphi Programmieren
 
Zitat:

Zitat von Phoenix
Ab Delphi 2009 gibt es Generika / Generische Datentypen.

Dort kannst Du einen Keller<T> implementieren. Damit kannst Du einen Keller<String> und ein Keller<TButton> deklarieren und dieser Keller lagert dann nur den angegebenen Typen ein. Mit Delphi-Versionen vor 2009 geht das nicht so elegant.

Dieses ist die korrekte und vollständige Antwort auf deine Frage.

Als Behelf könnte man evtl. auf Variants zurück greifen, wobei die eben auch nicht alles beinhalten können, und mehr eine Flickerei sind da das eigentlich DAS klassische Anwendungsbeispiel für Generics ist.

Edit: Whoa, da hätte ja sogar nen doppelt roter Kasten kommen müssen :>

seim 28. Apr 2009 16:24

Re: Einen Keller in Delphi Programmieren
 
Was ist ein emm "Keller" manche Leute haben sowas zu hause ich weis aber..


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 Uhr.
Seite 1 von 3  1 23      

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