![]() |
AW: Rückgabe-Typ anpassen?
Zitat:
|
AW: Rückgabe-Typ anpassen?
Ob es mit Delphi 7 laufen wird ... mal sehn (die paar RTTI-Funktionen sollten sich abschalten lassen, auch wenn dann die De-Serialisierungsfunktionen fehlen würden)
Die Grundfunktionen meines Codes kommen ohne RTTI aus. (aber fertig ist er noch nicht, siehe Link in 3) ![]() Und der Code des TE wird garaniert auch mit D7 laufen, wenn fertig, denn von RTTI Und Co. ist da drin noch nix zu sehen. Aber ja, es gibt bestimmt auch schon was Fertiges, was in Delphi 7 laufen würde. Wie alt ist JSON eigentlich? Würde auf 2005 oder 2006 tippen und Delphi 7 ist aus dem Jahre 2002, aber wenn ein Code in Delphi 2006/2007 läuft, dann bestimmt auch in D7. |
AW: Rückgabe-Typ anpassen?
Erstmal danke, dass ihr euch Zeit genommen habt um zu antworten.
Zitat:
![]() PasteBin um zu viel Code auf der Seite zu vermeiden. Den Tipp mit GetValue habe ich umgesetzt. Zitat:
Aber wenn das so klappt wie ich es mir denke sollte es kein Problem sein. Was ich nicht ganz verstehe ist, wie ich wieder ein ganzes Objekt zurück geben kann, denn TJsonValue kann TJsonNodes ja gar nicht kennen, wie kann ich dann ein GetValue für TJsonNodes machen der mir dann wieder ein ganzes Objekt zurück gibt? Habe leider nicht ganz verstanden was du mit TMyObject usw gemeint hast. Zitat:
Freundliche Grüsse |
AW: Rückgabe-Typ anpassen?
forward declaration
![]() ![]() Zitat:
Wenn in paar Jahren mal jemand das selbe Problem hat, könnte der externe Code weg sein. |
AW: Rückgabe-Typ anpassen?
Zitat:
Forward Deklarationen waren mir bekannt, jedoch habe ich, das letze mal als ich sie benutzen wollte, wohl einen Fehler gemacht und es hat nicht funktioniert wie ich wollte. Deswegen habe ich es diesmal gar nicht probiert. Zitat:
Der Code sollte in ein paar Tagen hier veröffentlicht werden. :) Momentan ist es noch ein bisschen umständlich:
Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var format: string; child : TJsonObject; int : integer; begin Json := TJsonObject.Create; Json.Parse(mmo1.Text); Json.Format(mmo1.Text, format); mmo1.Text := format; child := TJsonObject.Create; Json['obj'].GetValue(child); child['id'].GetValue(int); showmessage(IntTostr(int)); end;
Code:
Falls Interesse am bisherigen Code steht, einfach nachfragen.
{
"id": 1, "age": 18, "name": "Milos", "url": "http://delphipraxis.net", "valid": true, "obj": { "id": 6, "test": true } } Freundliche Grüsse |
AW: Rückgabe-Typ anpassen?
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
Zitat:
Habe gerade Delphi 5 und 7 meines Vaters ausgegraben und die Unit angepasst, damit Sie mit beiden läuft. Das einzige was ich noch testen könnte wäre Delphi 3, habe ich jedoch nach einer Stunde suchen aufgegeben. Delphi 5/7 Projektdateien angehängt. Noch nicht fertig und keine garantie auf stabilität! Edit: Sorry dachte wenn man antwortet wird es automatisch an den letzen Post gefügt. |
AW: Rückgabe-Typ anpassen?
Och, früher sind wir ja auch ohne Generics ausgekommen. :-D
Pssst, du hast Null und das Array vergessen. Array ist wie ein Objekt, nur mit anderen Klammern drumrum und ohne Name vor den Items. Und "neben" Integer gibt es auch noch Float (Double), aber das ist einfach nur ![]() ![]()
Delphi-Quellcode:
.
FormatSettings.DecimalSeparator:='.'
![]() |
AW: Rückgabe-Typ anpassen?
Zitat:
Den Rest weiss ich schon, habe absichtlich betont das es nicht Fertig ist, war die ganze Nacht an einer Homepage und dem Json-Parser dran und wollte eigentlich schlafen gehen. Irgendwie lässt mich aber die (Delphianer-)Praxis nicht gehen :lol: Zitat:
Freundliche Grüsse |
AW: Rückgabe-Typ anpassen?
Liste der Anhänge anzeigen (Anzahl: 1)
Vielen vielen dank an alle helfer, vorallem himitsu.
Der Parser funktioniert nun schon ziemlich gut und ich kann mit ihm auch grössere Blöcke die ich zufällig im Internet rausgesucht habe erfolgreich verabeiten. Ich habe eine kleine GUI geschrieben um die Struktur auszugeben. Wie man sieht wird bei neuen Objekten weiter rein gerückt. Wie soll ich das bei Arrays machen? Bisher hab ich es so gemacht das der Inhalt als string angezeigt wird also: "[item0,item1]" Arrays sind die gelben Felder. Freundliche Grüsse Zitat:
|
AW: Rückgabe-Typ anpassen?
Array = Objekt mit "leeren" Namen der Items.
Bei Objekten "müssen" die Variablen/Property eigentlich immer einen Namen haben und bei Arrays haben die Items keinen Namen. (quasi ein Leerstring) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 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