StringGadget()

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

StringGadget()

Beitrag von Tsuki-Namida »

Hallo,
ich bastle an einem Tool das mir und in der Hauptsache eines Bekannten den Server Status meines Home Servers ausgeben soll.
Man kann aber auch noch Server hinzufügen.

Das hinzufügen eines Servers habe ich so gemacht das man Server-Adresse (oder IP) und Port separat in einem StringGadget() angeben muss.
Wenn aber der Anwender in dem Gadget für die Adresse den Port angeben möchte soll er dann automatisch in den Gadget für den Port gelangen.

Also um es Bildlich darzustellen hier noch ein Beispiel:
Vorgesehene Variante
Server: www.Server.de / Server.de / 127.0.0.1 / localhost (/ Trennzeichen für Beispiel)
Port: 70
Andere Variante:
Server: Server.de:70 <----Ich überprüfe das Gadget wären der Anwender die Adresse eingibt, ist ein : (Doppelpunkt) zu finden wird er gelöscht und der Benutzer schreibt automatisch in dem Gadget für den Port weiter.
Port:70 <---- Hier schreibt der Benutzer automatisch weiter.

Ich hoffe es wird richtig verstanden wo nach ich suche...
Noch mal ganz kurz gesagt, ich suche nach einem Befehl bzw. einer Variante das Automatisch ein Gadget Aktiviert wird

Ich hoffe mir kann geholfen werden....
Lieben Dank hier schon mal
Bild
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: StringGadget()

Beitrag von TomS »

SetActiveGadget() ?

Code: Alles auswählen

Enumeration 
	#text_server
	#text_port
	#gadget_server
	#gadget_port
EndEnumeration

If OpenWindow(0, 100, 200,300,70, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)

TextGadget(#text_server,5,13,35,14,"Server:")
StringGadget(#gadget_server,45,10,100,20,"")
TextGadget(#text_port,180,13,30,14,"Port: ")
StringGadget(#gadget_port,210,10,80,20,"")

SetActiveGadget(#gadget_server)

  Repeat
    Event = WaitWindowEvent()
		
	Select Event
		Case #PB_Event_CloseWindow
			Quit=1
		Case #PB_Event_Gadget
			Select EventGadget()
				Case #gadget_server
					server.s = GetGadgetText(#gadget_server)
					If Right(server,1) = ":"
						SetGadgetText(#gadget_server,ReplaceString(server,":",""))
						SetActiveGadget(#gadget_port)
					EndIf 
			EndSelect			
	EndSelect
  Until Quit = 1  
EndIf
End   
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Re: StringGadget()

Beitrag von Tsuki-Namida »

-.- Lieben Dank habe den Befehl nicht in der Hilfe, gefunden bin halt blind -.-

das Beispiel ist zwar lieb gemeint habe es aber schon so ähnlich geschrieben :) dennoch vielen Dank
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: StringGadget()

Beitrag von ts-soft »

Das Beispiel ist so auch nicht unbedingt zu empfehlen, man sollte besser nur auf ein Change
Ereignis reagieren:

Code: Alles auswählen

Enumeration
  #text_server
  #text_port
  #gadget_server
  #gadget_port
EndEnumeration

If OpenWindow(0, 100, 200, 300, 70, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)

  TextGadget(#text_server, 5, 13, 35, 14, "Server:")
  StringGadget(#gadget_server, 45, 10, 100, 20, "")
  TextGadget(#text_port, 180, 13, 30, 14, "Port: ")
  StringGadget(#gadget_port, 210, 10, 80, 20, "")

  SetActiveGadget(#gadget_server)

  Repeat
    Event = WaitWindowEvent()

    Select Event
      Case #PB_Event_CloseWindow
        Quit = 1
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #gadget_server
            Select EventType()
              Case #PB_EventType_Change
                server.s = GetGadgetText(#gadget_server)
                If Right(server, 1) = ":"
                  SetGadgetText(#gadget_server, ReplaceString(server, ":", ""))
                  SetActiveGadget(#gadget_port)
                EndIf
            EndSelect
        EndSelect
      EndSelect
  Until Quit = 1
EndIf
End
Gruß
Thomas
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: StringGadget()

Beitrag von TomS »

Ich zitiere:
Tsuki-Namida hat geschrieben:-.- Lieben Dank habe den Befehl nicht in der Hilfe, gefunden bin halt blind -.-
Das #PB_EventType_Change hab ich gesucht^^
Antworten