stringgadget auslesen ?

Anfängerfragen zum Programmieren mit PureBasic.
Mathias-Kwiatkowski
Beiträge: 118
Registriert: 26.06.2005 23:06
Wohnort: Dinslaken

stringgadget auslesen ?

Beitrag von Mathias-Kwiatkowski »

hi ich möchte den string aus einem string gadget auslesen um ihn mit printn darzustellen, wie mache ich das, welchen befehl brauche ich?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

GetGadgetText

aber Printn ist für die Console, das steht nicht im zusammenhang mit Fenstern mit Gadgets...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Mathias-Kwiatkowski
Beiträge: 118
Registriert: 26.06.2005 23:06
Wohnort: Dinslaken

Beitrag von Mathias-Kwiatkowski »

ja ich weiss das das für die console ist, und thx für den befehl, hatte wohl ne rote brille auf oder so das ich das übersehn habe
Mathias-Kwiatkowski
Beiträge: 118
Registriert: 26.06.2005 23:06
Wohnort: Dinslaken

Beitrag von Mathias-Kwiatkowski »

sorry für den doppelpost, aber dazu noch eine frage wie kann man feststellen ob enter in einem StringGadget gedrückt hat?
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Das geht nicht direkt aber man kann dem Fenster global einen Shortcut zufügen. Der gilt dann allerdings immer egal welches Gadget gerade den Fokus hat. Deshalb sollte man ihn wieder entfernen sobald ein String Gadget den Fokus verliert.

Code: Alles auswählen

#IDM_ReturnKey = 101

OpenWindow(0,0,0,320,240,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
StringGadget(0,5,5,200,20,"")
StringGadget(1,5,30,200,20,"")
ButtonGadget(2,5,60,200,25,"untitled")

Repeat
	EventID = WaitWindowEvent()

	If EventID = #PB_Event_Gadget And GadgetType(#PB_GadgetType_String)
		If EventType() = #PB_EventType_Focus
			AddKeyboardShortcut(0,#PB_Shortcut_Return,#IDM_ReturnKey)
		ElseIf EventType() = #PB_EventType_LostFocus
			RemoveKeyboardShortcut(0,#PB_Shortcut_Return)
		EndIf		
	EndIf
	
	If EventID = #PB_Event_Menu
		Select EventMenu()
			Case #IDM_ReturnKey
			Debug "RETURN KEY PRESSED"
		EndSelect		
	EndIf
Until EventID = #PB_Event_CloseWindow
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

du kannst doch den Shortcut da lassen und einfach nachfragen wo das Enter gedrückt wurde :

Code: Alles auswählen

OpenWindow(0, 0, 0, 800, 600, "Fenster", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
 AddKeyboardShortcut(0, #PB_Shortcut_Return, 1)
 CreateGadgetList(WindowID(0))
  StringGadget(1, 10, 10, 200, 30, "")
  StringGadget(2, 10, 50, 200, 30, "")

Repeat
 Event = WaitWindowEvent()
 Select Event
  Case #PB_Event_CloseWindow
   End
  Case #PB_Event_Menu
   If EventMenu() = 1 
    Select GetActiveGadget()
     Case 1 : Debug "Enter gedückt im StringGadget 1"
     Case 2 : Debug "Enter gedückt im StringGadget 2"
    EndSelect
   EndIf
 EndSelect
ForEver
EDIT:
@NicTheQuick, jo ^^, ich sollte wieder schlafen gehen ^^
Zuletzt geändert von STARGÅTE am 19.03.2008 20:44, insgesamt 1-mal geändert.
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
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Ich würde es so machen:

Code: Alles auswählen

#IDM_ReturnKey = 101

OpenWindow(0,0,0,320,240,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
StringGadget(0,5,5,200,20,"")
StringGadget(1,5,30,200,20,"")
ButtonGadget(2,5,60,200,25,"untitled")
AddKeyboardShortcut(0,#PB_Shortcut_Return,#IDM_ReturnKey)

Repeat
  EventID = WaitWindowEvent()
  
  If EventID = #PB_Event_Menu
    Select EventMenu()
      Case #IDM_ReturnKey
        Select GetActiveGadget()
          Case 0
            Debug "Stringgadget 1:" + GetGadgetText(0)
          Case 1
            Debug "Stringgadget 2:" + GetGadgetText(1)
        EndSelect
    EndSelect      
  EndIf
Until EventID = #PB_Event_CloseWindow
///Edit:
Hey Stargate:
Wir beide in einem Forum ist nicht gut. Da gibts immer Doppelposts! :lol:
Antworten