Hallo zusammen
ich versuche gerade mit StringGadget klar zukommen,
leider bekomme ich es nicht hin.
Der Wert soll an eine Variable übergeben werden, weiterhin will ich den Wert der Variabeln abfragen um in ein Unterprogramm verzweigen zu können.
[/code]
Globaliere String$
Global Eingabe$
Procedure String(text$)
If FindString(Eingabe$, text$, 1)
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
If OpenWindow(0,000,300,1274,58,"Relais Butler",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget)
If CreateGadgetList(WindowID(0))
;Eingabefeld
StringGadget(00,0010,06,100,20,"",)
Eingabe$ = GetGadgetText(00)
Eingabe$ = LSet(Eingabe$, 05)
Debug Eingabe$
Danke
StringGadget Problem
- Ironsmurf
- Beiträge: 111
- Registriert: 04.01.2006 12:57
- Computerausstattung: AMD FX(tm)-6300 Six-Core Processor
3.50 GHz / 8 GB Ram
Windows 7 / 64bit / Ultimate
Purebasic 5.20 LTS (Windows - x86) - Wohnort: Deutschland
StringGadget Problem
Es kommt immer auf die Sichtweise des Betrachters an.
- 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 Problem
Und mit dem [ code ] [ /code ]Ironsmurf hat geschrieben:Hallo zusammen
ich versuche gerade mit StringGadget klar zukommen,

Du solltest einen Code Posten, der Testbar ist, zumindest keine offenen
Blöcke (If EndIf usw. ) enthält
Deine Abfrage "Eingabe$ = GetGadgetText(00)" sollte in der Ereignisschleife
erfolgen, sieh am besten nochmal in der Hilfe nach, welche Ereignisse für
das Stringgadget zutreffen.
Code: Alles auswählen
#PB_EventType_Change : Der Text wurde durch den Anwender geändert.
#PB_EventType_Focus : Das StringGadget erhielt den Fokus.
#PB_EventType_LostFocus : Das StringGadget verlor den Fokus.
neuen Code.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Ironsmurf
- Beiträge: 111
- Registriert: 04.01.2006 12:57
- Computerausstattung: AMD FX(tm)-6300 Six-Core Processor
3.50 GHz / 8 GB Ram
Windows 7 / 64bit / Ultimate
Purebasic 5.20 LTS (Windows - x86) - Wohnort: Deutschland
Hallo nochmal
ich kann den Fehler leider nicht finden, es kommt immer eine Fehlermeldung:
Ich kriege es nicht hin, dabei kann es nur eine Kleinigkeit sein, er soll ganze Zahlen annehmen z.B. 12345
Vielen DAnk im voraus
[/quote]
ich kann den Fehler leider nicht finden, es kommt immer eine Fehlermeldung:
Ich kriege es nicht hin, dabei kann es nur eine Kleinigkeit sein, er soll ganze Zahlen annehmen z.B. 12345
Vielen DAnk im voraus
Code: Alles auswählen
If OpenWindow(0,000,300,1274,58,"Relais Butler",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget)
ElseIf CreateGadgetList(WindowID(0))
;Eingabefeld
StringGadget(00,0010,06,100,20,"", #PB_String_Numeric)
;Relais 1
ButtonGadget(01,0140,06,100,20,"PC Licht Ein")
ButtonGadget(02,0140,32,100,20,"PC Licht Aus")
;Relais 2
ButtonGadget(03,0260,06,100,20,"Dolby Sound Ein")
ButtonGadget(04,0260,32,100,20,"Dolby Sound Aus")
;Relais 3
ButtonGadget(05,0380,06,100,20,"Drucker Ein")
ButtonGadget(06,0380,32,100,20,"Drucker Aus")
;Relais 4
ButtonGadget(07,0500,06,100,20,"HD - T - Ein")
ButtonGadget(08,0500,32,100,20,"HD - T - Aus")
;Relais 5
ButtonGadget(09,0620,06,100,20,"HD - U - Ein")
ButtonGadget(10,0620,32,100,20,"HD - U - Aus")
;Relais 6
ButtonGadget(11,0740,06,100,20,"HD - V - Ein")
ButtonGadget(12,0740,32,100,20,"HD - V - Aus")
;Relais 7
ButtonGadget(13,0860,06,100,20,"HD - W - Ein")
ButtonGadget(14,0860,32,100,20,"HD - W - Aus")
;Relais 8
ButtonGadget(15,0980,06,100,20,"HD - X - Ein")
ButtonGadget(16,0980,32,100,20,"HD - X - Aus")
;Relais ALLE
ButtonGadget(17,1100,06,160,20,"A L L E - E I N")
ButtonGadget(18,1100,32,160,20,"A L L E - A U S")
;Buttom Go
ButtonGadget(19,0010,32,100,20,"G O")
EndIf
If EventGadget()=19
Eingabe = GetGadgetText (00)
Debug Eingabe
ElseIf Eingabe = (0001) And RE8 = 0 : Delay (10000) : RunProgram("X:\0001 ° YXZ.avi") : RE8 = 1
ElseIf Eingabe = (0001) And RE8 = 1 : Delay (01000) : RunProgram("X:\0001 ° YXZ.avi")
EndIf
Es kommt immer auf die Sichtweise des Betrachters an.
- 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
Das Eventloop heißt so, weil es ein Loop ist (Schleife)
Deine Version kann so nicht Funktionieren. Desweiteren mußte Du Strings
in Zahlen umwandeln, um mit Zahlen zu vergleichen
Vielleicht willste auch umgekehrt vergleichen?
Dann Eingabe.s und die Vergleichswerte auch in Anführungsstriche ""
Da biste aber noch ne Ecke vom funktionierenden Programm weg
Gruß
Thomas
Deine Version kann so nicht Funktionieren. Desweiteren mußte Du Strings
in Zahlen umwandeln, um mit Zahlen zu vergleichen
Code: Alles auswählen
Eingabe = Val(GetGadgetText (0))
Dann Eingabe.s und die Vergleichswerte auch in Anführungsstriche ""
Da biste aber noch ne Ecke vom funktionierenden Programm weg

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

wie Thomas bereits erwähnte: Du benötigst eine Event-Schleife.
(bitte in Zukunft die Antworten der Kollegen aufmerksam lesen!)
Grüße ... Kiffi
(bitte in Zukunft die Antworten der Kollegen aufmerksam lesen!)
Code: Alles auswählen
If OpenWindow(0,000,300,1274,58,"Relais Butler",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget)
If CreateGadgetList(WindowID(0))
;Eingabefeld
StringGadget(00,0010,06,100,20,"", #PB_String_Numeric)
;Relais 1
ButtonGadget(01,0140,06,100,20,"PC Licht Ein")
ButtonGadget(02,0140,32,100,20,"PC Licht Aus")
;Relais 2
ButtonGadget(03,0260,06,100,20,"Dolby Sound Ein")
ButtonGadget(04,0260,32,100,20,"Dolby Sound Aus")
;Relais 3
ButtonGadget(05,0380,06,100,20,"Drucker Ein")
ButtonGadget(06,0380,32,100,20,"Drucker Aus")
;Relais 4
ButtonGadget(07,0500,06,100,20,"HD - T - Ein")
ButtonGadget(08,0500,32,100,20,"HD - T - Aus")
;Relais 5
ButtonGadget(09,0620,06,100,20,"HD - U - Ein")
ButtonGadget(10,0620,32,100,20,"HD - U - Aus")
;Relais 6
ButtonGadget(11,0740,06,100,20,"HD - V - Ein")
ButtonGadget(12,0740,32,100,20,"HD - V - Aus")
;Relais 7
ButtonGadget(13,0860,06,100,20,"HD - W - Ein")
ButtonGadget(14,0860,32,100,20,"HD - W - Aus")
;Relais 8
ButtonGadget(15,0980,06,100,20,"HD - X - Ein")
ButtonGadget(16,0980,32,100,20,"HD - X - Aus")
;Relais ALLE
ButtonGadget(17,1100,06,160,20,"A L L E - E I N")
ButtonGadget(18,1100,32,160,20,"A L L E - A U S")
;Buttom Go
ButtonGadget(19,0010,32,100,20,"G O")
Repeat
WWE=WaitWindowEvent()
Select WWE
Case #PB_Event_Gadget
Select EventGadget()
Case 19
Eingabe = Val(GetGadgetText(00))
Debug Eingabe
EndSelect
EndSelect
Until WWE = #PB_Event_CloseWindow
EndIf
EndIf
a²+b²=mc²