Seite 1 von 1

Auslesen einer Stringvariablen

Verfasst: 17.02.2006 10:25
von Ironsmurf
Hallo zusammen
BOBOBO war so nett mir ein Beispielprogramm für ein Chat Fenster zu geben. Leider sind bis jetzt alle Versuche fehl geschlagen, den Inhalt der Textvariablen zu ermitteln, die brauceh ich aber um eine if else schreiben zu können, wer ist so nett und schaut sich die Sache mal an.

Code: Alles auswählen

Enumeration 
    #Window_0 
    #LVIEW_0 
    #Eingabe
    #Key_Return 
    #Key_Escape
   EndEnumeration

If OpenWindow(#Window_0, 246, 14, 600, 600,  #PB_Window_SystemMenu | #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_TitleBar , "MAX - Der Butler") 
    If CreateGadgetList(WindowID()) 
        ListViewGadget(#LVIEW_0,5,5,585,555)
          StringGadget(#PB_Font_Bold |  #Eingabe, 5, 570, 585, 20, "") 
    EndIf
    AddKeyboardShortcut(#Window_0,#PB_Shortcut_Return,#Key_Return) 
    AddKeyboardShortcut(#Window_0,#PB_Shortcut_Escape,#Key_Escape) 
    For c = 0 To 500  ; 500 Einträge eintragen zum Nach-Unten-Schieben 
        AddGadgetItem(#LVIEW_0,c," ") 
    Next c 
EndIf 
Repeat 
    ActivateGadget(#PB_Font_Bold | #Eingabe)
    ;text$ = #Eingabe ; Fehlerhafte Zeile
    Event = WaitWindowEvent() 
    If EventMenuID()=#Key_Return
      SetGadgetFont(1, LoadFont(0, "Times New Roman", 14, #PB_Font_Bold)) 
        AddGadgetItem(#LVIEW_0,-1,GetGadgetText(#PB_Font_Bold |  #Eingabe)) 
        SetGadgetState(#LVIEW_0,CountGadgetItems(#LVIEW_0)-1) 
        SetGadgetState(#LVIEW_0,-1)
        SetGadgetText(#PB_Font_Bold | #Eingabe,"") 
    EndIf 
    If EventMenuID()=#Key_Escape 
        End 
    EndIf
    
    Debug #Eingabe ; auslesen der Variablen ergibt immer nur zahlen    
Until Event = #PB_Event_CloseWindow 
End 

Vielen Dank

Verfasst: 17.02.2006 11:14
von Jake

Code: Alles auswählen

Enumeration
    #Window_0
    #LVIEW_0
    #Eingabe
    #Key_Return
    #Key_Escape
   EndEnumeration

If OpenWindow(#Window_0, 246, 14, 600, 600,  #PB_Window_SystemMenu | #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_TitleBar , "MAX - Der Butler")
    If CreateGadgetList(WindowID())
        ListViewGadget(#LVIEW_0,5,5,585,555)
          StringGadget(#Eingabe, 5, 570, 585, 20, "")
    EndIf
    AddKeyboardShortcut(#Window_0,#PB_Shortcut_Return,#Key_Return)
    AddKeyboardShortcut(#Window_0,#PB_Shortcut_Escape,#Key_Escape)
    For c = 0 To 500  ; 500 Einträge eintragen zum Nach-Unten-Schieben
        AddGadgetItem(#LVIEW_0,c," ")
    Next c
EndIf
Repeat
    ActivateGadget(#Eingabe)
    text$ = GetGadgetText(#Eingabe)
    Event = WaitWindowEvent()
    If EventMenuID()=#Key_Return
      SetGadgetFont(1, LoadFont(0, "Times New Roman", 14, #PB_Font_Bold))
        AddGadgetItem(#LVIEW_0,-1,GetGadgetText(#Eingabe))
        SetGadgetState(#LVIEW_0,CountGadgetItems(#LVIEW_0)-1)
        SetGadgetState(#LVIEW_0,-1)
        SetGadgetText(#Eingabe,"")
    EndIf
    If EventMenuID()=#Key_Escape
        End
    EndIf
   
    Debug text$
Until Event = #PB_Event_CloseWindow
End
Das geht nicht, wenn du Flags angibst dann auch da wo die Flags hin kommen. Außerdem geht #PB_Font_Bold beim StringGadget nicht, da mußt du die Schrift vorher ändern.

Code: Alles auswählen

#PB_Font_Bold |  #Eingabe
Wenn du den Text schon in eine Variable schreibst (text$) dann muß du diese auch bei Debug angeben.

Code: Alles auswählen

Debug #Eingabe
Das gibt dir nur die Konstante zurück die in der Enumeration #Eingabe zugewiesen wurde.
Also entweder so:

Code: Alles auswählen

Debug text$
oder so:

Code: Alles auswählen

Debug GetGadgetText(#Eingabe)