PureBoard
http://forums.purebasic.com/german/

"#PB_Event_Gadget" Abfrage falsch gemacht.
http://forums.purebasic.com/german/viewtopic.php?f=16&t=31707
Seite 1 von 1

Autor:  GreyEnt [ 03.11.2019 12:28 ]
Betreff des Beitrags:  "#PB_Event_Gadget" Abfrage falsch gemacht.

Hallo. Mahlzeit an Alle.
Hab nen Fehler und komme nicht drauf.... :(
Das Programm soll so etwas wie ein Barcode darstellen.
Der sinn ist in dem vereinfachten Code nicht wirklich ersichtlich.
Es geht mehr um den Button Nr. 12, "Copy to Clip".
Ich weiß nicht warum aber die "#PB_Event_Gadget" Abfrage funktioniert nicht für den Button.
Ich komme einfach nicht drauf was ich da falsch mache.

Könnt Ihr mal drauf gucken?

Gruß
GreyEnt


Code:

OpenWindow(0, 0, 0, 800, 470+50, "UKB-Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TextGadget(1, 20, 0, 760, 60, "UKB Test", #PB_Text_Center )
LoadFont(1,"Segoe Print",30)
SetGadgetFont(1, FontID(1))
SetGadgetColor(1, #PB_Gadget_BackColor , $168822)
LoadFont(3,"Arial",30)
SetGadgetFont(3, FontID(3))
Global a$="AB"
Global b$="01"
Global c$="@#"
Global uan$=""

Procedure.s Attach()
  uan$=a$+","+b$+","+c$
  ProcedureReturn uan$
EndProcedure
uan$=Attach()
Debug uan$

StringGadget(3, 20, 80, 680, 60, uan$)
LoadFont(3,"Arial",30)
LoadFont(4,"Arial",12)
SetGadgetFont(3, FontID(3))
SetGadgetAttribute(3, #PB_String_MaximumLength, 20)
TextGadget(10, 20, 145, 760, 40, "Syntax",#PB_Text_Border )
SetGadgetFont(10, FontID(4))

;{ Ziffer 1. (a) Gadget 2 Rang 1
ComboBoxGadget(2, 20, 150+45 , 700, 41)
AddGadgetItem(2, -1,"AB (E)")
AddGadgetItem(2, -1,"CD (B)")
AddGadgetItem(2, -1,"EF (C)")
;}

;{ Ziffer 2-3. (b) Gadget 4 Rang 2
ComboBoxGadget(4, 20, 195+45 , 700, 41)
AddGadgetItem(4, -1,"01 (1)")
AddGadgetItem(4, -1,"02 (2)")
AddGadgetItem(4, -1,"03 (3)")
;}   

;{ Ziffer 4-5. (c) Gadget 5 Rang 3
ComboBoxGadget(5, 20, 240+45 , 700, 41)
AddGadgetItem(5, -1,"@# (@#)")
AddGadgetItem(5, -1,"!€ (!€)")
AddGadgetItem(5, -1,"%& (%&)")
;}

ButtonGadget(12, 710, 80, 88, 30, "Copy to Clip")
ButtonGadget(13, 710, 112, 88, 30, "Get from Clip")
SetGadgetFont(2, FontID(4))
SetGadgetFont(4, FontID(4))
SetGadgetFont(5, FontID(4))
SetGadgetState(2, 1)
SetGadgetState(4, 1)
SetGadgetState(5, 1)
a$=GetGadgetItemText(2,GetGadgetState(2))
a$=Left(a$,2)
b$=GetGadgetItemText(4,GetGadgetState(4))
b$=Left(b$,2)
c$=GetGadgetItemText(5,GetGadgetState(5))
c$=StringField(c$, 1, "(")
uan$=Attach()
SetGadgetText(3, uan$ )

Repeat
  Event = WaitWindowEvent()
  Select Event
    Case #PB_Event_Gadget
      Select EventGadget()
        Case 2
          a$=GetGadgetItemText(2,GetGadgetState(2))
          a$=Left(a$,2)
          uan$=Attach()
          SetGadgetText(3, uan$ )
        Case 4
          b$=GetGadgetItemText(4,GetGadgetState(4))
          b$=Left(b$,2)
          uan$=Attach()
          SetGadgetText(3, uan$ )
        Case 5
          c$=GetGadgetItemText(5,GetGadgetState(5))
          c$=StringField(c$, 1, "(")
          uan$=Attach()
          SetGadgetText(3, uan$ )
        Case 12
          SetClipboardText(uan$)
        Case 13
          Text$ = GetClipboardText()
      EndSelect
  EndSelect
 
Until WindowEvent() = #PB_Event_CloseWindow
End

Autor:  STARGÅTE [ 03.11.2019 12:58 ]
Betreff des Beitrags:  Re: "#PB_Event_Gadget" Abfrage falsch gemacht.

Du hast zwei mal WindowEvent() in deiner schleife.
Somit wird knapp die hälfte der Events verschluckt, bei der Abfrage ob es CloseWindow war:
Code:
Until Event = #PB_Event_CloseWindow

Autor:  GreyEnt [ 03.11.2019 14:35 ]
Betreff des Beitrags:  Re: "#PB_Event_Gadget" Abfrage falsch gemacht.

Jo. Danke
Nun geht´s.
Das Einzige was ich richtig gemacht habe ist hier um Hilfe zu bitten.
Währe ich im Leben nicht drauf gekommen.

Gruß
GreyEnt

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/