AGB  ·  Datenschutz  ·  Impressum  







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

JSONTreeView - ein Node exportieren?

Ein Thema von SearchBot · begonnen am 9. Dez 2022 · letzter Beitrag vom 3. Apr 2023
Antwort Antwort
Seite 1 von 2  1 2      
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
313 Beiträge
 
Delphi 12 Athens
 
#1

JSONTreeView - ein Node exportieren?

  Alt 9. Dez 2022, 23:09
Ich habe heute den Wunsch gehabt, diese unübersichtlichen JSON-Daten als String in "pretty" formatiert anzusehen.

Da habe ich den DelphiJSONViewer und dort auch verlinkt die JSONTreeView-Komponente gefunden

Jetzt habe ich also eine JSON-Datei, aus der ich Nodes löschen will, weil sie nicht benötigt werden.
Ich klicke sie an und entferne sie ganz einfach:
  JSONTreeViewMain.Selected.Delete;
Nun möchte ich aber auch nur den einen selektierten Node (mit seinen Unterzweigen) exportieren...
  JSONTreeViewMain.Selected.TreeView.SaveToFile(..)
Leider speichert diese Funktion aber alles, auch die anderen Nodes, die ich nicht selektiert habe.

Wie kann ich es richtig machen?
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#2

AW: JSONTreeView - ein Node exportieren?

  Alt 10. Dez 2022, 01:18
Wie kann ich es richtig machen?
Ist dein Quelltext real, oder Pseudocode? In den von dir verlinkten DelphiJSONViewer/DelphiJSONComponents Komponenten kann ich nichts finden. In den mORMot ThirdParty Demos gibt es mit SynJSONTreeView ein Pendant. Da das JSON Dokument als DocVariant vorliegt, kann man jeden Teilknoten separat mit der Funktion ToJSON speichern. Das Beispiel für mORMot2 umzuschreiben, sollte eine Kleinigkeit sein. Als Donation an das mORMot Projekt, wenn du schon am Packen der Geschenke bist.

Bis bald...
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

AW: JSONTreeView - ein Node exportieren?

  Alt 10. Dez 2022, 02:00
Wieso kommt immer jemand auf komische Ideen etwas in einem Viewer machen zu wollen?

Ein Viewer hat was mit Anzeigen zu tun, nicht mit der Formatierung von Daten.


Man nehme irgendeine JSON-Daten-Komponente und dann

https://stackoverflow.com/questions/...json-in-delphi
https://www.delphipraxis.net/195387-...rmatieren.html
...
...
...




statt einer TStringList ein TMemo benutzen
statt einer CSV-Komponente ein TStringGrid oder gar das ganze MSExcel
statt ...
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (10. Dez 2022 um 02:04 Uhr)
  Mit Zitat antworten Zitat
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
313 Beiträge
 
Delphi 12 Athens
 
#4

AW: JSONTreeView - ein Node exportieren?

  Alt 10. Dez 2022, 18:43
Ist dein Quelltext real, oder Pseudocode?
In den von dir verlinkten DelphiJSONViewer/DelphiJSONComponents Komponenten kann ich nichts finden.
Real. Genau so habe ich das beschriebene Ergebnis bekommen.

In den mORMot ThirdParty Demos gibt es mit SynJSONTreeView ein Pendant. Da das JSON Dokument als DocVariant vorliegt, kann man jeden Teilknoten separat mit der Funktion ToJSON speichern.
Das schaue ich mir gerne an, danke für den Tipp

Wieso kommt immer jemand auf komische Ideen etwas in einem Viewer machen zu wollen?

Ein Viewer hat was mit Anzeigen zu tun, nicht mit der Formatierung von Daten.
Ich habs gerne WYSIWYG
Und ich wollte die Untermengen zusammenklappen können, eben genau so wie es der TreeView macht. Finde ich übersichtlicher.

Auch danke für diese Tipps
  Mit Zitat antworten Zitat
charly52

Registriert seit: 2. Sep 2018
Ort: Salem, Baden
102 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: JSONTreeView - ein Node exportieren?

  Alt 1. Apr 2023, 14:42
Hi Thomas,

In den mORMot ThirdParty Demos gibt es mit SynJSONTreeView ein Pendant. ..... Das Beispiel für mORMot2 umzuschreiben, sollte eine Kleinigkeit sein.

Das wollte ich jetzt machen, aber scheitere u.a. an der fehlenden "InputBox()". Wo gibt es die in mORMot2?
Oder wie heißt sie jetzt?


Gruß Charly
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#6

AW: JSONTreeView - ein Node exportieren?

  Alt 1. Apr 2023, 14:55
Gibt's in Vcl.Dialogs bzw. Fmx.Dialogs.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#7

AW: JSONTreeView - ein Node exportieren?

  Alt 1. Apr 2023, 22:00
Das wollte ich jetzt machen, aber scheitere u.a. an der fehlenden "InputBox()". Wo gibt es die in mORMot2?
Die Unit mORMotUILogin gibt es in mORMot2 (noch) nicht.

Wie es Uwe empfohlen hat, die Funktion InputBox aus der Unit Vcl.Dialogs sollte gleich funktionieren. Ich hoffe, du postest den Quelltext hier und machst ein Announcement im mORMot Forum. Arnaud ist hier im DP Forum angemeldet. Und wenn ich schon beim Wünschen bin, die Verwendung von Virtual Treeview wäre fein.

Bis bald...
Thomas
  Mit Zitat antworten Zitat
charly52

Registriert seit: 2. Sep 2018
Ort: Salem, Baden
102 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: JSONTreeView - ein Node exportieren?

  Alt 2. Apr 2023, 16:15
Hi,


Wie es Uwe empfohlen hat, die Funktion InputBox aus der Unit Vcl.Dialogs sollte gleich funktionieren.
Habe ich inzwischen gefunden.
Nur die YesNo() konnte ich nirgends finden. Die habe ich rudimentär in SynJSONTreeView.pas nachgebaut. Gibt immer mrNo zurück.

Ich hoffe, du postest den Quelltext hier und machst ein Announcement im mORMot Forum.
Das komplette Projekt gezipt und angehängt. SynJSONTVEditor.zip
In ReadMe-mORMot2.md noch etwas zusätzliche Info zu den Compilereinstellungen.
Merde... ich kriege die zip-datei NICHT angehängt.????

ein Dropbox Zugang. https://app.box.com/s/9zto7kjcxb0d3250uere7l4ftpe6kr6h



.... und machst ein Announcement im mORMot Forum.
Was meinst du mit Annnouncment im mORMot Forum? Wo da und was soll da rein?

Arnaud ist hier im DP Forum angemeldet.
Was willst du mir damit sagen?

Und wenn ich schon beim Wünschen bin, die Verwendung von Virtual Treeview wäre fein.
Was genau meinst du? was für ein "Virtual Treeview" und wo soll das benutzt werden?

Tut mir leid, daß ich wieder mehr Fragen als Antworten oder Taten lefern kann, aber ihr klärt mich bestimmt auf.

Gruß Charly

Geändert von charly52 ( 2. Apr 2023 um 16:23 Uhr)
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#9

AW: JSONTreeView - ein Node exportieren?

  Alt 2. Apr 2023, 21:23
.... und machst ein Announcement im mORMot Forum.
Was meinst du mit Annnouncment im mORMot Forum? Wo da und was soll da rein?
Arnaud nimmt Contributions als Pull Requests im GitHub Repository entgegen. Wenn du diesen Weg nicht gehen willst, bevor der Beitrag verloren geht, kannst du es auch in einem öffentlichen Repository hinterlegen und bekannt machen. Er hat dann die Möglichkeit, es sich anzusehen und wenn es hilfreich ist, zu integrieren. Konkret: Wenn du möchtest, erstelle einen Post im mORMot Forum und beschreibe, was du genau gemacht hast mit einem Link zum Quelltext.

Arnaud ist hier im DP Forum angemeldet.
Was willst du mir damit sagen?
Er hat sich meine Artikel zum Thema mORMot gefischt, freundlich kommentiert und eingecheckt.

Und wenn ich schon beim Wünschen bin, die Verwendung von Virtual Treeview wäre fein.
Was genau meinst du? was für ein "Virtual Treeview" und wo soll das benutzt werden?
Mit dem TreeView Control kommt man nicht weit. Schon bei deutlich unter 100K Einträgen hängt sich alles auf (hatte das schon mal getestet). Der DocVariant lädt 100K in 50ms und auch für das Virtual Treeview ist diese Anzahl ein Klacks. In 200ms sollte die Anzeige stehen.

Bis bald...
Thomas
  Mit Zitat antworten Zitat
charly52

Registriert seit: 2. Sep 2018
Ort: Salem, Baden
102 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

AW: JSONTreeView - ein Node exportieren?

  Alt 3. Apr 2023, 18:54
Hi

jetzt ist ein zipfile (SynJSONTVEditor.zip) mit dem 1ten Schritt (von mORMot1 nach mORMot2 umgebaut) hochgeladen.
Den DropBox Zugang von #8 gibt es nicht mehr!
Und die Aussage "Gibt immer mrNo zurück." stimmt auch nicht mehr.

@mytbo:

Deinen Wunsch nach VirtualTreeView verstehe ich aber immer noch nicht.
Willst du die gesammte Unit SynJSONTreeView.pas raus haben oder in dieser die Vererbung von

 TSynJSONTreeView = class(TTreeView)

durch sowas ersetzen

  TSynJSONTreeView = class(TVirtualStringTree)

Gruß Charly
Angehängte Dateien
Dateityp: zip SynJSONTVEditor.zip (40,4 KB, 12x aufgerufen)

Geändert von charly52 ( 3. Apr 2023 um 18:57 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:21 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