Seite 1 von 1

[erl.] merkwürdige Reihenfolge bei Ausgabe im EditorGadget

Verfasst: 12.03.2016 12:51
von uweb
Wenn das EditorGadget so breit ist, dass kein Zeilenumbruch auftritt gibt es kein Problem.

Code: Alles auswählen

Enumeration
  #Input
  #ClientLog
  #ServerLog
EndEnumeration

Define ClientLogZeile, ServerLogZeile, StringInput.s

Macro Log(GadgetName,Text)
  AddGadgetItem(#GadgetName, GadgetName#Zeile, Str(Eintrag)+" - "+Text)
  GadgetName#Zeile + 1
  Eintrag+1
EndMacro

Breite = 320
;Breite = 400

If OpenWindow(0, 0, 0, Breite, 320, "Network Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  StringGadget(    #Input, 10,  10, Breite-20, 20, "")
  EditorGadget(#ClientLog, 10,  40, Breite-20, 130, #PB_Editor_ReadOnly|#PB_Editor_WordWrap)
  EditorGadget(#ServerLog, 10, 180, Breite-20, 130, #PB_Editor_ReadOnly|#PB_Editor_WordWrap)
  
  AddKeyboardShortcut(#Input, #PB_Shortcut_Return, 42)
  SetActiveGadget(#Input)
  
  If  InitNetwork()<>0
    Log(ClientLog, "Das Netzwerk wurde initialisiert. (betrifft Client und Server)") : Eintrag=0
    Log(ServerLog, "Das Netzwerk wurde initialisiert. (betrifft Client und Server)")
    Server=CreateNetworkServer(#PB_Any, 6500, #PB_Network_TCP) 
    
    If  Server
      Log(ServerLog, "Der Server wurde erstellt.")
      ;CreateThread(@ServerReceive(), parameter)
      
      Verbindung=OpenNetworkConnection("localhost", 6500, #PB_Network_TCP)
      If  Verbindung
        Log(ClientLog, "Der Client hat Verbindung zum Server aufgenommen.")
        
        ; Dummy-Ausgabe
        Log(ClientLog, "Der Client hat Verbindung zum Server aufgenommen.")
        Log(ClientLog, "Der Client hat Verbindung zum Server aufgenommen.")
        Log(ClientLog, "Der Client hat Verbindung zum Server aufgenommen.")
        Log(ClientLog, "Der Client hat Verbindung zum Server aufgenommen.")
        Log(ClientLog, "Der Client hat Verbindung zum Server aufgenommen.")
        Log(ClientLog, "Der Client hat Verbindung zum Server aufgenommen.")
        Log(ClientLog, "Der Client hat Verbindung zum Server aufgenommen.")
        Log(ClientLog, "Der Client hat Verbindung zum Server aufgenommen.")
        Log(ClientLog, "Der Client hat Verbindung zum Server aufgenommen.")
        Log(ClientLog, "Der Client hat Verbindung zum Server aufgenommen.")
        
        Repeat
          Select WaitWindowEvent()
              
            Case #PB_Event_Menu
              Select EventMenu()
                Case 42
                  If GetActiveGadget() = #Input
                    StringInput = GetGadgetText(#Input) : Debug StringInput
                    SetGadgetText(#Input, "")
                  EndIf
              EndSelect
              
            Case #PB_Event_CloseWindow
              Quit = 1
              
            Case #PB_Event_Gadget
              
              Select EventGadget()
                Case #Input         
              EndSelect
              
          EndSelect
          
        Until Quit = 1      
      EndIf   ; Verbindung
    EndIf     ; Server
  EndIf       ; InitNetwork
EndIf         ; OpenWindow

Re: merkwürdige Reihenfolge bei Ausgabe im EditorGadget

Verfasst: 12.03.2016 13:08
von STARGÅTE
Wenn du beim EditorGadget das WordWrap einschaltest, dann entsprecht jeder Wrap in der aktuellen Ausgabe einer neuen Zeile, was natürlich zu verschiedenen Absätzen und Zeilen führt.
Um immer an Ende zu schreiben gibt es #PB_Default als Zeile.

Re: merkwürdige Reihenfolge bei Ausgabe im EditorGadget

Verfasst: 12.03.2016 13:16
von RSBasic
STARGÅTE hat geschrieben:Um immer an Ende zu schreiben gibt es #PB_Default als Zeile.
Woher hast du die Information, dass man #PB_Default verwenden soll? Weder in deutscher noch englischer Hilfe steht, dass man #PB_Default verwenden soll, sondern -1.
AddGadgetItem() hat geschrieben:Um diesen Eintrag am Ende der aktuellen Eintrag-Liste hinzuzufügen, benutzen Sie einen Wert von -1.
Die Konstante hat zwar zufällig ebenfalls den Wert "-1", aber wenn es so nicht dokumentiert ist, würde ich nicht freiwillig diese Konstante verwenden. Mag zwar jetzt funktionieren, aber ist nicht zukunftssicher, falls sich der Wert der Konstante irgendwann ändern sollte.

Re: merkwürdige Reihenfolge bei Ausgabe im EditorGadget

Verfasst: 12.03.2016 13:22
von uweb
Das ist bei mir unter gegangen.
Danke!

Re: [erl.] merkwürdige Reihenfolge bei Ausgabe im EditorGadg

Verfasst: 12.03.2016 14:06
von STARGÅTE
@RSBasic:
Ja richtig. Den "Fehler" mach ich auch bei PokeS() und PeekS() bei der Längenangabe, n Angewohnheit, die sich schwer abgewöhnen lässt.