AGB  ·  Datenschutz  ·  Impressum  







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

Eine Art var_dump() in Delphi..?!

Ein Thema von ThE_-_BliZZarD · begonnen am 23. Sep 2007 · letzter Beitrag vom 23. Sep 2007
Antwort Antwort
ThE_-_BliZZarD

Registriert seit: 15. Sep 2006
Ort: Wiesbaden/Hessen
89 Beiträge
 
Delphi 2010 Professional
 
#1

Eine Art var_dump() in Delphi..?!

  Alt 23. Sep 2007, 21:49
Hallihallo liebe Gemeinde,

ich suche eine Art var_dump() Funktio, wie es sie in PHP gibt, für Delphi.

Ich habe oft irgendwo in meinem Script variablen, Arrays, Strukturen oder Records, deren Werte ich gerne zur Laufzeit ausgeben lassen würde. In PHP gibt es für sowas die wunderbare Funktion var_dump(). Im PHP-Sourcecode lässt sich leider nichts finden, was (in meinen Augen)wirklich zu der Funktion gehört und portierbar wäre, ich finde den PHP-Source irgendwie furchtbar unlogisch..

Falls jemand sich irgendwann mal so eine Funktion geschrieben hat, oder weiß, wie man den PHP-Source porten könnte, fände ich es echt endgeil, wenn diese Person den Source (oder Hinweise/Tipps) hier posten könnte

Danke!
MSVC2008 (C/C++ with QT), Delphi RAD 2010, Flash CS5 (FDT/Adobe), Java EE (Eclipse), PHP5
Antwortsprachen: Deutsch, Englisch, Französisch, Japanisch
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#2

Re: Eine Art var_dump() in Delphi..?!

  Alt 23. Sep 2007, 21:55
PHP und Delphi sind komplett unterschiedlich, in Delphi hast du einen Debugger, der dir alles anzeigen kann.
Ich glaub in der DP gibt es ein Tutorial zum Debuggen wie ausführlich es ist weiß ich allerdings nicht. (ich gehöre zu der Sorte die nicht Debuggt, da meine Programme keine Fehler haben )

mfg, Björn
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Eine Art var_dump() in Delphi..?!

  Alt 23. Sep 2007, 21:56
ich glaub da wirst du schlechte Chancen haben. Denn PHP ist eine Interpretersprache und Delphi nicht. Unter Delphi kannst du dynamsich Speicher anfordern ohne eine Variable darauf zu halten und kannst da auch etwas rein schreiben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#4

Re: Eine Art var_dump() in Delphi..?!

  Alt 23. Sep 2007, 21:58
Du müsstest eine Funktion schreiben, die diese Ausgabe für jeden möglichen Variablentyp machen würde. Also eine für Ganzzahlen, eine für Fließkommawerte, eine für Strings, eine für TObject, eine für TComponent, halt eine für jeden Datentyp, den Du ausgeben müsstest.

Teilweise kann Dir da ggf. die RTTI weiterhelfen, aber Delphi ist nunmal keine interpretierte Sprache wie PHP, wo der Interpreter alle Informationen über die verwendeten Typen hat, und die RTTI ist auch nicht so mächtig wie das Reflection in .NET, also wird Dir da ne menge Handarbeit nicht erspart bleiben.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
ThE_-_BliZZarD

Registriert seit: 15. Sep 2006
Ort: Wiesbaden/Hessen
89 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Eine Art var_dump() in Delphi..?!

  Alt 23. Sep 2007, 22:00
wiiiiii.. danke für die antworten.. das wird ja was ~_~..

Naja, da habe ich nicht nachgedacht. Sry. Ich hatte einfach diese.. Hoffnung, das jemand schon mal das gleiche Bedürfnis gehabt hat und deswegen auch mal sowas geproggt hat. Für soviel Aufwand mach ichs dann doch lieber immer von Hand..^^
MSVC2008 (C/C++ with QT), Delphi RAD 2010, Flash CS5 (FDT/Adobe), Java EE (Eclipse), PHP5
Antwortsprachen: Deutsch, Englisch, Französisch, Japanisch
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Eine Art var_dump() in Delphi..?!

  Alt 23. Sep 2007, 22:05
Das ist jetzt eine kurze ungeprüfte Überlegung.
dpCollection kann jeden Datentyp speichern. Wird ein Objekt gespeichert, so sind alle dazugehörigen Eigenschaften usw. gespeichert. Jetzt könnte man einfach das was gespeichert wurde ausgeben.

Stimmt doch, oder? Müsste ich mal probieren, wenn ich Zeit habe.
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#7

Re: Eine Art var_dump() in Delphi..?!

  Alt 23. Sep 2007, 22:10
Zitat von BenjaminH:
Das ist jetzt eine kurze ungeprüfte Überlegung.
leider zu ungeprüft.
Das funktioniert nur mit von TCollectionItem abgeleiteten klassen. Und das generelle Serialisieren von Objekten geht auch nur mit von TPersistent abgeleiteten Objekten. Leider nicht mit Structs.

Wie gesagt: Mit der RTTI kann man schon einiges über die Typen erfahren (u.a. published Properties), aber das hilft eben auch nicht bei Structs. In den Fällen würde ich mir - wenn man für einen bestimmten Datentyp wirklich eine Ausgabe braucht - diese eben einmal selber schreiben. Dann kann man die immer wieder verwenden, wenn man diesen Typ ausgeben will - egal wo und wie dr verschachtelt ist.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  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 06:37 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