Autore Topic: [Risolto] Associazione tasti funzione  (Letto 8369 volte)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #30 il: 18 Settembre 2015, 00:45:08 »
@ tornu
Eppur ... showmodal si muove meglio.
Ti saresti risparmiato infatti un sacco di fastidi gestionali sulle Form.  Come dice vuott, fra le tante strade percorribili, dopo avere scoperto che quella impiegata è un pò rozza, bisogna trovare ed impiegare quella più adatta alla snellezza funzionale del programma.
Dipende, io uso ShowModal se ritengo che in quel momento sia la soluzione migliore , ma non vuol dire che sia un metodo universale adatto a gestire le Form in qualsiasi situazione.
Mi spiegi o mi spiegate visto che vuott la pensa come te che la soluzione da lui indicata è rozza, io ritengo che sia valida come un'altra è nel mio caso è stata quella risolutiva. Vi assicuro che il sistema di gestione delle Form che stò addottando è più che funzionale,
certo magari è più complesso implemetare certe funzioni come passare i dati dall'una all'altra o come in questo caso associare i tasti
funzione, ma con il vostro aiuto ora fila tutto liscio e il codice è risultato molto intellegibile anche nella ricerca di errori o apportare migliorie.

Ti sembro noiosamente pedante? Ti prego di scusarmi per questo mio ulteriore intervento. :-X
Ma assolutamente no, non devi scusarti, io apprezzo chiunque in un modo o nell'altro comunque cerca di dare il suo contributo
o dice chiaramente come la pensa riguardo un qualsiasi argomento compresa la programmazione.

L'unico consiglio che mi sento di dare a Tornu è: considera il l'oggetto Workspace del componente gb.form.mdi, trattandosi di un gestionale può essere che l'utente necessiti di mantenere attive contemporaneamente più funzioni.
Buon gambas a tutti.
Ciao sotema,
grazie dell'incoraggiamento, per quanto riguarda l'oggetto Workspace non lo uso spesso ma lo tengo sempre in considerazione,
in certi casi il suo uso mi agevola.
Cerco sempre prima di iniziare un nuovo progetto di selezionare gli oggetti che ritengo più appropriati per il risultato grafico/funzionale
che voglio ottenere limitatamente alle mie conoscenze. Vi assicuro che mi capita anche di riscrivere un'intero progetto quando sono
convinto che i suggerimenti del Forum o perchè ho scoperto nuove funzionalità, sicuramente mi aiutano ad ottenere un risultato
migliore.
« Ultima modifica: 18 Settembre 2015, 00:48:54 da tornu »
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #31 il: 18 Settembre 2015, 00:51:56 »
Ragazzi ma come faccio a scrivere risolto sul primo post?
sarà perchè è tardi.....  :rolleyes:
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.270
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #32 il: 18 Settembre 2015, 01:02:24 »
Ragazzi ma come faccio a scrivere risolto sul primo post?
Clicchi su "Modifica" e aggiungi "[risolto]" nel campo attinente il titolo della discussione ("Oggetto:") .
« 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.270
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #33 il: 18 Settembre 2015, 01:22:11 »
Ho sempre apprezzato chi sceglie la soluzione più articolata e/o complessa per affrontare un problema.
Inoltre è inebriante percorrere strade nuove, finanche tracciare nuovi sentieri.
Sì... però qualora non vi siano alternative.

Io sono un fautore - come è noto ormai - dell'uso ampio di risorse presenti in librerie dinamiche condivise esterne .so, nonché della coesistenza - laddove possibile e necessario - di più linguaggi con Gambas. Però, pur essendone un fautore, non sono propriamente un estremista.

Così anche con lo stesso linguaggio Gambas: va bene l'articolazione e la complessità ricercate, ma se v'è necessità. Va bene anche  la sperimentazione (...io per esempio sono uno spericolato dei Puntatori in Gambas  :D ), però come studio per trovare strade (quei "nuovi sentieri" di cui tu parlavi) alle solite soluzioni. Questo, però senza eccedere: io credo che la programmazione informatica abbia bisogno anche di un modus operandi rigoroso.



Infine anche l'aspetto estetico ha il suo perché.
sotema: perfetto esteta.  :)
« 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.157
  • Tonno verde
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #34 il: 18 Settembre 2015, 03:22:18 »
Ciao tornu & C
mi scuso per il prolungato silenzio, il fatto è che sono rientrato all'ovile lasciando proprio la terra degli ovili ;D, ma anche delle bellissime spiagge ecc. ecc., la tua terra.
Caso vuole che stia studiando un'interfaccia grafica per un esempio di database del libro e le tue domande sono valse a svelarmi alcune pecche insite nel mio codice.
Allego il file così se vuoi, se volete dargli un'occhiata mi potete dare il vostro parere.
Comprende anche una soluzione per i tasti funzione e una che tiene conto di eventuali, finestre necessarie da aprire.
Siccome la penso come sotema vorrei creare un ambiente tipo desktop con finestre che si muovono all'interno dell'applicazione, qualcosa di simile lo facevo in Office.
L'ho compilato con la 3.8 ma basta fare compila tutto (Alt+F7) da Progetto e dovrebbe funzionare anche con le versioni precedenti.
Potete ridurre l'altezza della FMain se volete controllarne il funzionamento sulla console.
Se qualcuno nota dei malfunzionamenti mi farebbe cosa gradita riferendomeli.
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #35 il: 18 Settembre 2015, 14:51:15 »
Siccome alle tre di notte non è che connetto proprio bene e anche il giorno dopo a nuttata... ma anche in generale... :D
Non vorrei che mi fraintendeste quello postato è un abbozzo di interfaccia che andrà affinato, spero anche con il vostro aiuto.
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #36 il: 18 Settembre 2015, 21:22:25 »
Clicchi su "Modifica" e aggiungi "[risolto]" nel campo attinente il titolo della discussione ("Oggetto:") .

Scusa vuott, sarò un pò rinco....ma dove stà il tasto Modifica, io non lo vedo  :o
Solo se inserisco una risposta (l'ultima) mi appare il tasto e di conseguenza "Risolto" viene visualizzato
solo su di essa...mi dite se vi succede la stessa cosa
« Ultima modifica: 18 Settembre 2015, 21:25:50 da tornu »
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.270
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #37 il: 18 Settembre 2015, 22:53:33 »
Scusa vuott, sarò un pò rinco....ma dove stà il tasto Modifica, io non lo vedo
Forse con la nuova versione è cambiato qualcosa.... ad ogni modo con i super-poteri conferitimi.... il "Risotto" l'ho inserito io.
« 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 tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #38 il: 19 Settembre 2015, 20:09:28 »
Forse con la nuova versione è cambiato qualcosa.... ad ogni modo con i super-poteri conferitimi.... il "Risotto" l'ho inserito io.

Grazie vuott, magari è da segnalare a leo,
....e dire che vorresti dimetterti facendo a meno di questi super-poteri....ti ricordo che se non finisci la "legislatura" non avrai
diritto a nessun benefit  :P
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #39 il: 19 Settembre 2015, 20:37:21 »
Ciao tornu & C
mi scuso per il prolungato silenzio, il fatto è che sono rientrato all'ovile lasciando proprio la terra degli ovili ;D, ma anche delle bellissime spiagge ecc. ecc., la tua terra.

Hai capito il Sig. Gianluigi, ci diamo alla bella vita...ottima scelta e bentornato  :D
Ho dato uno sguardo al tuo progetto, interessante, la prima cosa che ho notato e che le Form sono fisse e non ridimensionabili,
aspettiamo ulteriori sviluppi per poter dare una valutazione più approfondita o eventuali suggerimenti.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #40 il: 19 Settembre 2015, 20:57:39 »
Hai capito il Sig. Gianluigi, ci diamo alla bella vita...ottima scelta e bentornato  :D
Ho dato uno sguardo al tuo progetto, interessante, la prima cosa che ho notato e che le Form sono fisse e non ridimensionabili,
aspettiamo ulteriori sviluppi per poter dare una valutazione più approfondita o eventuali suggerimenti.

Intanto bentrovato , anche se adesso ci separa il mare.  :P
Mi hai dato un ottimo suggerimento, non ci avevo pensato perché intendevo fare le finestre secondo esigenza, ma in effetti potrebbe essere necessario ci devo ragionare non vorrei dover reinventare la ruota  :rolleyes:
Intanto ti devo avvertire che nel codice postato in precedenza c'erano cose doppie e cose inutili, scorie dovute a errori di strategia con conseguenti cambi di indirizzo ora il codice dovrebbe essere più corretto.
Corretto si fa per dire perché vorrei trovare il modo di unificare il codice ripetuto es. quello dello spostamento col mouse, ma non mi riesce.
Inoltre ho notato che il comportamento delle finestre non è come quello che normalmente si attende un utente, ad esempio normalmente quando abbiamo più finestre sul desktop quella su cui clicchiamo per spostarla si porta in primo piano e anche questo non mi riesce.
Comunque è anche vero che se noi apriamo una finestra in modalità dialogo otteniamo un comportamento simile... non saprei...
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #41 il: 19 Settembre 2015, 21:52:47 »
...la prima cosa che ho notato e che le Form sono fisse e non ridimensionabili...

Dipende dal fatto che le finestre incorporate impostano automaticamente le proprietà: .Resizable = False e .Border = False.
Potresti lavorare con il metodo Arrange ma credo avrai poche possibilità di ripristinare la funzione Resize.

Al posto della lettera X nella TextLabel per la chisura della Form userei un toolbutton. Renderebbe più verosimile la barra del titolo simulata.

L'ultima finestra aperta rimane inesorabilmente sovrapposta alle precedenti. Se trascini una finestra aperta in precedenza parte di questa rimarrà nascosta.
« Ultima modifica: 19 Settembre 2015, 22:15:47 da sotema »
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #42 il: 19 Settembre 2015, 22:27:03 »
...la prima cosa che ho notato e che le Form sono fisse e non ridimensionabili...

Dipende dal fatto che le finestre incorporate impostano automaticamente le proprietà: .Resizable = False e .Border = False.
Potresti lavorare con il metodo Arrange ma credo avrai poche possibilità di ripristinare la funzione Resize.
Forse converrebbe usare le scroll
Citazione
Al posto della lettera X nella TextLabel per la chisura della Form userei un toolbutton. Renderebbe più verosimile la barra del titolo simulata.
Proverò, ma devo dire che questo tipo di look spartano non mi dispiace affatto forse i colori...
Citazione
L'ultima finestra aperta rimane inesorabilmente sovrapposta alle precedenti. Se trascini una finestra aperta in precedenza parte di questa rimarrà nascosta.
E si era proprio quello di cui mi lamentavo prima, di non essere capace a trovare una soluzione, qualche idea?
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #43 il: 20 Settembre 2015, 08:11:04 »
L'ultima finestra aperta rimane inesorabilmente sovrapposta alle precedenti. Se trascini una finestra aperta in precedenza parte di questa rimarrà nascosta.
E si era proprio quello di cui mi lamentavo prima, di non essere capace a trovare una soluzione, qualche idea?

Nella funzione spostafinestra() inserisce come prima riga Me.Raise()
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.157
  • Tonno verde
    • Mostra profilo
Re:Associazione tasti funzione
« Risposta #44 il: 20 Settembre 2015, 14:51:54 »
Nella funzione spostafinestra() inserisce come prima riga Me.Raise()

Era così semplice (semplice per chi lo sa)? Non ti racconto le prove che ho fatto... :-[ non vorrei vantarmi, ma sono proprio un deficiente.
Sei sicuro di non avere il tempo per fare il moderatore? Nell'eccezione di animatore... sai tante di quelle cose!

Ho così inglobato il tuo suggerimento:

Nella Fmain.Class:

Codice: [Seleziona]
Public Function primoPiano(sFin As String) As Boolean  
 
  If sFin = finestraAttiva($sAttiva, $bOrd, $bArt, $bCli) Then
    Return True
  Else
    Return False
  Endif
 
End

Nelle classi delle varie finestre (qui riporto FOrdini.Class):

Codice: [Seleziona]
If Not FMain.primoPiano("Ordini") Then
    Me.Raise()
    With FMain   
      .sAttiva.Add("Ordini")
      .bOrd = True   
    End With
  Endif   

Grazie dell'attenzione  :ok:

PS: A dire il vero questa mia idea delle finestre incorporate così, non mi sembra poi quel granché... con FMain a Below ci si evita tanti grattacapi e si fa contento Picavbg potendo usare il showmodal. :D
 
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro