AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi varianter Variablentyp der records erlaubt?

varianter Variablentyp der records erlaubt?

Ein Thema von xineohp · begonnen am 26. Jun 2004 · letzter Beitrag vom 27. Jun 2004
Antwort Antwort
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#1

varianter Variablentyp der records erlaubt?

  Alt 26. Jun 2004, 20:14
moin,

Ich suche einen einen varianten Variablentyp, der neben strings,integer etc. auch records, class und arrays erlaubt. (also all das, was in Borlands variant-Typ ausgeschlossen ist )

Gibt es einen solchen? Oder wie könnte man sowas realisieren?
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: varianter Variablentyp der records erlaubt?

  Alt 26. Jun 2004, 20:17
Hi,

du könntest eventuell typenlose Variablen benutzen, wie Borland es in manchem Prozeduren auch tut.

(Ich weiss jetzt nicht, ob das wirklich geht oder ob es nur Compiler-Magic ist)

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#3

Re: varianter Variablentyp der records erlaubt?

  Alt 26. Jun 2004, 20:24
hm, und wie mach ich das? Ich befürchte da hab ich keine Ahnung von ...
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#4

Re: varianter Variablentyp der records erlaubt?

  Alt 26. Jun 2004, 21:16
noch mal um das Problem zu verdeutlichen:

Ich möchte eine verknüpfte Liste erstellen, bei der der user am Anfang einen beliebigen Variablentyp als Datentyp festlegt und somit eine Liste dieses Typs erhält/erstellen kann.

Das Problem ist nun, dass neben den primitiven Typen wie string,integer, double, etc. auch records, Klassen und event. arrays möglich sein sollen.

Im Prinzip müsste das doch irgendwie möglich sein, da die Liste ja nicht auf den Inhalt/die Einzelnen Bestandteile der Variable zugreifen muss, sondern immer mit Zeigern arbeitet.
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: varianter Variablentyp der records erlaubt?

  Alt 27. Jun 2004, 11:46
Leg als Nutzlast der Liste folgendes an: einen Zeiger, eine Größenangabe und eine Angabe, um welchen Typ es sich handelt. Damit kannst du dann, je nachdem, was für ein Typ angegeben wurde, die Daten auswerten.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#6

Re: varianter Variablentyp der records erlaubt?

  Alt 27. Jun 2004, 12:03
Wie sollte man den Typ speichern?
Gibt es da eine Möglichkeit außer ihn als String zu speichern? (<-- das einzige was mir jetzt dazu einfällt)
Damit man möglichst um die unweigerlich folgenden If abfragen herum kommt ...
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: varianter Variablentyp der records erlaubt?

  Alt 27. Jun 2004, 12:37
Um die if-Abfragen wirst du nicht drumrumkommen. Der einizige Trost düfte sein, dass du sie nur einmal schreiben musst.
Problematisch wird das natürlich aber dann, wenn du selbst definierte Datenstrukturen wie Klassen, Arras oder Records speichern willst, was du ja vorhattest. Dafür fiele mir nur die Möglichkeit ein, dir irgendein System auszudenken, mit dem du Datenstrukturen jeglicher Art beschreiben kannst. Diese Beschreibung speicherst du als Typangabe ab. Bei einem Lesezugriff gibst du die gewünschten Daten anhand der Beschreibung zurück.
Wie so ein System aber im Detail aussehen könnte, dafür hab ich auch keine Antwort.

Eine allgemeine Lösung ist also sehr aufwändig. Aber brauchst du wirklich eine Liste, die beliebige Typen aufnehmen können muss? Meist reichen doch einer oder einige wenige Typen aus, sodass du hier evtl. mit einem varianten Record arbeiten könntest.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:57 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