Dokumentiertes Beispiel für ein Editor (Tutorial - Editor)

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

mk-soft hat geschrieben:Dann kann ich "Einfacher Texteditor" durchstreichen :mrgreen:

@Kaeru Gaman
jup
Nee, einfacher reicht. :mrgreen:
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Eckhard.S
Beiträge: 136
Registriert: 22.07.2006 17:19
Wohnort: Meschede/Sauerland

Beitrag von Eckhard.S »

Klasse, der Editor! Ich bin erstaunt wie überichtlich der Code durch die Prozeduren ist und Menüerzeugung mit ;-TOP usw. habe ich dabei auch gelernt. Prima! :D

Mal ein paar Anfängerfragen und Update-Vorschläge von meiner Seite, weil ich den Editor auch gut für Esperanto-Aufgaben verwenden könnte:

Der Editor ist definiert als

Code: Alles auswählen

StringGadget(#Edit, 0, 0, 0, 0, "", Style)

Er nimmt dann keine Sonderzeichen wie ĈĜĤĴŜŬĉĝĥĵŝŭ an.

Ersetzt man die Zeile durch ein

Code: Alles auswählen

EditorGadget(#Edit,0,0,0,0) 
dann geht es und auch Sonderzeichen selbst japanische 色は匂 funktionieren.

Warum wurde das StringGadget genommen? Was ist der Unterschied zwischen den beiden Gadgets?

Als zweites würde ich gerne haben, wenn man "ALT c" drückt, dass dann das ĉ als Buchstabe erscheint und bei "ALT SHIFT c" das Ĉ. Dazu habe ich keine Idee, wie man das realisieren kann.

Und zuletzt der Update-Vorschlag: Wenn jemand hübsche japanische Zeichen eingegeben hat, dann wäre es prima, wenn man den Text als RTF abspeichern könnte und wieder laden. Das EditorGadget kann das ja interpretieren.
Viele Grüße aus dem Sauerland
Eckhard

PureBasic 4.0 Vollversion, WinXP
Make a better world :D
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Warum wurde das StringGadget genommen?
Weils besser für Anfänger geeignet ist. Die Möglichkeiten des EditorGadgets
sind zwar erheblich mehr, aber dazu ist viel API erforderlich.

Dieses Beispiel sollte möglichst Komplett mit wenig API Funktionieren.

Ausserdem wäre das EditorGadget hierbei wie mit Kanonen auf Spatzen
schießen, was sich aber nicht immer vermeiden läßt :D
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Purethom
Beiträge: 50
Registriert: 21.09.2004 05:41
Wohnort: Berlin

Beitrag von Purethom »

Hallo MK-Soft,

erst einmal vielen Dank für deinen dokumentierten Editor. Ich konnte jede Menge an Infos für meine eigenen Projekte rausfiltern, viele Einzelfragen wurden auf einen Schlag geklärt. Was mir momentan noch fehlt ist ein ein- und abschaltbarer Zeilenumbruch, ähnlich dem des Notepads von Windows. Wenn du das noch dokumentiert einbauen könntest wäre zumindest ich erst einmal total zufrieden.

In der Hoffnung, das du meinem Wunsch nachkommst sende ich Grüße

PureThom

May the PureForce be with you!
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Das Beispiel ist ja mit den "StringGadget" geschrieben und somit nicht möglich.
Suche mal nach EditorGadget (RichEdit)

FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Update v1.06

Programparameter hinzufügt. Verknüpfung mit Textdateien jetzt möglich

FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

mk-soft hat geschrieben:Das Beispiel ist ja mit den "StringGadget" geschrieben und somit nicht möglich.
Suche mal nach EditorGadget (RichEdit)

FF :wink:
Natuerlich ist das moeglich , beste Beispiel ist doch eben NotePad.
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

In der API Beschreibung sind alle Wordwrap Funktionen bezogen auf das Richedit. Alternativ für das StringGadget die Funktionen selber schreiben.

FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Update v1.07

Repariert: Tastaturkürzel Strg-A (Alles Markieren) ging nicht

FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Verbesserungsvorschlag: Sofern programmtechnisch nichts dagegen
einzuwenden ist, alle OpenFile() durch ReadFile() ersetzen.

OpenFile() birgt gerade für Newbies ein hohes Fehlerpotential und macht nur in
Spezialfällen (wie z.B. Log-Schreiben) einen Sinn.

Grüße ... Kiffi
a²+b²=mc²
Antworten