AGB  ·  Datenschutz  ·  Impressum  







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

Einen Keller in Delphi Programmieren

Ein Thema von Christian18 · begonnen am 28. Apr 2009 · letzter Beitrag vom 29. Apr 2009
 
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#25

Re: Einen Keller in Delphi Programmieren

  Alt 29. Apr 2009, 04:51
Zitat:
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.
Anforderungen;
Du willst folgendes?


Keller.push( myData );


myData kann sein,
ein Integer?
ein TObject?
eine TStringlist?
Ein TForm?
ein Double?
ein String?


oder sogar ein anderer Record wie ein TRect?

das würde sehr einfach zu realisieren sein, wenn es ein Record gäbe..
Delphi-Quellcode:
TDataConverter = packed record
  FType : TDataType;
  FIntegerValue : Integer;
  FTRectValue : TRect;

  usw ...
  // plus ein paar Pointer falls es ein Object oder anderes Object ist

private

public

     class operator Implicit(const AValue: String): TDataConverter;
     class operator Implicit(const AValue: Double): TDataConverter;
     class operator Implicit(const AValue: TObjecct): TDataConverter;
     class operator Implicit(const AValue: Integer): TDataConverter;
     class operator Implicit(const AValue: TRect): TDataConverter;



end;
und dann definierst Du


Delphi-Quellcode:
TKeller = class(TObject)

  procedure Push(const aData : TDataConverter);
end;
bei der impliziten Typumwandlung (danach lässt sich suchen im Forum) .. müsstest Du Dir dann merken, welchen Typ aData darstellen soll, müsstest dann den Integer speichern oder eben auch den Pointer auf die TStringlist .. je nach Datentyp .. und je nach Datentypen, die Du unterstützen möchtest.
Aber die paar Grunddatentype und TObject sollte reichen.

und wenn die procedure Push aufgerufen wird, dann steht in aData drin, was es für ein Typ ist, den Du speichern musst ...
So würde ich das machen, wenn ich in Zukunft nie wieder Arbeit haben will und nicht mehr nachdenken möchte
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat
 


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 20:20 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