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

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
uweb
Beiträge: 461
Registriert: 13.07.2005 08:39

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

Beitrag 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
Zuletzt geändert von uweb am 12.03.2016 13:24, insgesamt 1-mal geändert.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: merkwürdige Reihenfolge bei Ausgabe im EditorGadget

Beitrag 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.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: merkwürdige Reihenfolge bei Ausgabe im EditorGadget

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
uweb
Beiträge: 461
Registriert: 13.07.2005 08:39

Re: merkwürdige Reihenfolge bei Ausgabe im EditorGadget

Beitrag von uweb »

Das ist bei mir unter gegangen.
Danke!
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

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

Beitrag 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.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten