Autore Topic: [RISOLTO] Generazione automatica di vettore di bottoni con etichetta localizzata  (Letto 861 volte)

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Esigenza:
fare un widget che rappresenti i giorni della settimana sotto forma di "interruttore" che possono essere accesi o spenti e che abbiano nome "etichetta" il nome del giorno della settimana.

Interessante sarebbe che in base alla localizzazione, il primo pulsante del vettore i oggetti (di 7 elementi), si chiami Lunedi' in italia, ma Sunday in America del nord.
Infatti per gli anglosassoni il primo giorno della settimana e' domenica.

Qualcuno ha mai avuto un'esigenza del genere?

Qualche trucchetto interessante?

PS: questa "maschera di valiidita'" verra' salvata come binario 1001001 nel db a rappresentare quando il giorno N-simo e' abilitato (1) o no (0) :D
« Ultima modifica: 06 Febbraio 2017, 11:49:34 da allegfede »
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #1 il: 02 Febbraio 2017, 16:56:22 »
Non debbo certo dirti io di cominciare almeno a proporre un possibile codice dell'aggeggio che vuoi realizzare.




« Ultima modifica: 02 Febbraio 2017, 17:43:42 da vuott »
« 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 Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #2 il: 02 Febbraio 2017, 17:44:48 »
Prima di mettermi a ragionare su un componente nuovo vorrei chiederti:
Dovrebbe essere una specie di ibrido fra un ToogleButton e un MenuButton dal quale scegliere il nome del bottone?
Altrimenti occorre che ti spieghi meglio.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #3 il: 02 Febbraio 2017, 17:49:30 »
non un vero e proprio componente, una sub veloce per fare questo comodo inserimento.

Per ora ho fatto cosi':

Codice: [Seleziona]
' Gambas class file
Public WeekButton As New ToggleButton[7]  'vettore dei bottoni di validita' settimanale

Public Sub SetInterface()
Dim i As Integer
Dim Bottone As ToggleButton
Dim GiorniDellaSettimana As String[] = Split("lunedì martedì mercoledì giovedì venerdì sabato domenica", " ")

  'creazione bottoni weekday
  WeekButton = New ToggleButton[7]
  For i = 0 To 6
     With bottone = New ToggleButton(Frame_Strategy) As "Tasto"
       .Text = GiorniDellaSettimana[i]
       .Width = 70
       .Height = TextBox_Nome.Height
       .Top = TextBox_Nome.Top
       .Value = True
       If i = 0 Then
          bottone.Left = TextBox_Nome.Left + TextBox_Nome.Width + 5
          Else
            bottone.Left = WeekButton[i - 1].Left + WeekButton[i - 1].Width + 5
       Endif
     End With
     WeekButton[i] = bottone
  Next

end

ma come e' evidente e' tutto un po' hard-coded ....
se corri, morirai stanco (motto degli sniper)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #4 il: 02 Febbraio 2017, 17:58:55 »
Ok do un'occhiata e poi ti faccio sapere se posso aiutare.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #5 il: 02 Febbraio 2017, 18:08:16 »
ho anche aggiunto la gestione dell'evento click per il vettore di oggetti :D

Codice: [Seleziona]
Public Sub tasto_Click()
Dim indice As Integer

  indice = WeekButton.find(Last)
 
  If indice = -1 Then Return

  WeekButton[indice].Font.Bold = WeekButton[indice].Value
End
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #6 il: 02 Febbraio 2017, 18:12:55 »
Alcuni chiarimenti:

1) questo "Frame_Strategy", che suppongo sia un Oggetto Frame, va posto sul Form ? Voglio dire: chi è il suo Genitore ?

2) circa " Public WeekButton As New ToggleButton[7] ", avendo riutilizzato la parola-chiave "New" nella sotto-procedura, puoi anche evitare di creare quell'array di oggetti ToggleButton qui all'esterno. Puoi scegliere, insomma, come hai fatto appunto con l'oggetto "Bottone".

3) circa " Dim GiorniDellaSettimana As String[] = Split("lunedì martedì mercoledì giovedì venerdì sabato domenica", " ") ", ma... perché non effettui più semplicemente una dichiarazione esplicita e diretta dell'array ?  ???  Ossia:
 
Codice: [Seleziona]
Dim GiorniDellaSettimana As String[] = ["lunedì", "martedì", "mercoledì", "giovedì", "venerdì", "sabato", "domenica"]
    :-\



« Ultima modifica: 02 Febbraio 2017, 18:14:40 da vuott »
« 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 vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #7 il: 02 Febbraio 2017, 18:18:14 »
...devo aggiungere che non riesco a vedere apparire nessun tasto.

Scusami, puoi allegare il progetto funzionante di quel semplice codice ?
« 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 Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #8 il: 02 Febbraio 2017, 18:26:21 »
...devo aggiungere che non riesco a vedere apparire nessun tasto.

Scusami, puoi allegare il progetto funzionante di quel semplice codice ?

+ 1  ;D
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #9 il: 02 Febbraio 2017, 18:36:47 »
si e' un frame ... fanne uno qualunqu su un form.

tutto il codice e' grosso e dipende da moduli esterni, database etc.

si e' vero, potrei fare direttaemnte il vettore, ma vorrei avere una primitiva interna che mi dica in base al "locale":
1) da che giorno della settimana parte l'utente tipo (gb.firsdayofweek)
2) una funzione che in base al "locale" mi dica se 0=lunedi o 0=dominca etc tipo weekdayname(i)=stringa_opportuna :D
se corri, morirai stanco (motto degli sniper)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #10 il: 02 Febbraio 2017, 20:06:34 »
Scusa ma sto per uscire e potrò rivedere la cosa domani, ma tanto per capirci tu vorresti qualcosa di simile? Che facesse cosa?

Codice: [Seleziona]
' Gambas class file

Private $sGiorni As String[] = ["Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"]
Private $sDay As String[] = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
Private $sWeek As String[]

Public Sub Form_Open()

  If System.Language = "it_IT.UTF-8" Then
    $sWeek = $sGiorni
  Else
    $sWeek = $sDay
  Endif
  SpinBox1.Value = 1

End

Public Sub SpinBox1_Change()
 
  ' simula ciò che decide il n. giorno
 
  If SpinBox1.Value = 0 Then SpinBox1.Value = 1
  ToggleButton1.Text = $sWeek[SpinBox1.Value - 1]

End

Public Sub ToggleButton1_Click()

  ' Cosa deve fare?

End
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #11 il: 02 Febbraio 2017, 22:13:22 »
tutto il codice e' grosso e dipende da moduli esterni, database etc.
T'ho capito, ma....... cioè...... mettiti nei nostri panni.   :violent:

Cerca di scrivere qualcosa di breve e funzionante. Eh !
« 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 Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #12 il: 02 Febbraio 2017, 22:15:54 »
tutto il codice e' grosso e dipende da moduli esterni, database etc.
T'ho capito, ma....... cioè...... mettiti nei nostri panni.   :violent:

Cerca di scrivere qualcosa di breve e funzionante. Eh !

 :rotfl:

Io mi accontenterei di capire cosa caspita vuole fare, possibilmente senza codice  :angel:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #13 il: 03 Febbraio 2017, 12:43:40 »
moh, capire mi sembra un po' troppo ...
al limite potete intuirmi :D

allegato mini test

PS: gianluigi, buona idea, ma sarebbe figa una cosa "generalizzata" in base al paese del mondo (arabo, russo, greco, etc :D)

PPS: un file delle stringhe come android? ed i riferiemnti alle label/text che puntano alla stringa n-esima?
se corri, morirai stanco (motto degli sniper)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Generazione automatica di vettore di bottoni con etichetta localizzata
« Risposta #14 il: 03 Febbraio 2017, 15:48:28 »
Qualcosa ho fatto e qualcosa non ho capito

 :ciao:

Ok, ora ho capito e per me va bene anche l'allineamento  :ok:

Sei d'accordo? Non trovi che così possa funzionare bene?
« Ultima modifica: 03 Febbraio 2017, 16:21:49 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro