Seite 1 von 1

"#PB_Event_Gadget" Abfrage falsch gemacht.

Verfasst: 03.11.2019 12:28
von GreyEnt
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: Alles auswählen


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

Re: "#PB_Event_Gadget" Abfrage falsch gemacht.

Verfasst: 03.11.2019 12:58
von STARGÅTE
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: Alles auswählen

Until Event = #PB_Event_CloseWindow

Re: "#PB_Event_Gadget" Abfrage falsch gemacht.

Verfasst: 03.11.2019 14:35
von GreyEnt
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