Autore Topic: Leggere da codice le proprietà di un oggetto  (Letto 508 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Leggere da codice le proprietà di un oggetto
« il: 17 Settembre 2013, 11:44:08 »
Vi segnalo questa interessante discussione apparsa nel forum della comunità tedesca dei programmatori Gambas:

http://www.gambas-club.de/viewtopic.php?f=3&t=4598
« 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 Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re: Leggere da codice le proprietà di un oggetto
« Risposta #1 il: 19 Settembre 2013, 00:32:53 »
Sarà anche interessante, ma ha un solo difetto: è scritta tutta in tedesco... :rolleyes:
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Leggere da codice le proprietà di un oggetto
« Risposta #2 il: 19 Settembre 2013, 09:06:18 »
Sarà anche interessante, ma ha un solo difetto: è scritta tutta in tedesco... :rolleyes:

Il tedesco è un problema? Per me no. Il mio strumento di browser ,Google Chrome, attivo, conosce tutte le lingue e, quando accede alle finestre scritte in lingua straniera, me le traduce automaticamente e posso leggerne il contenuto nella mia lingua.  :P

@ vuott:
Grazie per la tua pssione di ricercatore.  :D
L'argomento è sicuramente interessante e dimostra come il mondo Gambas sia più un universo di cui i piccoli utenti come me conoscono solo una piccolissima parte. Da istruzioni come
Codice: [Seleziona]
Public Sub Button1_Click()
  EnumerateProperties(Last)
End
si possono scoprire nuovi scenari nell'utilizzo di Gambas..
 :ciao:
:ciao:

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Leggere da codice le proprietà di un oggetto
« Risposta #3 il: 19 Settembre 2013, 09:16:46 »
Codice: [Seleziona]
Public Sub Button1_Click()
  EnumerateProperties(Last)
End

L'ho provato, ma a me non funziona.:
Citazione
Unknown identifier EnumerateProperties

:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Leggere da codice le proprietà di un oggetto
« Risposta #4 il: 19 Settembre 2013, 12:30:41 »
Codice: [Seleziona]
Public Sub Button1_Click()
  EnumerateProperties(Last)
End

L'ho provato, ma a me non funziona.


...perché è la chiamata della funzione descritta prima nell'intervento di quell'iscritto al forum tedesco.

Il codice completo da provare è:
Codice: gambas [Seleziona]

Public Sub Button1_Click()

   EnumerateProperties(Last)

End


Private Sub EnumerateProperties(hObject As Object)

' Ein Objekt holen, welches die Klasse von hObject beschreibt
  Dim hClass As Class = Object.Class(hObject)
  Dim sSymbol As String

' Ueber alle nach auszen sichtbaren Symbole der Klasse (Eigenschaften,
' Methoden, Konstanten, ...) iterieren
    For Each sSymbol In hClass.Symbols

' Nur Eigenschaften auflisten
      If hClass[sSymbol].Kind = Class.Property Then

' Erst der Name des Symbols (der Eigenschaft), dann dessen Wert
       Print sSymbol, Object.GetProperty(hObject, sSymbol)

      Endif
 
    Next

End



Per effettuare un test più ampio ed esaustivo, si potrebbero piazzare sul Form due o più oggetti appartenenti ad un medesimo Gruppo, e sostituire, quindi, la riga:
Codice: gambas [Seleziona]

  Public Sub Button1_Click()


con la riga:
Codice: gambas [Seleziona]

  Public Sub nomeGruppo_Click()

o, magari, poiché non tutti gli oggetti posseggono l'evento _Click(), usare _MouseDown():-\
« 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 Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re: Leggere da codice le proprietà di un oggetto
« Risposta #5 il: 21 Settembre 2013, 10:16:33 »
Il tedesco è un problema? Per me no. Il mio strumento di browser ,Google Chrome, attivo, conosce tutte le lingue e, quando accede alle finestre scritte in lingua straniera, me le traduce automaticamente e posso leggerne il contenuto nella mia lingua.  :P

Esiste qualcosa per Firefox, che tu sappia?
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Leggere da codice le proprietà di un oggetto
« Risposta #6 il: 21 Settembre 2013, 16:57:38 »
Ormai ho abbandonato da più di un anno FireFox, perciò non ti so dire se ora funziona. Per la mia esperienza posso dirti che quando ho provato io  riportava un'indicazione su come ottenere la traduzione in via dinamica, ma io non sono riuscito a farla funzionare.Con google Chrome invece è stato tutto assolutamente immediato e trasparente.
 :ciao:
:ciao: