RichEditCommands

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> RichEditCommands 1.1

Nett! Danke!

Einige Anmerkungen:

Die Extra-Zuweisung in manchen Prozeduren machen keinen Sinn
und in manchen Prozeduren deklarierst Du interne Variablen als
Protected, in manchen nicht.

Beispielsweise:

Code: Alles auswählen

ProcedureDLL Editor_GetCursorX(Gadget_ID)  
  REG = Gadget_ID 
  SendMessage_(REG,#EM_EXGETSEL,0,Range.CHARRANGE) 
  ProcedureReturn (Range\cpMax-(SendMessage_(REG,#EM_LINEINDEX,SendMessage_(REG,#EM_EXLINEFROMCHAR,0,Range\cpMin),0))+1) 
EndProcedure

... ändern in ...

Code: Alles auswählen

ProcedureDLL Editor_GetCursorX(Gadget_ID)  
  Protected Range.CHARRANGE
  SendMessage_(Gadget_ID,#EM_EXGETSEL,0,Range) 
  ProcedureReturn (Range\cpMax-(SendMessage_(Gadget_ID,#EM_LINEINDEX,SendMessage_(Gadget_ID,#EM_EXLINEFROMCHAR,0,Range\cpMin),0))+1) 
EndProcedure 


und last, but not least. Schreibe in die erste Zeile Deines Sources ein
EnableExplicit.

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

Beitrag von DW »

UFF! Hab jetzt alles korrigiert.
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

DW hat geschrieben:UFF! Hab jetzt alles korrigiert.
den Link musste auch noch aktualisieren ;-)
a²+b²=mc²
DW

Beitrag von DW »

Hab ich.
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

DW hat geschrieben:Hab ich.
OK, jetzt funktioniert der Download wieder.

Nochmal: Die Zuweisung mancher Variablen mach keinen Sinn. Wozu
benötigst Du in der folgenden Prozedur die Variable REG? Des weiteren:
Wenn Du einen Variablentyp in Protected zugewiesen hast, dann brauchst
Du in im Aufruf nicht noch einmal zu schreiben.

Code: Alles auswählen

ProcedureDLL Editor_GetCursorX(Gadget_ID)
Protected Range.CHARRANGE
Protected REG = Gadget_ID 
SendMessage_(REG,#EM_EXGETSEL,0,Range.CHARRANGE) 
ProcedureReturn (Range\cpMax-(SendMessage_(REG,#EM_LINEINDEX,SendMessage_(REG,#EM_EXLINEFROMCHAR,0,Range\cpMin),0))+1) 
EndProcedure
besser ist das:

Code: Alles auswählen

ProcedureDLL.l Editor_GetCursorX(Gadget_ID.l)
  Protected Range.CHARRANGE
  SendMessage_(Gadget_ID,#EM_EXGETSEL,0,Range) 
  ProcedureReturn (Range\cpMax-(SendMessage_(Gadget_ID,#EM_LINEINDEX,SendMessage_(Gadget_ID,#EM_EXLINEFROMCHAR,0,Range\cpMin),0))+1) 
EndProcedure
Und noch ein Vorschlag: Alle überflüssigen Leerzeilen raus und an
geeigneten Stellen Leerzeilen rein. So wird der Code lesbarer. Und bitte
die Codeeinrückung nicht vergessen ;-)

Grüße ... Kiffi
a²+b²=mc²
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

schätze mal, das liegt auch daran, dass ca.50% importierter code von anderen codern ist.
da muss man echt ne weile dran rumeditieren, um alles auf ne klare linie zu bringen.

@DW
weiter so :allright:
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DW

Beitrag von DW »

Jap. Das mit Reg z.B ist von einem anderen coder.
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

DW hat geschrieben:Jap. Das mit Reg z.B ist von einem anderen coder.
Hoffen wir mal, dass er nix dagegen hat, wenn Du das als Compilation
veröffentlichst ;-)

Du solltest auf jeden Fall beim zusammenstellen von Codes anderer darauf
achten, unsinniges Zeug herauszulöschen. Einfaches Copy&Paste macht hier
keinen Sinn.

Grüße ... Kiffi
a²+b²=mc²
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 »

Hier ist noch meine Version für PB3.94 (kaum Änderungen nötig)
Der Datei ist vom 05.04.2004

Die einzeiligen Proceduren (welche, wo nur ein SendMessage drinn ist) sind
besser durch Macros zu ersetzen.

Die Sourcen sind von freak, A. Miethe und anderen (auch mir :mrgreen: )

http://ts-soft.eu/dl/editorgadgetplus.zip
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
DW

Beitrag von DW »

Warum machst du keinen neuen thread auf?
Einfaches Copy&Paste macht hier
keinen Sinn.
Ist ja nich bei den ganzen 50% so. Hab auch einiges verbessert. Wie TExtFind etc.
Zuletzt geändert von DW am 20.10.2006 17:29, insgesamt 2-mal geändert.
Antworten