ich vermute mal, mit programmierstil meint er die art des zugriffs, die anscheinend nur unter XP funktioniert.
ansonsten kann ich in deinem code keine stilschwächen entdecken.
my opinion. stilfragen sind immer so ne sache...
String Gadget
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Quaxi hat geschrieben:Nun danke erstmals für die ganzen Antworten, aber es funzt trozdem noch nicht richitg:
So deklariere ich das String-Gadget:
StringGadget(#txt_protokoll, 170, 20, 380, 325, "", #PB_String_ReadOnly | #PB_String_MultiLine | #WS_VSCROLL | #ES_AUTOVSCROLL )
Und mit folgendem Code schreibe ich eine neue Zeile hinein:Nachdem diesese Procedur aufgerufen wurde und die Zeile hinzugefügt wurde scrollt das String Gadgte allerdings nicht mit.Code: Alles auswählen
Procedure myProc_AddLineToProtocoll(str_LineToAdd.s) ;Funktion die einen Eintrag in die Protokoll Liste durchführt SetGadgetText(#txt_protokoll, GetGadgetText(#txt_protokoll) + Chr(13) + Chr(10)+ "--> " + str_LineToAdd) EndProcedure
Code: Alles auswählen
Procedure myProc_AddLineToProtocoll(str_LineToAdd.s) ;Funktion die einen Eintrag in die Protokoll Liste durchführt
SetGadgetText(#txt_protokoll, GetGadgetText(#txt_protokoll) + Chr(13) + Chr(10)+ "--> " + str_LineToAdd)
SendMessage_(GadgetID(#txt_protokoll),#EM_LINESCROLL,0,SendMessage_(GadgetID(#txt_protokoll),#EM_GETLINECOUNT,0,0))
EndProcedure

[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Weil man es so nicht machen sollte. Es funktioniert bei XP. Aber es funktioniert nicht bei Win9x und ob es noch bei Longhorn funktioniert ist auch fraglich. Besser:DarkDragon hat geschrieben:Warum soll das ein schlechter Programmierstiel sein? So ist alles bei mir aufgebaut.GPI hat geschrieben:UND LÖSCH BITTE DAS BEISPIEL OBEN AUS DEINER SAMMLUNG. Es ist ein sehr schlechter Programmierstiel.
Code: Alles auswählen
Procedure EditorGadgetEnableTextWarp(Id); - Activate the automatic word-warp for a EditorGadget
GID=GadgetID(Id)
dc=GetWindowDC_(GID)
SendMessage_(GID, #EM_SETTARGETDEVICE ,dc ,-1)
ReleaseDC_(GID,dc)
EndProcedure
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Was heißt hier muss? Gut dich einfach 'n bisl bei http://msdn.microsoft.com/ um. (musst du eh irgendwann machen wenn du unter Windows proggen willst..)

[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Also erstens braucht er nur einen MultiLine StringGadget mit Scrollbalken und keinen EditorGadget mit word-wrap, der eh nicht funktioniert. WordWrap heißt für mich Zeilenumbruch, sobald ein Wort die Maximal X Position überschreitet.GPI hat geschrieben:Weil man es so nicht machen sollte. Es funktioniert bei XP. Aber es funktioniert nicht bei Win9x und ob es noch bei Longhorn funktioniert ist auch fraglich. Besser:DarkDragon hat geschrieben:Warum soll das ein schlechter Programmierstiel sein? So ist alles bei mir aufgebaut.GPI hat geschrieben:UND LÖSCH BITTE DAS BEISPIEL OBEN AUS DEINER SAMMLUNG. Es ist ein sehr schlechter Programmierstiel.Code: Alles auswählen
Procedure EditorGadgetEnableTextWarp(Id); - Activate the automatic word-warp for a EditorGadget GID=GadgetID(Id) dc=GetWindowDC_(GID) SendMessage_(GID, #EM_SETTARGETDEVICE ,dc ,-1) ReleaseDC_(GID,dc) EndProcedure
Und ein schlechter Programmierstil wäre z.B. sowas:
Code: Alles auswählen
OpenConsole()
If t=0 And o=0
PrintN("blubb")
Select m
Case o
PrintN("o")
Case t
For k=0 To 10
PrintN("t"+Str(k))
Next
EndSelect
EndIf
Für dich ist dann sowas wie Unkompatibilität schlechter Programmierstil.
[EDIT] gut dann mach du erstmal jaPBe für Linux.
Ich hab kein Win9x, woher soll ich denn wissen was wo kompatibel ist? In der MSDN schau ich sicher nicht nach, wenns bei mir schon immer so geklappt hat.
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.