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
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Die PBID ist die interne ID von Purebasic. Bei Sendmessage muss aber das Handle von den Objekt übergeben werden.

FF :doh:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

mk-soft hat geschrieben:Die PBID ist die interne ID von Purebasic. Bei Sendmessage muss aber das Handle von den Objekt übergeben werden.

FF :doh:
:lol: :lol: Ich kugel mich gleich :lol: :lol: . Zuviel #PB_Any benutzt was?

Edel: Nur wenn #PB_Any benutzt wird, wird die PB ID zurückgegeben. Ansonsten wird ganz normal das Window-Handle zurückgeliefert, wie immer.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

DarkDragon hat geschrieben:
mk-soft hat geschrieben:Die PBID ist die interne ID von Purebasic. Bei Sendmessage muss aber das Handle von den Objekt übergeben werden.

FF :doh:
:lol: :lol: Ich kugel mich gleich :lol: :lol: . Zuviel #PB_Any benutzt was?

Edel: Nur wenn #PB_Any benutzt wird, wird die PB ID zurückgegeben. Ansonsten wird ganz normal das Window-Handle zurückgeliefert, wie immer.
:? Ich habe keine Ahnung was du mir damit sagen wolltest...
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

edel hat geschrieben:
DarkDragon hat geschrieben:
mk-soft hat geschrieben:Die PBID ist die interne ID von Purebasic. Bei Sendmessage muss aber das Handle von den Objekt übergeben werden.

FF :doh:
:lol: :lol: Ich kugel mich gleich :lol: :lol: . Zuviel #PB_Any benutzt was?

Edel: Nur wenn #PB_Any benutzt wird, wird die PB ID zurückgegeben. Ansonsten wird ganz normal das Window-Handle zurückgeliefert, wie immer.
:? Ich habe keine Ahnung was du mir damit sagen wolltest...
WindowHandle = StringGadget(0, ...)
!aber!
PBID = StringGadget(#PB_Any, ...)

[EDIT]
Oh ich dachte der erste Code wäre der Code von mk-soft zitiert. Sorry für das Misverständnis...
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

DarkDragon hat geschrieben:
edel hat geschrieben:
DarkDragon hat geschrieben: :lol: :lol: Ich kugel mich gleich :lol: :lol: . Zuviel #PB_Any benutzt was?

Edel: Nur wenn #PB_Any benutzt wird, wird die PB ID zurückgegeben. Ansonsten wird ganz normal das Window-Handle zurückgeliefert, wie immer.
:? Ich habe keine Ahnung was du mir damit sagen wolltest...
WindowHandle = StringGadget(0, ...)
!aber!
PBID = StringGadget(#PB_Any, ...)

Na du bist ja suess, jetzt musste ich doch echt lachen :D

Ne mal im Ernst. Es war ueberhaupt nicht die Rede davon, was Stringgadget zurueck gibt, sondern was Sendmessage_ braucht.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

edel hat geschrieben:
DarkDragon hat geschrieben:
edel hat geschrieben: :? Ich habe keine Ahnung was du mir damit sagen wolltest...
WindowHandle = StringGadget(0, ...)
!aber!
PBID = StringGadget(#PB_Any, ...)

Na du bist ja suess, jetzt musste ich doch echt lachen :D

Ne mal im Ernst. Es war ueberhaupt nicht die Rede davon, was Stringgadget zurueck gibt, sondern was Sendmessage_ braucht.
Eben, das führte mich ja zum Misverständnis. Ich dachte du zitierst mk-soft mit diesem Code:

Code: Alles auswählen

  Define.l hwnd = OpenWindow(0,0,0,500,500,"")
 
  CreateGadgetList(hwnd)
 
  Define.l hEdit = StringGadget(0,0,0,500,500,"",#ES_MULTILINE|#WS_HSCROLL|#WS_VSCROLL)
 
  SendMessage_(hEdit,#EM_SETMARGINS,#EC_LEFTMARGIN,100)
 
  Repeat
  Until WaitWindowEvent() = #WM_CLOSE 
Und dachte du sagtest er wäre falsch, da müsse man GadgetID() verwenden:

Code: Alles auswählen

SendMessage_(Gadgetid(#Edit)[...] 
Das sagtest du aber garnicht, ich habe es aber so gelesen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Update v1.05: Randeinstellung hinzugefügt. Kommentare erweitert (noch immer nicht fertig)

Keine Panik
Hatte nur vergessen GadgetID(#Edit) einzusetzen bei SendMessage(...)

FF :wink:

P.S. Das Hande von StringGadget keiner Variable zugewiesen.
Zuletzt geändert von mk-soft am 10.09.2006 15:24, insgesamt 1-mal geändert.
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 »

Schoen , jetzt noch Zeilennummern und simples syntax highlighting ;-)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

besseres kommentieren/dokumentieren hätte imho priorität...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Dann kann ich "Einfacher Texteditor" durchstreichen :mrgreen:

@Kaeru Gaman
jup
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Antworten