| |
|
|
- Seite 1 - |
|
Dieter Zornow | Hier mein zweiter Wettbewerbsbeitrag
Download
Ich habe mich mal mit dem Richedit befasst und eine PCU geschrieben, die das ganze Handling stark vereinfachen soll. Es sind 99 Funktionen enthalten, mit vielen Features wie zoomen, das komplette Handling einschließlich der Dialoge für Suchen und Suchen und Ersetzen sowie verschiedene Bullets Zeilenumbruch, ein Kontextmenü und drucken, hoffe dass das Drucken überall funktioniert, da ich nur mit dem PDF-Printer getestet habe Dabei ist eine, wie ich meine, gute Dokumentation und ein Beispielprogramm als prf das die Funktionen lauffähig zeigt, so dass es kinderleicht sein sollte sie zu nutzen. Ich habe Wert darauf gelegt immer das komplette Handling einer Funktion zu integrieren, so dass das meiste mit einem Aufruf abgedeckt ist, sowie die Anzahl der Parameter so gering als möglich zu halten, meistens wird nur das Handle des Richedits übergeben. Es ist kein Subclassing vorhanden, da ich die PCU ab XProfan 8.0 lauffähig machen wollte. Da ich keine 8 er Version installiert habe, müssen Tests zeigen ob es mir gelungen ist. Auch im Beispielprogramm habe ich mich bemüht nur Befehle der 8.0 Version zu nutzen, kenne aber den Befehlsumfang nicht genau. Unter Version 11 läuft aber alles. Bilder einfügen ist ebenfalls noch nicht integriert, da mir aus Zeitgründen der Aufwand zu groß war. Kommt aber noch, wie es meine Zeit erlaubt. Vorschläge und Kritik zur Weiterentwicklung sind willkommen.
Im Paket enthalten sind
Demo.prf, Ein Demonstartionsprogramm für Möglichkeiten der PCU Dokumentation.chm, Die Dokumentation der 99 Funktionen. Dokumentation.rtf, Die Dokumentation als RTF-Datei MinitextPad.zip, Ein kleiner Editor den ich zur Demonstartion geschrieben habe (als Exe) RTFHandling.def, Die von XPSE erzeugte Definationsdatei, RTFHandling.pcu, Die PCU RTFHandling.html Die von XPSE erzeugte Hilfe.
Gruß
Dieter |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 24.11.2008 ▲ |
|
|
|
| |
|
- Seite 3 - |
|
|
| Funktioniert richtig gut das Ganze - einen schweigvollen Absturz mit XProfan 11.1 jedes Mal beim Beenden des Programmes habe ich aber dennoch.
XPSE:> Ausfuehren: Exit-Code: -1073741819 [fehler]
Nachtrag: Die mitgelieferte Minitextpad.exe ist auch klasse hehe! Aber auch hier beim Beenden ein "Absturz". |
|
|
| |
|
|
|
Dieter Zornow | Seltsam, ich hatte noch nie einen Absturz und Minitextpad verwende ich inzwischen anstatt Notepad also sehr oft. Kann es sein, dass da in XPSE noch ein Fehler steckt. Ich habe auch in der neuesten Version noch Fehler beim Syntaxcheck entdeckt. |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 04.12.2008 ▲ |
|
|
|
|
| Fehler im XPSE können immer sein, aber ich habe ja Deine Exe genutzt und selbst keine hergestellt. |
|
|
| |
|
|
|
Thomas Freier | @Dieter, tolle Arbeit. Ein Durchtesten wird noch dauern. Beim Beenden bekomme ich auch eine Fehlermeldung. Habe sie erst einmal durch Einsatz von DestroyWindow(%hwnd) behoben. Beim Weiterbearbeiten vorhandener Anwendungen mit XProfan 11 habe ich öffters das Problem beim Beenden. Ich vermute XProfan 10 war bei der Speicherverwaltung für die Bereichsvariablen humaner. Ich gebe sie jetzt sofort nach dem Einsatz wieder frei und habe momentan kein Problem mehr. Ich habe es nicht ganz verstanden und getestet: die Font-Daten werden nur bei einem markierten Textteil erfasst oder auch an der Curserposition auf dem rtf-Edit? Nachdem du das Einfügen von Objekten realisiert hast, wie sieht es mit einer Tabelle aus? Vielleicht als Beitrag 2009. (Die beigefügte ist eine *.rtf) |
|
|
| |
|
|
|
Dieter Zornow | Das mit dem Absturz ist wirklich seltsam, da ich es nicht nachvollziehen kann, kann ich auch nicht danach suchen. Die Bereichsvariblen setzte ich auch immer wieder sofort zurück, bis auf die Objecte, die können erst beim Verlassen freigegeben werden. @Thomas Stimmt bei den Fontnamen habe ich nur SCF_Selection sollte noch SCF_Word dazuaddieren war ein versehen Das ist der Tabelle werde ich mir mal ansehen, ob mir dazu was einfällt, vielleicht nächstes Jahr. |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 05.12.2008 ▲ |
|
|
|
|
Dieter Zornow | Ich habe nun die Datei (PCU) im ersten Posting erneuert, zur endgültigen Version. Es sind nur ein paar Detailverbesserungen enthalten. Ich wollte noch eine Druckvorschau integrieren, konnte es aber nur auf meinem Drucker testen, so dass es mir zu unsicher war, das zu übernehmen. Im beigelegten Minitextpad ist sie mal ansatzweise zum Testen enthalten.
Den Fehler beim Beenden konnte ich nun auf meinem Notebook nachvollziehen. Es war kein Programmierfehler, sondern die Reihefolge beim Aufräumen der beiden PCUs. Es muss unbedingt die folgende Reihenfolge eingehalten werden, sonst kommt der Fehler. Ist nun auch in der Dokumentation vermerkt.
R_DEINITRTF(ed&,hdc&,dll&) Aufräumen handlings.pcu
R_DeInit_object() Aufräumen objects.pcu
deleteobject font& eventueller Font
Destroywindow(%hwnd) Zerstören des Hauptfenster
End
Seltsamerweise konnte ich den Fehler auf meinem Haupt-PC nicht nachvollziehen obwohl auf beiden Windows XP installiert ist. |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 14.12.2008 ▲ |
|
|
|
|
| @Dieter
Seltsamerweise konnte ich den Fehler auf meinem Haupt-PC nicht nachvollziehen obwohl auf beiden Windows XP installiert ist.
Da waren wir uns doch in einem früheren Thread schon einig: "Windows-Computer" entwickeln ein Eigenleben ! ...oder soll ich sagen: Charakter ? |
|
|
| |
|
|
|
Dieter Zornow | Musste doch noch ein Update vornehmen, da ich ein paar Funktionen, bei denen ich dachte sie schon dabei zu haben, noch hinzugefügt habe.
Änderungen zur Vorversion
Bei GotoLinenumber wird nun auch der Cursor an den Beginn der Zeile gesetzt.
Kleiner Fehler beim Setzen der Fontgröße bereinigt, Schrift war um einen Punkt zu klein. Bei 12 wurde echt nur z.B. 11 eingestellt. Fehler im Multiplikator.
Neue Funktionen
ColorSelection Färbt den Texthintergrund eines markierten Wortes oder Bereiches, markiert also
RTFSetCaretPosition Setzt den Cursor an die gewünschte Stelle
GetEntireTextSize gibt die Größe des eingestellten Fonts zurück . GetMarkedTextSize gibt die Fontgröße des markierten Bereiches zurück
Im beiliegenden Minitextpad die neuen Funktionen intergriert und auch dort ein paar Fehler bereinigt. |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 19.12.2008 ▲ |
|
|
|
|
Dieter Zornow | ich habe mal meine RTFHandlingsPCU vom letzten Jahr etwas erweitert. Download im ersten Posting wurde erneuert. Es wurden gegenüber der letztens in der falschen Rubrik geposteten PCU noch einige Änderungen vorgenommen.
Neue Funktionen
SETTEXTEX Setzt einen Textstring je nach Parametern entweder Unicodetext oder Ansitext kann den ganzen Text oder nur den markierten Text ersetzen.
GETTEXTEX Holt markierten Text in einen String, Unicode oder Ansicode
LOADUNICODE Läd eine Unicodedatei in das Richedit
SAVEUNICODE Speichert jede Art von Text in eine Unicodetextdatei Mit den beiden Funktionen kann man auch Text konvertieren Unicode geladen und normal abspeichern oder Normaltext laden und Unicode abspeichern.
ISUNICODE Überprüft einen String ob es Unicode oder Ansicode ist basiert auf der API "IsTextUnicode" arbeitet nicht zuverlässig aber erkennt zuverlässig eine Unicode-Datei die mit chr$(255)+Chr$(254) beginnt Kopierter Text aus einem Unicode-Dokument oder aus einem Unicodestring wird nicht immer als solcher erkannt
Checkunicode Hiermit kann vor dem Laden festgestellt werden ob es sich um Unicode handelt.
Die beiden alten Funktionen Uniload und textload erkennen jetzt ob es Unicode ist und laden entsprechend
RTFLoadPicture wurde um einen zweiten optionalen Parameter erweitert. Wird nur das Handle des Richedits übergeben erscheint ein Ladedialog um ein Bild zu laden. Wird als zweiter Parameter der Pfad zu einem Bild angegeben, so wird diese sofort angezeigt ohne den Ladedialog.
Weitere Erklärungen in der beigefügten Dokumentation. Bitte testen |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 07.09.2009 ▲ |
|
|
|
|
Thomas Freier | Hallo Dieter, dass mit dem Bild einfügen geht ja jetzt wunderbar, aber leider ist eine NEUE.rtf nur mit Bild nicht druckbar. Es muß min. eine Leerzeile erzeugt werden. Lass es doch den Anwender entscheiden, ob er ein leeres Blatt drucken will oder nicht. Für Interessierte: ich wollte eine Bildschirm-Hardcopy, die größer als A4 ist, drucken. Druck über eine nicht sichtbares RTF-Edit erzeugte bessere Druckerausgabe als direkt über @Create("hSizedPic", N1, S, DX, DY, N2). Interessant auch jetzt die Unicode Anwendung. Hatte da noch zum Test etwas liegen (Screen.png) und konnte den Text (Screen.pdf) -Fehlermeldung oder ist es der Text?- nicht lesen. Dass der Text nicht Ansi und nicht Unicode war, konnte ich feststellen. Was war es? |
|
|
| |
|
|
|
Dieter Zornow | Hallo Thomas,
kannst du mir diese Datei mit den komischen Zeichen einmal zuschicken zum Testen, nicht als PDF. So etwas könnte herauskommen wenn der Zeichencode der Datei nicht erkannt wird, da dann ein Flag undefiniert ist. Das mit dem Drucken muss ich mir mal anschauen, wenn in eine neue Datei ein Bild eingefügt wird, muss mindestens ein Return danach erfolgen,aber keine Leerzeile dann wird es gedruckt. |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 08.09.2009 ▲ |
|
|
|
|
Thomas Freier | Mach ich, es ist eine UTF-8.txt |
|
|
| |
|
|