AGB  ·  Datenschutz  ·  Impressum  







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

Funktion zur Datentypbestimmung

Ein Thema von test3r · begonnen am 21. Jun 2005 · letzter Beitrag vom 22. Jun 2005
Antwort Antwort
test3r

Registriert seit: 1. Nov 2004
12 Beiträge
 
#1

Funktion zur Datentypbestimmung

  Alt 21. Jun 2005, 12:42
Hallo zusammen,
ich bin auf der suche nach einer Funktion, die mir den Datentyp einer Variable zurückliefern soll. ein Beispiel hierfür wäre zum Beispiel Listen: Man muss diese ja immer für einen bestimmten Datentyp schreiben. Ich möchte gerne nur eine Liste haben, die dann abhängig vom Datentyp handelt. Geht das?
Ich hoffe mir kann jemand helfen.
Gruß
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#2

Re: Funktion zur Datentypbestimmung

  Alt 21. Jun 2005, 12:51
Ja, es geht.
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Funktion zur Datentypbestimmung

  Alt 21. Jun 2005, 12:54
forausgesetzt ich habe das jetzt richtig interpretiert:

du könntest Variant verwenden
oder ein Record mit zwei werten, einen für den datentyp (mit konstanten vorher bestimmen - z.b.: integer 1 string 2) und dann als 2. variable ein variant, dem kannst du alles zuweisen

@barf00s: tolle antwort ...
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Funktion zur Datentypbestimmung

  Alt 21. Jun 2005, 13:06
@idontwantaname (warum eigentlich nicht? ): Theoretisch hat barfoos ja Recht. Die Frage war "Geht das"

Im Ernst: in Delphi 7 sind jede Menge TryStrTo...-Funktionen enthalten. Damit kannst du versuchen, einen String in einen anderen Typ umzuwandeln. Mit diesen Funktionen kannst du dir auch Is...-Funktionen schreiben:
Delphi-Quellcode:
function IsInteger(const aValue: String): Boolean;
var
  aInt: Integer;
begin
  Result := TryStrToInt(aValue, aInt);
end;
Fuer die anderen Typen gehts natuerlich genauso. Ab welcher Delphi-Version diese Funktionen dabei sind, weiss ich allerdings nicht.


Wenn du jetzt aber den Typen einer Variable pruefen willst, gibts ausser Variants keinen Weg. Fuer Funktionen die an einen bestimmten Typen gebunden sind, gibts aber Ueberladung:
Delphi-Quellcode:
function Foo(Bar: String): Boolean; overload;
function Foo(Bar: Integer): Boolean; overload;
Die Aufrufe sehn dann so aus:
Delphi-Quellcode:
Foo('SomeValue');
Foo(0);
Die Funktion musst du natuerlich fuer jeden moeglichen Datentypen implementieren.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
test3r

Registriert seit: 1. Nov 2004
12 Beiträge
 
#5

Re: Funktion zur Datentypbestimmung

  Alt 21. Jun 2005, 13:49
Dankeschön.
so einen Datentyp wie Variant hab ich benötigt.
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#6

Re: Funktion zur Datentypbestimmung

  Alt 22. Jun 2005, 08:02
@idontwantaname: er fragte ja "Geht das?" und ich hab ihm geantwortet
hatte dann aber keine zeit mehr ihm ausführlich zu antworten
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Funktion zur Datentypbestimmung

  Alt 22. Jun 2005, 08:38
Zitat von barf00s:
@idontwantaname: er fragte ja "Geht das?" und ich hab ihm geantwortet
hatte dann aber keine zeit mehr ihm ausführlich zu antworten
ja, stimmt schon, das er so gefragt hat, trotzdem kann man mit so einer antwort nicht viel anfangen
naja, ist ja egal, das gehört ja wirklich nicht zum thread ..
Oliver Hanappi
Besucht meine neue Homepage: http://oli.hux.de
  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 16:14 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