Gemeinschafst projekt: rtf änliches komponente !

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Antworten
Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Das hat doch mit dem eigentlichen Thread nichts mehr zu tun, fang doch dafür nen neuen an. Ich wüsst jetzt auch nicht was man dazu sagen soll ?! Wozu genau zu deiner Scrollbox oder zu deiner Idee sowas wie nen Webbrowser zu basteln ? Und bora4d meinte schon sein interenes Speicehrformat und nix externes.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Doch im Prinzip könnte diese Scrollbox auch für einen Text Editor verwendet werden.
Aber du hast recht. ich sollte dafür einen neuen Thread aufmachen.

Ich dachte das würde hier ganz gut rein passen, wegen der gemeinsamen basses.

Edit:
ich habe das Thema Scrollbox nochmal hier gepostet:
viewtopic.php?p=21217#21217
damit der Thread hier"Sauber" bleibt *G*
MFG
Michael Springwald

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Beitrag von Bora4d »

Ich möchte nicht Html-Format verwenden weil:
-Texte werden unnötig lang mit ausgeschriebenen Format-Namen z.b. 'Background-Color, ...'
-einen Parser für Html-Format zu schreiben, würde lange dauern.
-HTML soll nur exportiert und importiert werden, als die Komponente bekommt eigene Format.
-mann kann ja damit später durch Html-Import Webseiten darstellen. Anstatt die Datei lokal zu importieren, aus dem Internet herunterzuladen und anzuzeigen ist bestimmt nicht schwer.

Ich hatte das Ding, nur just for fun geschrieben, nur um zu sehen wie sowas geht. Anscheinend war ich gestern Nacht "voll drauf" es ging alles einfach. Ich verwende im meinen Datenbank programmen sehr viel TWebbrowser, aber der ist nur bei Delphi und seit dem Service Pack 2 muß ich ihn nur über JavaScript benutzen, was langsam ist. Und die alternativen TurboPower-Browser und THtmlViewer sind noch langsamer deshalb hab ich vor diese zu entwickeln, wenn die Lust nicht nachläßt und ich Zeit habe.
Die Komponente hat Macken wie alles Zeichnen anstatt nur erforderliche und double-buffering fehlt und einige andere. Aber die Grundfunktionen sind schon da. Deshalb kann mann daraus etwas vernünftiges machen.
Ich möchte da jetzt funktionenen wie TControls platzieren und eventuell ActiveX Komponenten wie PDF/Flash-Viewer platziert werden können. Die sind nicht schwierig. Nur die Tabelle ist schwer. Er soll nämlich unbedingt Tabellen zeichnen können sowie auf Webseiten. Eine Tabelle braucht man immer für die Darstellung, z.b. Datentabellen.
Am Anfang soll der Texteingabe über Quelltext wie bei Webbrowsern geschenen, wenn die Ausgabe perfekt ist und alles funktioniert soll dann Editiermöglichkeit dazu kommen.
Wenn ihr Lust habt können wir natürlich daraus ein Gemeinschaftprojekt machen. Es soll möglicht schnell, ressourcenschonend und nur aus eine Unit-Datei bestehen.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Sei mir nicht böse aber TupboPowerIpro ist ne ganze ecke schneller als deine beispielkomponente und die hat noch lange nicht den funktionsumfang. Wie kommst du drauf es schneller machen zu können ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Beitrag von theo »

Irgendwie weiss ich jetzt grad nicht mehr, was du eigentlich machen willst.
Du hast anfänglich von einem RTF-Editor gesprochen. Das wäre dann nach meiner Lesart ein Richtext-Editor, der mit dem MS RTF Dateiformat arbeitet.
Was du jetzt gemacht hast, ist der Ansatz für einen Viewer (kein Editor) mit einem selbstdefiniertem Datei Format. Dafür gibts von IPro ne Komponente und der RTFViewer. Alles schon fertig, brauchbar und mit Standardformaten.

Dann willst du auch noch Controls platzieren etc. Das braucht wiederum ein Richtext Editor nicht. Willst du also doch einen Webbrowser machen?
Ein kompletter Webbrowser ist aber wiederum für einen einzelnen Mann nicht zu schaffen.

Alle diese drei Ziele sind mit unterschiedlichen Mitteln zu erreichen.
Dein Ansatz (wenn ich es richtig sehe) ist imho weder für einen RichEditor noch für einen Webbrowser geeignet.

Vielleicht soltst du dein Ziel etwas genauer (und evtl, bescheidener) definieren.

P.S. Ist alles nicht böse gemeint.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ich meinte das anders. ich möchte nicht persönlich einen WebBrowser schreiben, aber mit Hilfe dieser Idee währe es möglich.
Mein Ziel am Anfang wahr es auch sowas wie ein RichEdit zu schreiben.
Aber in drei Stufen.
erste Stufe.
Eine Memo Komponente, naja sowas wie ein SynEdit/SynMemo
Diese Komponente ist so gebaut das es leicht sin dürfte sowas wie ein RichEdit einzubauen.
Dann die letzte stufe sowas sie SynEdit mit Higleiter Unterstützung und sowas.

Im Moment bin ich noch bei Stufe 1, also die Erstellung des Memo/SynEdit.
Diese Stufe macht sehr gute vorrtschritte. Ich kann bereist einen Text eingeben, einen Laden und auch bearbeiten.
Das Markieren Funktioniert schon teilweise. Allerdings habe ich hier einige Probleme beim Scrollen, wie SynEdit unterstützt meine Komponente leider auch nur gleich Große Buchstaben. Aber nur wegen dem Scrollen.

Daher habe ich mir diese Idee mit der eigenen Scrollbox überlegt.
Angenommen ich definiere ein Text Objekt mit allen notwendigen Eigenschaften. Dann könnte ich es mit leichtigkeit zu meiner Scrollbox hinzufügen. Das Objekt also das Text Objekt bekommt dann vom Objekt Manger einen Bereich zugewiesen wo es zeichnen darf, das Objekt selbst muss nur noch den Teildastellen der Sichtbar ist.
Und auch nur dieser Teil wird gezeichnet auf den Haupt Buffer.

Ich hoffe jetzt es dir/euch klar was ich meine. Ich meine nämlich es währe denkbar einfach mit Hilfe meiner Scrollbox irgendetwas zu erstellen was eine Scroll Funktion benötig.
Meiner Erfahrung nach ist das bei der Scrollbox nicht so einfach oder ich kenne sie nicht so gut.

Um das nochmal klar zu stellen: Mein Eigentliches Ziel ist es eine Komponente zu erstellen welche unterschiedliche Texte da stellen kann auf unterschiedliche art und weise.
Wie das halt unter anderem RichEdit kann. Am Anfang ging es mir auch darum das RTF und andere Formate zu parsen und laden zu können. Aber mittlerweile habe ich die Kenntnis gewonnen das es sinvoller ist erst die Render Engine Fertig zu stellen, bevor ich mich an das Parsen von irgendeinen Format dran mache.

Du hast selbst gesagt das Parsen von einem RTF Format ist gar nicht so einfach wie ich es mir vorgestellt hatte.
In der Letzten Zeit habe ich viele Ansätze ausprobiert. Um mein Ziel zu erreichen.

Bei Gelegenheit lade ein Video hoch von meiner "Text Editor" Komponente, oder sogar den Soruce-Code und alles drum und dran.

Das was du vorhast oder schon (fast) fertig hast, übersteigt meine Fähigkeiten bei weitem theo.
Ich habe mir jetzt genaue Ziele festgelegt für mich, und diese Ziele möchte ich erreichen bei meiner Text Editor Komponente, schritt für schritt.
MFG
Michael Springwald

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

Beitrag von theo »

@Pluto: Aha, mein voriger Beitrag hat sich eigentlich auf die Anwort auf Bora4d bezogen, habe aber vergessen, ein @Bora4d vornedranzusetzen.
Tschuldigung

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Beitrag von Bora4d »

TupboPowerIpro kannst du vergessen, der kann nicht mal eine einfache gespeicherte Googleseite ordentlich darstellen. Aber THtmlViewer ist sehr gut wenn ich sehr tief verschachtelte Tabellen weglasse, er stellt fast wie IE dar. Hut ab!
Aus meinem Projekt wird später Editor, wenn er alles gut und schnell darstellen kann, wie ich hoffe. Ohne Tabellen, wozu brauche ich ein RTF-Editor?
Ich habe den von Windows nie verwendet, weil ohne Tabellen die Darstellung schlecht ist, kein Firma wäre für Serienbrieffunktion mit Möglichkeiten von Wordpad ähnlichen Editor im Firmenprogramm zu begeistern. Versucht mal einen Firmenbrief damit zu Schreiben, es geht, aber nicht nach Standard. Mit Tabellen und plazierbare-Controls kann man "meine Komponente" in DB-Anwendungen als WYSIWYG-Formular/-Editor/-Report verwenden. Tabellen sind wichtig für gute Dokumentengestalltung, ganze Interseiten bestehen aus Tabellen. Es soll noch extra Effekte wie Schattenschrift u.s.w. bekommen. "Mit so eine Komponente braucht man keine andere Komponenten mehr für GUI-Gestaltung." Ich benutze zur Zeit TWebbrowser für fast alle Anwendungen. Anstatt für ein DB-Programm viele Edits zur erstellen und zu verbinden gehts schneller ein HTML-Formular in TWebbrowser zu verwenden.

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

Beitrag von theo »

Dann portier doch den THtmlViewer auf Lazarus der ist jetzt in PD und da kannste noch $500 abholen:
http://wiki.lazarus.freepascal.org/Boun ... _.24500_US

Das wäre doch sinnvoll.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

TurboPower Ipro ist schon recht gut, bei komplexen CSS Statements macht er prbleme. Einfaches HTML z.b. 3.2 stellt er korrekt dar. Ich benutz es z.b. für HTML Mails und da gibts nur sehr selten Probleme.

Irgendwie kommt mir das etwas unausgegoren vor, vorhin schreibst du noch es ist dir zu langsam jetzt plötzlich nicht gut genug.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten