Autore Topic: Saluti e programma di esempio  (Letto 1934 volte)

Offline sixam

  • Gamberetto
  • *
  • Post: 10
    • Mostra profilo
Saluti e programma di esempio
« il: 20 Giugno 2018, 12:21:51 »
Salve a tutti  :ciao:
Sto iniziando poco a poco a scoprire Gambas, cercando di 'convertire' le esperienze in altri linguaggi (VB6 e VB.Net).
In allegato un piccolo esempio (un mini orologio), commenti e consigli su come migliorare sono graditi.

Bye by SixaM 8-]

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #1 il: 20 Giugno 2018, 12:48:42 »
 :ciao: Bentrovato,
intanto ti consiglierei di usare il menu della IDE per creare un file compresso del tuo progetto.
Menu Progetto > Crea > Pacchetto sorgenti... (Ctrl+Alt+A)

Ho scaricato, ti farò sapere  :)

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

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.721
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #2 il: 20 Giugno 2018, 15:18:40 »
... commenti ...

Ciao,

volevo domandare due cose:

1) perché hai assegnato in modo "esplicito" il valore booleano "False" al parametro opzionale della procedura RefreshTime( ) ?

2) perché fai chiudere il programma con "Quit", anziché con il Metodo "Me.Close" ?
« 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 sixam

  • Gamberetto
  • *
  • Post: 10
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #3 il: 20 Giugno 2018, 15:43:50 »
1) perché hai assegnato in modo "esplicito" il valore booleano "False" al parametro opzionale della procedura RefreshTime( ) ?
Forza dell'abitudine... aggiungendo un parametro ad una funzione che non ne aveva lo metto sempre come opzionale (con default) per non far esplodere le chiamate preesistenti. In questo caso (visto che la "chiamata preesistente" era una sola, è più corretto togliere il parametro opzionale e richiamare la funzione con il parametro sempre valorizzato.

2) perché fai chiudere il programma con "Quit", anziché con il Metodo "Me.Close" ?
Ehm... è il primo sistema che ho trovato...

Sto cmq già "lavorando" alla versione 2 (form e controlli creati via codice)

Grazie x le annotazioni

Bye by SixaM 8-]

Offline sixam

  • Gamberetto
  • *
  • Post: 10
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #4 il: 20 Giugno 2018, 16:11:35 »
Sto cmq già "lavorando" alla versione 2 (form e controlli creati via codice)

Ecco infatti la versione 2 (tutti i controlli sono creati via codice)

Bye by SixaM 8-]

P.S. Immagino tutti lo abbiano affrontato, ma per me attualmente lo scoglio maggiore è riportare in Gambas gli "automatismi" che avevo sviluppando in Vb....

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #5 il: 20 Giugno 2018, 16:41:38 »
Io ti sconsiglio di usare il codice per costruire le finestre.
La fase iniziale di un programma Gambas è tutta basata sul disegno.
Se cerchi nel forum ci sono discussioni in merito.
Poi Gambas offre funzioni che ti ritornano direttamente l'intero delle ore, minuti ecc. senza gli arzigogoli che hai usato, es. iOra = Hour(Now).
Poi potresti usare LCDLabel magari due una per l'ora in cifre e l'altra per le parole, tipo questo (vedi file allegato)

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

Offline sixam

  • Gamberetto
  • *
  • Post: 10
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #6 il: 20 Giugno 2018, 17:10:40 »
Io ti sconsiglio di usare il codice per costruire le finestre.
La fase iniziale di un programma Gambas è tutta basata sul disegno.
Se cerchi nel forum ci sono discussioni in merito.
Immaginavo, era solo un test per esplorare le potenzialità dell'ambiente.

Poi Gambas offre funzioni che ti ritornano direttamente l'intero delle ore, minuti ecc. senza gli arzigogoli che hai usato, es. iOra = Hour(Now).
Quella parte l'ho copiata paro paro da un'applicativo VB...

Poi potresti usare LCDLabel magari due una per l'ora in cifre e l'altra per le parole, tipo questo (vedi file allegato)
Carino, ma non utile al mio scopo... la mia idea è di "scrivere" l'ora evidenziando solo alcune scritte e non altre. Non so se l'LCD Label offre la possibilità di avere parte del testo in un colore, e parte in un altro. Inoltre, scrivendo direttamente sulla DrawingArea non aggiungo componenti al progetto

Grazie cmq x le note

Bye by SixaM 8-]

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.721
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #7 il: 20 Giugno 2018, 19:09:15 »
Quella parte l'ho copiata paro paro da un'applicativo VB...
Non commettere però l'errore, come avviene sovente in tali casi, di scrivere in Gambas pensando in VB.

Come (immagino) sai, Gambas non è un adattamento di VB per Linux !

Molte volte possono esserci, sì, punti di stretta somiglianza, molte altre volte no.
« Ultima modifica: 20 Giugno 2018, 23:32:59 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.243
  • Tonno verde
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #8 il: 20 Giugno 2018, 23:15:20 »

Carino, ma non utile al mio scopo... la mia idea è di "scrivere" l'ora evidenziando solo alcune scritte e non altre. Non so se l'LCD Label offre la possibilità di avere parte del testo in un colore, e parte in un altro. Inoltre, scrivendo direttamente sulla DrawingArea non aggiungo componenti al progetto

Grazie cmq x le note

Bye by SixaM 8-]

Se lo scopo è scrivere l'ora in lettere, il risultato non è poi così male: Vedi allegato
Anche la tua DrawingArea è un componente e praticamente fa più o meno (meno) quello che fa LCDLabel.

 :ciao: :ciao:
« Ultima modifica: 20 Giugno 2018, 23:38:32 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline sixam

  • Gamberetto
  • *
  • Post: 10
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #9 il: 21 Giugno 2018, 09:57:30 »
Se lo scopo è scrivere l'ora in lettere, il risultato non è poi così male: Vedi allegato
Anche la tua DrawingArea è un componente e praticamente fa più o meno (meno) quello che fa LCDLabel.

 :ciao: :ciao:

E' carino, ma non mi consente di avere colori diversi sulla stessa linea. Il mio obiettivo era simulare un 'orologio' tipo l'immagine in allegato...

Bye by SixaM 8-]

P.S. So che anche la DrawingArea è un componente, nell'applicativo originale scrivevo direttamente sulla form, in Gambas (a quanto sembra) questo non si può fase (o meglio: non ho trovato un modo di farlo)  :D


Offline sixam

  • Gamberetto
  • *
  • Post: 10
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #10 il: 21 Giugno 2018, 09:58:59 »
Non commettere però l'errore, come avviene sovente in tali casi, di scrivere in Gambas pensando in VB.

Come (immagino) sai, Gambas non è un adattamento di VB per Linux !
Lo so, è più o meno Basic  ;D
E' infatti questo il mio problema ora... capire come fare quello che facevo prima

Bye by SixaM 8-]

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #11 il: 21 Giugno 2018, 11:52:53 »
Il mio obiettivo era simulare un 'orologio' tipo l'immagine in allegato...
Si lo avevo capito, ma già che c'ero ho voluto tirare giù un esempio Gambas like, così per gioco.  :)
Citazione
P.S. So che anche la DrawingArea è un componente, nell'applicativo originale scrivevo direttamente sulla form, in Gambas (a quanto sembra) questo non si può fase (o meglio: non ho trovato un modo di farlo)  :D
Si in VB con Print scrivi sulla form, in Gambas sulla Console, penso che la scelta della DrawingArea vada bene.
Quello dei componenti comunque è un falso problema se ne possono usare a centinaia, ti basta dare un'occhiata al codice della IDE e/o degli stessi componenti.

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

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #12 il: 21 Giugno 2018, 23:21:14 »
Io anni fa ho fatto un progetto per la gestione di una tombola mettendo nel form 90 LCDLabel senza nessun problema.
Per il tuo orologio potresti fare una cosa similare, così puoi gestire ogni lettera come ti pare e piace in maniera indipendente dalle altre.
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 vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.721
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Saluti e programma di esempio
« Risposta #13 il: 22 Giugno 2018, 01:01:34 »
mettendo nel form 90 LCDLabel
...da un punto di vista di gestione delle risorse/memoria la soluzione di sixam mi sembra di gran lunga preferibile !   
« 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:Saluti e programma di esempio
« Risposta #14 il: 22 Giugno 2018, 23:49:26 »
C'è voluta un pò di pazienza, ma li ho posizionati esattamente come nelle cartelle della tombola, in 6 gruppi separati.
Via codice sarebbe stato più complicato.
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.