Autore Topic: [RISOLTO]ricavare ogetto dall'evento  (Letto 942 volte)

Offline baldi96

  • Gamberetto
  • *
  • Post: 19
  • zZzZzZzZzZzZzZzZz
    • Mostra profilo
[RISOLTO]ricavare ogetto dall'evento
« il: 10 Febbraio 2013, 19:49:23 »
Scusate l ignoranza ma è poco che uso gambas e non trovo niente nella documentazione su questoargomento:
Ho creato una piccola interfaccia e ho messo un pulsante che mi crea altri pulsanti in base a quanti sono i file sulla scrivania(ho usato for). Nel for ogni pulsante creato lo ho assegnato con object.attach a un evento click. Ora vorrei che nell evento si ricavasse quali di questi pulsanti creati è stato cliccato. Esiste un istruzione x ció?in vb.net lo favevo facilmente.scusate ancora,i'm newbie! ???
« Ultima modifica: 11 Febbraio 2013, 08:55:20 da baldi96 »
"Disobedience, in the eyes of anyone who has read history, is man's original virtue. It is through disobedience and rebellion that progress has been made."
-- Oscar Wilde, The Soul of Man Under Socialism

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: ricavare ogetto dall'evento
« Risposta #1 il: 10 Febbraio 2013, 21:22:31 »
Per ottenere informazioni sull'oggetto che ha scatenato un determinato evento puoi usare LAST che, come dice il nome, ritorna il riferimento all'oggetto che ha scatenato l'ultimo evento. Per fare ciò devi assegnare ad ogni oggetto creato, nel tuo caso i pulsanti, un osservatore che intercetta gli eventi scatenati da esso. Ad ogni osservatore puoi associare quanti oggetti vuoi.
Nel tuo caso potresti:

Codice: gambas [Seleziona]
Public Sub Button1_Click()
Dim btn As Button
Dim i As Integer
Dim aFiles As String[] = Dir(User.home &/ "Scrivania", "*", gb.File)
  For i = 0 To aFiles.Max
    ' Creo il pulsante ed imposto il suo
    ' osservatore eventi
    With btn = New Button(Me) As "BTN"
      .Name = "btn" & CStr(i)
      .Text = File.BaseName(aFiles[i])
      .h = 28
      .W = 100
      .x = 5
      .y = 20 + .h * i
      .Visible = True
    End With
  Next
End

Public Sub BTN_Click()
' Intercetto il click e determino quale pulsante è stato attivato
' grazie a LAST.
  Print "Hai cliccato sul bottone: " & Last.Name
End




La stessa cosa puoi ottenerla con la Proprietà Gruppo nell'IDE.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline baldi96

  • Gamberetto
  • *
  • Post: 19
  • zZzZzZzZzZzZzZzZz
    • Mostra profilo
Re: ricavare ogetto dall'evento
« Risposta #2 il: 11 Febbraio 2013, 08:47:39 »
Ok grazie mille,mi stavo scervellando x una cosa cosí semplice.
"Disobedience, in the eyes of anyone who has read history, is man's original virtue. It is through disobedience and rebellion that progress has been made."
-- Oscar Wilde, The Soul of Man Under Socialism

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: [RISOLTO]ricavare ogetto dall'evento
« Risposta #3 il: 11 Febbraio 2013, 09:17:57 »
ogni pulsante creato lo ho assegnato con object.attach a un evento click.
tieni presente che le sintassi:

Codice: gambas [Seleziona]

Dim btn as button
btn = new button(me) as "BTN"


e

Codice: gambas [Seleziona]

dim btn as new button
Object.Attach(btn,me,"BTN")


sono equivalenti.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: ricavare ogetto dall'evento
« Risposta #4 il: 11 Febbraio 2013, 16:20:13 »
Per ottenere informazioni sull'oggetto che ha scatenato un determinato evento puoi usare LAST che.......

Queste cose, mannaggia, andrebbero scritte innanzitutto nella nostra WIKI !!!   :evil:
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: [RISOLTO]ricavare ogetto dall'evento
« Risposta #5 il: 11 Febbraio 2013, 16:35:41 »
Mi scusi comandante. Cercherò di rimediare, tempo permettendo, alla mia mancanza. :hard:
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: [RISOLTO]ricavare ogetto dall'evento
« Risposta #6 il: 11 Febbraio 2013, 16:42:53 »
Mi scusi comandante. Cercherò di rimediare, tempo permettendo, alla mia mancanza. :hard:

Allineàti e coperti !     :P

   
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »