Problem beim Auslesen ver-oder-ter Werte

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
Benutzeravatar
Kiffi
Beiträge: 10620
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Problem beim Auslesen ver-oder-ter Werte

Beitrag von Kiffi »

RSBasic hat geschrieben:Du kannst auch in der Ziel-Prozedur per BindGadgetEvent() auf EventType() zugreifen und musst nichts übergeben.

\\Edit:
BindGadgetEvent() hat geschrieben:Die regulären Funktionen wie EventGadget(), EventWindow(), EventMenu(), EventType() und EventData() sind innerhalb des Callbacks verfügbar, um weitere Informationen über das Ereignis zu erhalten.
da hast Du mich scheinbar falsch verstanden. Das BindGadgetEventEx() ist eine von MIR geschriebene Prozedur, in der ICH den Callback (je nach #PB_EventType) setze.

Code: Alles auswählen

Procedure BindGadgetEventEx(Gadget, Callback, EventType = #PB_All)
  
  If EventType = #PB_All
    EventType = #PB_EventType_LeftClick | #PB_EventType_LeftDoubleClick
  EndIf
  
  If EventType & #PB_EventType_LeftClick = #PB_EventType_LeftClick
    ; If LeftClick-Event
    ;  Rufe Callback auf
    ; EndIf
  EndIf
  
  If EventType & #PB_EventType_LeftDoubleClick = #PB_EventType_LeftDoubleClick
    ; If LeftDoubleClick-Event
    ;  Rufe Callback auf
    ; EndIf
  EndIf
  
EndProcedure
@mk-soft: Interessanter Ansatz. Muss ich mir mal genauer anschauen...

Grüße ... Peter
Hygge
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Problem beim Auslesen ver-oder-ter Werte

Beitrag von RSBasic »

Aber aus welchem Grund machst du das? Warum nicht gleich in der BindGadgetEvent-Prozedur? Warum dieser Umweg?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Problem beim Auslesen ver-oder-ter Werte

Beitrag von RSBasic »

Außerdem hast du mit deiner eigenen Prozedur ebenfalls Zugriff auf die Event-Funktionen. Beispiel:

Code: Alles auswählen

EnableExplicit

Procedure BindGadgetEventCallback()
  
  Debug "Gadget-Nummer: " + Str(EventGadget())
  
  Select EventType()
    Case #PB_EventType_LeftClick
      Debug "Linksklick"
      ;  Rufe Callback auf
    Case #PB_EventType_RightClick
      Debug "Rechtsklick"
      ;  Rufe Callback auf
  EndSelect
  
EndProcedure

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ListIconGadget(1, 10, 10, WindowWidth(0)-20, WindowHeight(0)-20, "", WindowWidth(0)-50, 0)
  AddGadgetItem(1, -1, "Item", 0, 0)
  
  BindGadgetEvent(1, @BindGadgetEventCallback())
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf
Wo ist das Problem?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Kiffi
Beiträge: 10620
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Problem beim Auslesen ver-oder-ter Werte

Beitrag von Kiffi »

RSBasic hat geschrieben:Aber aus welchem Grund machst du das? Warum nicht gleich in der BindGadgetEvent-Prozedur? Warum dieser Umweg?
weil es von mir programmierte Gadgets sind. Das kann man in SpiderBasic relativ einfach bewerkstelligen. Leider akzeptiert BindGadgetEvent() nur die SpiderBasic eigenen Gadgets.

Im Prinzip funktioniert ja auch alles so, wie ich mir das vorstelle. Nur dieses vermaledeite #PB_EventType_LeftClick halt nicht. ;-)

Grüße ... Peter
Hygge
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Problem beim Auslesen ver-oder-ter Werte

Beitrag von RSBasic »

Was für eigene Gadgets sind es? Wurden diese mit CanvasGadget() erstellt? Ich möchte es einfach nur verstehen.
CanvasGadget() bietet doch auch Events an, die man verwenden kann. Ich kenn mich zwar mit SpiderBasic nicht aus, aber ich verstehe nicht, warum es nicht möglich sein soll.
Naja mit BindEvent() (Lösung von mk-soft) scheint es ja zu funktionieren.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
DarkDragon
Beiträge: 6264
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Problem beim Auslesen ver-oder-ter Werte

Beitrag von DarkDragon »

RSBasic hat geschrieben:Was für eigene Gadgets sind es? Wurden diese mit CanvasGadget() erstellt? Ich möchte es einfach nur verstehen.
CanvasGadget() bietet doch auch Events an, die man verwenden kann. Ich kenn mich zwar mit SpiderBasic nicht aus, aber ich verstehe nicht, warum es nicht möglich sein soll.
Naja mit BindEvent() (Lösung von mk-soft) scheint es ja zu funktionieren.
Vermutlich direkt in HTML/ES geschriebene Gadgets.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Kiffi
Beiträge: 10620
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Problem beim Auslesen ver-oder-ter Werte

Beitrag von Kiffi »

RSBasic hat geschrieben:Was für eigene Gadgets sind es?
beispielsweise das ChartJsGadget() oder das GoogleChartGadget (und mehrere bisher noch unveröffentlichte Gadgets).

Teilweise basieren diese Gadgets auf einem CanvasGadget, teilweise Div-, Span-, Sonstwas-Elemente.

Grüße ... Peter
Hygge
Antworten