Fragen zu TVirtualStringTree

Für Fragen von Einsteigern und Programmieranfängern...
wp_xyz
Beiträge: 4893
Registriert: Fr 8. Apr 2011, 09:01

Re: Fragen zu TVirtualStringTree

Beitrag von wp_xyz »

Jim Knopf hat geschrieben:
Di 16. Jan 2024, 14:37
wp_xyz hat geschrieben:
Di 16. Jan 2024, 13:31
Wenn man genau die Anforderung kennt, bin ich sicher, dass man auf der Basis des VTV sowas wie deinen DevExpress-Tree bauen kann
Dass es dann so einfach funktioniert wie oben beschrieben? Hm ...
Natürlich, das wäre halt deine Eigenentwicklung basierend auf VTV mit dem Ziel die DevExpress-Komponente zu imitieren. Ganz Lazarus ist so entstanden. Wird natürlich eine Zeitlang dauern...
Jim Knopf hat geschrieben:
Di 16. Jan 2024, 14:37
wp_xyz hat geschrieben:
Di 16. Jan 2024, 13:31
Für die RichText-Ausgabe gibt es TRichView bzw. wahrscheintlich besser KMemo; du müsstest nur einmal prüfen, ob sie deine Anforderungen erfüllen.
nicht ansatzweise mit TRichView vergleichbar.
Sorry, da habe ich mir vertan. Ich meine TRichMemo. (Aber wenn TKMemo schon nicht reicht, dann reicht TRichMemo auch nicht).
Jim Knopf hat geschrieben:
Di 16. Jan 2024, 14:37
wp_xyz hat geschrieben:
Di 16. Jan 2024, 13:31
FormStorage ist in Lazarus vorhanden, was ist das Problem damit?
Sorry, hab ich nicht gefunden. Ein eigenes Package? Wenn ja, welches?
https://wiki.freepascal.org/TXMLPropStorage, und wenn du lieber ini oder json magst, gibt es auch noch TIniPropStorage und TJsonPropStorage. Alle drei auf der Misc-Palette, und das Gegenstück, TSessionProperties, ist in TForm integriert.

Benutzeravatar
Jim Knopf
Beiträge: 98
Registriert: So 18. Mai 2014, 15:16
OS, Lazarus, FPC: Win10
CPU-Target: 64Bit
Wohnort: Klagenfurt
Kontaktdaten:

Re: Fragen zu TVirtualStringTree

Beitrag von Jim Knopf »

wp_xyz hat geschrieben:
Di 16. Jan 2024, 16:09
https://wiki.freepascal.org/TXMLPropStorage, und wenn du lieber ini oder json magst, gibt es auch noch TIniPropStorage und TJsonPropStorage. Alle drei auf der Misc-Palette, und das Gegenstück, TSessionProperties, ist in TForm integriert.
Danke dir. Mein Fehler, ich dachte die Formstorage-Komponente wäre bekannter - so brennt sich die Gewohnheit ins eigene Hirn. Die von dir genannten Komponenten sind eine Art Vorstufe zum Speichern von Werten in einer Ini-Organisation, wenn ich das richtig verstanden habe.

Was ich suchte war ein Äquivalent zur FormStorage von RX:

1. Eine Liste aller Komponenten auf dem Form
2. Wenn man eine markiert, eine Liste derer Properties. Wenn man auf eines doppelklickt (oder 'Add'), dann landet es ...
3. ... unten in der Liste der gespeicherten Eigenschaften. Wahlweise inklusive der Formularpositionen selbst.

Das spart viel Arbeit (alleine das Einstellungsfenster hat 700 solcher Werte) und ist ziemlich blöd zu programmieren. Ganz abgesehen davon, wie/ob das RTTI-Zeug bei plattformübergreifen funktioniert.

Bild

Benutzeravatar
theo
Beiträge: 10500
Registriert: Mo 11. Sep 2006, 19:01

Re: Fragen zu TVirtualStringTree

Beitrag von theo »

Jim Knopf hat geschrieben:
Di 16. Jan 2024, 15:40
Silbentrennung macht beim Schreiben selbst keinen Sinn.
Dann machen aber auch "Seiten" (-umbrüche) keinen Sinn, weil die folglich beim Druck sowieso woanders sind. Also könntest du dir diesen Anspruch theoretisch sparen.
Ich hatte mal eine Editor-Studie, welche Silbentrennung konnte. Habe eben einen 15 Jahre alten Screenshot in diesem Forum gefunden (unten).
Dort sieht man auch Erstzeileneinzüge und die rot-wellig unterstrichenen Wörter sind von der Rechtschreibkorrektur (libhunspell, libhyphen).
Aber wie gesagt, das Projekt wurde mir zu komplex und im Grunde hätte man mit den ganzen Erfahrungen von vorne anfangen müssen.
Aber: Es ist möglich, wenn man es wirklich will und eine konkretes ZIEL hat. Letzteres hatte mir leider gefehlt. :wink:

Bild

wp_xyz
Beiträge: 4893
Registriert: Fr 8. Apr 2011, 09:01

Re: Fragen zu TVirtualStringTree

Beitrag von wp_xyz »

Jim Knopf hat geschrieben:
Di 16. Jan 2024, 16:46
Was ich suchte war ein Äquivalent zur FormStorage von RX:

1. Eine Liste aller Komponenten auf dem Form
2. Wenn man eine markiert, eine Liste derer Properties. Wenn man auf eines doppelklickt (oder 'Add'), dann landet es ...
3. ... unten in der Liste der gespeicherten Eigenschaften. Wahlweise inklusive der Formularpositionen selbst.
Was ist denn der Unterschied zwischen deinem RX-Screenshot und dem Session-Properties-Editor in dem oben gezeigten XMLPropStorage-Link? Und auch das Vorgehen ist genau dasselbe...

Benutzeravatar
Jim Knopf
Beiträge: 98
Registriert: So 18. Mai 2014, 15:16
OS, Lazarus, FPC: Win10
CPU-Target: 64Bit
Wohnort: Klagenfurt
Kontaktdaten:

Re: Fragen zu TVirtualStringTree

Beitrag von Jim Knopf »

theo hat geschrieben:
Di 16. Jan 2024, 16:49
Dann machen aber auch "Seiten" (-umbrüche) keinen Sinn, weil die folglich beim Druck sowieso woanders sind. Also könntest du dir diesen Anspruch theoretisch sparen.
Ich hatte mal eine Editor-Studie, welche Silbentrennung konnte. Habe eben einen 15 Jahre alten Screenshot in diesem Forum gefunden (unten).
Dort sieht man auch Erstzeileneinzüge und die rot-wellig unterstrichenen Wörter sind von der Rechtschreibkorrektur (libhunspell, libhyphen).
Aber wie gesagt, das Projekt wurde mir zu komplex und im Grunde hätte man mit den ganzen Erfahrungen von vorne anfangen müssen.
Aber: Es ist möglich, wenn man es wirklich will und eine konkretes ZIEL hat. Letzteres hatte mir leider gefehlt. :wink:
Im Schreibfenster (Screenshot, auf den du zuerst Bezug genommen hast) machen Seitenumbruche tatsächlich keinen Sinn. Aber die Autoren sehen trotzdem optisch besser, wenn sie eine Normseite voll haben (daraufhin ist das Seitenformat in etwa kalibriert) und sie sind das Seitenformat von Word & Co her gewohnt - war große Freude, als wir das auch beim Schreibfenster einführten.. Das Programm arbeitet szenenorientiert, wodurch man eh in dem Schreibfenster nur die Seiten der aktuellen Szene sieht. Wann man möchte, kann man auf 'Gesamtdokument' klicken und bekommt das ganze Buch fix und fertig druckfertig zusammengestellt, inklusive Titelei und Hurenkind-/Schusterjungenregelung. Man könnte in diesem Stadium noch Kleinigkeiten korrigieren vor dem 'Gut zum Druck'. Die Optik, die du im zweiten Screenshot siehst, entspricht 1:1 dem Ergebnis des PDF-Drucks, den man an die Druckerei weitergeben kann.

Nun, selbst schreiben ... Selbst ohne eine TreeList und einen Editor programmieren zu müssen bin ich mit dem Programm seit zehn Jahren gut beschäftigt. Es ist ja auch noch Support, Internetseite, Verkauf, Lizenzenverwaltung usw. zu machen. Und für so begnadet, dass ich im Handumdrehen einen Editor oder eine TreeList selbst nebenher bastle, halte ich mich nicht. Auch habe ich noch ein zweites kleineres Herzensprojekt und schreibe selbst Romane und Sachbücher. Und ein klein wenig Freizeit wäre auch nicht daneben nach einem 10- bis 12-Stundentag (x7).
wp_xyz hat geschrieben:
Di 16. Jan 2024, 17:24
Was ist denn der Unterschied zwischen deinem RX-Screenshot und dem Session-Properties-Editor in dem oben gezeigten XMLPropStorage-Link? Und auch das Vorgehen ist genau dasselbe...
Vielleicht habe ich die falsche Komponente erwischt (TIniPropStorage)? Bei der kann man lediglich bei den StoredValues welche hinzufügen, die aus KeyString, Name und Value bestehen. Oder gibt es dazu eine neuere Version?

wp_xyz
Beiträge: 4893
Registriert: Fr 8. Apr 2011, 09:01

Re: Fragen zu TVirtualStringTree

Beitrag von wp_xyz »

Jim Knopf hat geschrieben:
Di 16. Jan 2024, 21:32
wp_xyz hat geschrieben:
Di 16. Jan 2024, 17:24
Was ist denn der Unterschied zwischen deinem RX-Screenshot und dem Session-Properties-Editor in dem oben gezeigten XMLPropStorage-Link? Und auch das Vorgehen ist genau dasselbe...
Vielleicht habe ich die falsche Komponente erwischt (TIniPropStorage)? Bei der kann man lediglich bei den StoredValues welche hinzufügen, die aus KeyString, Name und Value bestehen. Oder gibt es dazu eine neuere Version?
Meine Annahme, dass du zumindest den verlinkten wiki-Artikel überfliegen würdest, war wohl nicht richtig... Die Hauptarbeit passiert in der Eigenschaft "SessionProperties" des Formulars. Deren Komponenten-Editor öffnet den erwähnten Dialog. Die XXXPropStorage-Komponenten holen sich die zu speichernden Daten von den SessionProperties und stellen lediglich das Dateiformat zur Verfügung. Wenn du mehr wissen willst: siehe oben...
Zuletzt geändert von wp_xyz am Mi 17. Jan 2024, 01:03, insgesamt 2-mal geändert.

Benutzeravatar
Jim Knopf
Beiträge: 98
Registriert: So 18. Mai 2014, 15:16
OS, Lazarus, FPC: Win10
CPU-Target: 64Bit
Wohnort: Klagenfurt
Kontaktdaten:

Re: Fragen zu TVirtualStringTree

Beitrag von Jim Knopf »

Oh ja wp_xyz! Du hast ja so recht! Ich hatte mich schon gefragt, warum du einen Link zu der Komponente angibst, wo doch eh alles klar ist - oh Mann oh Manno. Sorry, ja, das ist ganz genau das, was ich meinte, danke!

Wenn nur dieses Editorthema nicht wäre, Ich würde so viel lieber hier weitermachen, denn ja, das mit dem Grid ist mit etwas Arbeit in den Griff zu bekommen, denke ich.

Benutzeravatar
Jim Knopf
Beiträge: 98
Registriert: So 18. Mai 2014, 15:16
OS, Lazarus, FPC: Win10
CPU-Target: 64Bit
Wohnort: Klagenfurt
Kontaktdaten:

Re: Fragen zu TVirtualStringTree

Beitrag von Jim Knopf »

Um noch einmal zu dem Editor zu kommen: TRichView an sich ist eine Kauf-Suite an Komponenten, zu denen auch eine Sammlung von Actions für alle Funktionen gehört, von Textauszeichnung bis zu Tabellenmethoden. Allerdings ist diese Komponente ein normales Eingabefeld wie ein TMemo. Es gibt sogar eine Datenbankvariante. Nun hat Sergey Tkachenko etwas Weiteres für eine eigene seitengerechte WYSIWYG-Komponente drumherum gebaut - und TRichView intern für die Textarbeit verwendet - die sich TSRichView nennt. Damit erhält man die Optik eines Worddokuments bis hin zu mehreren Dokumenten neben- und untereinander. Es ist also die perfekte WYSIWYG-Umgebung inklusive Bilder, Tabellen, Kopf- und Fußzeilen und und und. Nach der Erzeugung bildet eine PDF-Datei 1:1 das ab, was man vorher auf dem Bildschirm gesehen hat. Man sieht also genau, wie der Druck wird. Ich habe auf diesem Weg selbst 8 Romane und drei Sachbücher veröffentlicht.

Während es TRichView für Lazarus gibt, weiß ich das für TSRichView nicht, werde es aber im Lauf des Tages erfahren. Davon wird letztlich abhängen (müssen), ob ich mit Delphi 12 weitermachen muss oder mit Lazarus arbeiten kann. Dann allerdings würde ich euch hie und da hier noch mit Fragen nerven :)

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1436
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Fragen zu TVirtualStringTree

Beitrag von fliegermichl »

Es gibt die WPTools Komponenten von WPCubed GmbH. Da ist alles drin was du brauchst und das auch in hervorragender Qualität. Evtl. wäre das eine brauchbare Lösung für dich.

Benutzeravatar
theo
Beiträge: 10500
Registriert: Mo 11. Sep 2006, 19:01

Re: Fragen zu TVirtualStringTree

Beitrag von theo »

fliegermichl hat geschrieben:
Mi 17. Jan 2024, 09:19
Es gibt die WPTools Komponenten von WPCubed GmbH. Da ist alles drin was du brauchst und das auch in hervorragender Qualität. Evtl. wäre das eine brauchbare Lösung für dich.
Gibt's das jetzt für Lazarus oder was meinst du damit?

wp_xyz
Beiträge: 4893
Registriert: Fr 8. Apr 2011, 09:01

Re: Fragen zu TVirtualStringTree

Beitrag von wp_xyz »

Und TMS gibt's auch noch. Die haben lt Web Komponenten für Lazarus (und natürlich Delphi) im Angebot: https://www.tmssoftware.com/site/lcl-products.asp, darunter "Flexible multi-column treeview", sowie einen Rich Editor.

Benutzeravatar
Jim Knopf
Beiträge: 98
Registriert: So 18. Mai 2014, 15:16
OS, Lazarus, FPC: Win10
CPU-Target: 64Bit
Wohnort: Klagenfurt
Kontaktdaten:

Re: Fragen zu TVirtualStringTree

Beitrag von Jim Knopf »

fliegermichl hat geschrieben:
Mi 17. Jan 2024, 09:19
Es gibt die WPTools Komponenten von WPCubed GmbH. Da ist alles drin was du brauchst und das auch in hervorragender Qualität. Evtl. wäre das eine brauchbare Lösung für dich.
Die gibt es leider nicht für Lazarus.
wp_xyz hat geschrieben:
Mi 17. Jan 2024, 10:43
Und TMS gibt's auch noch. Die haben lt Web Komponenten für Lazarus (und natürlich Delphi) im Angebot: https://www.tmssoftware.com/site/lcl-products.asp, darunter "Flexible multi-column treeview", sowie einen Rich Editor.
Danke, ich hatte mir damals 2021 die TMS-Komponenten gekauft und auch jetzt noch einmal das Grid ausprobiert. Leider können die mich nicht wirklich überzeugen.

Antworten