Gambas-it

Gambas3 => Programmazione => Topic aperto da: Franco_da_vc - 21 Agosto 2017, 15:58:30

Titolo: Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 21 Agosto 2017, 15:58:30
Rieccomi,  :ciao: oggi imperverso con i miei interrogativi, non pichiatemi!

Nel form su cui sto lavorando ho descritto un pulsante "CARICO SARTA" che comanda una variabile boolean SwSart, il mio intendimento sarebbe avere il pulsante colorato in Rosso se la variabile è False ed invece in Verde se la variabile è True.

Per fare ciò ho descritto il seguente evento:
Codice: [Seleziona]
Public Sub ButtonCaricoSarta_Click()
'############################################################# Inserimento / disinserimento del flag CARICO SARTA #####

  If SwSart = False
    SwSart = True
    ButtonCaricoSarta.Background = &00FF00
  Else
    SwSart = False
    ButtonCaricoSarta.Background = &FF0000
  Endif

End
Purtroppo ciò che mi pareva poter funzionare a dovere non pare dare i risultati sperati, :hard: in effetti il pulsante all'entrata della sezione viene settato .Enabled=True e con il background rosso che appena cliccato diventa Verde, purtroppo ad un secondo click non si ripristina il colore verde anche se la variabile viene cambiata a dovere: qual'è il problema che mi affligge? Vi ringrazio.

Ciao a tutti. :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 21 Agosto 2017, 16:58:07
A me funziona sia con QT che con GTK  :-\

Potresti scriverlo così e risparmi il booleano, se non ti serve al di fuori di qui:
Codice: [Seleziona]
  If ButtonCaricoSarta.Background = &00FF00 Then
    ButtonCaricoSarta.Background = &FF0000
  Else
    ButtonCaricoSarta.Background = &00FF00
  Endif

 :ciao: :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 21 Agosto 2017, 19:00:43
Ti ringrazio GianLuigi per la tua risposta:
A me funziona sia con QT che con GTK  :-\

Potresti scriverlo così e risparmi il booleano, se non ti serve al di fuori di qui:
Codice: [Seleziona]
  If ButtonCaricoSarta.Background = &00FF00 Then
    ButtonCaricoSarta.Background = &FF0000
  Else
    ButtonCaricoSarta.Background = &00FF00
  Endif
Per quanto riguarda la variabile boolean, come ben hai compreso tu, mi serve in una altra parte del programma, quindi è importatante che compaia in quel brano di codice, mi sono però accorto solo ora, purtroppo, che nel precedente messaggio ho scritto una imprecisione:
Purtroppo ciò che mi pareva poter funzionare a dovere non pare dare i risultati sperati, :hard: in effetti il pulsante all'entrata della sezione viene settato .Enabled=True e con il background rosso che appena cliccato diventa Verde, purtroppo ad un secondo click non si ripristina il colore verde anche se la variabile viene cambiata a dovere: qual'è il problema che mi affligge? Vi ringrazio.
Il giusto è invece: purtroppo ad un secondo click non si ripristina il colore Rosso anche se la variabile viene cambiata a dovere. in parole brevi ciò che desidero è che con SwSart=False il pulsante abbia il background rosso, mentre in ogni caso con SwSart=True il pulsante abbia il backgroundverde. :-[
Vi ringrazio ancora per gli aiuti.
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 21 Agosto 2017, 19:28:21
Intendi una cosa così?:
Codice: [Seleziona]
Private SwSart As Boolean

Public Sub ButtonCaricoSarta_Click()
'############################################################# Inserimento / disinserimento del flag CARICO SARTA #####

  If SwSart = False
    ButtonCaricoSarta.Background = &FF0000
     SwSart = True
  Else
    ButtonCaricoSarta.Background = &00FF00
    SwSart = False
  Endif

End

Public Sub Form_Open()

  SwSart = True
  ButtonCaricoSarta_Click()

End

 :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 21 Agosto 2017, 20:56:38
Intendi una cosa così?:
Codice: [Seleziona]
Private SwSart As Boolean

Public Sub ButtonCaricoSarta_Click()
'############################################################# Inserimento / disinserimento del flag CARICO SARTA #####

  If SwSart = False
    ButtonCaricoSarta.Background = &FF0000
     SwSart = True
  Else
    ButtonCaricoSarta.Background = &00FF00
    SwSart = False
  Endif

End

Public Sub Form_Open()

  SwSart = True
  ButtonCaricoSarta_Click()

End


Beh! Penso che i due listati corrispondano per molto, a dire il vero la variabile SwSart e stata dichiarata come public e non come private, la seconda cosa che mi desta interrogativi è la seconda parte del listato (quella all'interno della sub Form_open) non capisco a cosa possa servire la chiamata
Codice: [Seleziona]
  ButtonCaricoSarta_Click()
al suo interno. In ogni caso grazie GianLuigi per i suggerimenti

 :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: vuott - 21 Agosto 2017, 21:10:02
in parole brevi ciò che desidero è che con SwSart=False il pulsante abbia il background rosso, mentre in ogni caso con SwSart=True il pulsante abbia il backgroundverde.

Non mi è molto chiaro (https://www.classicrockforums.com/styles/default/xenforo/smilies/humm.gif) se tu vuoi che, quando il pulsante è "rosso", anche la variabile booleana globale assuma il valore di False.

Cioè così:
Codice: [Seleziona]
Private bo As Boolean


Public Sub Button1_Click()

  If bo = True
    Button1.Background = Color.Red
    bo = False
  Else
    Button1.Background = Color.Green
    bo = True
  Endif
   
End

In caso negativo, dovresti allora mostrare un breve codice funzionante che riproduca il problema da te posto.
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 21 Agosto 2017, 21:54:46
Grazie Vuott per l'intervento
a dire il vero la variabile SwSart e stata dichiarata come public e non come private
Per quale ragione hai dichiarato "pubblica" quella variabile globale ? La utilizzi in altre Classi o Moduli da te creati ?

In effetti la variabile SwSart viene usata solamente all'interno della Classe FFacit.Class che è associata alla form FFacit.Form.
Quindi devo pensare che le varie variabili sia meglio dichiararle "Private"?
Titolo: Re:Come governare un bottone in evento Click
Inserito da: vuott - 21 Agosto 2017, 22:05:31
Quindi devo pensare che le varie variabili sia meglio dichiararle "Private"?
E' inutile dichiararle Pubbliche, se le utilizzi strettamente all'interno di una Classe o Modulo.

...da qualche parte nel forum, anni fa, si pose anche la questione se la dichiarazione "Pubblica" comportasse - tra l'altro - maggiore dispendio di memoria.  ...dovrei ritrovare questa discussione...
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 21 Agosto 2017, 22:23:11
Beh! Penso che i due listati corrispondano per molto, a dire il vero la variabile SwSart e stata dichiarata come public e non come private, la seconda cosa che mi desta interrogativi è la seconda parte del listato (quella all'interno della sub Form_open) non capisco a cosa possa servire la chiamata
Codice: [Seleziona]
  ButtonCaricoSarta_Click()
al suo interno. In ogni caso grazie GianLuigi per i suggerimenti

 :ciao:

Devi leggere il listato con più attenzione, infatti il mio lavora esattamente all'opposto del tuo.
Tu chiedi che il bottone con SwSart=True abbia il background verde e io con la prima chiamata, ma potrebbe essere lanciatada una qualunque altra routine, ti dimostro che se SwSart=True il button se premuto (ButtonCaricoSarta_Click()) si colora di verde.
Quindi se tu vuoi che quando SwSart è True il button premuto si colori di verde e viceversa si colori di rosso, questo lo fa e pone anche SwSart a False e viceversa.
Se invece desideri un'altro comportamento allora devi spiegare meglio cosa vuoi.

 :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: vuott - 22 Agosto 2017, 03:10:58
devi spiegare meglio cosa vuoi.

    (http://www.scoonimdolls.com/images/smilies/whistling.gif)
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 22 Agosto 2017, 11:08:04
devi spiegare meglio cosa vuoi.

    (http://www.scoonimdolls.com/images/smilies/whistling.gif)
:D

Comunque tanto per essere più chiaro, suppongo che se hai messo un booleano globale esso debba essere letto da altre parti; ma il codice postato da te contiene un evidentissimo bug prima di valutare lo stato del booleano lo cambia e pertanto non potrai mai ottenere una lettura corretta.
Anche se la procedura che cambia lo stato del booleano è solo all'interno del pulsante, comunque non può essere inserita nella parte di codice che la valuta, ma prima.

Facciamo un'ipotesi di algoritmo, io carico attraverso delle textbox, dei checkbox e dei combobox i dati per la sarta, se il pulsante che valuta (penso sia caricosarta) valuta  che tutti gli inserimenti vanno bene allora cambierà lo stato del booleano a true altrimenti a false. Ma prima del valutatore che sarà posta in fondo alla routine e che dovrà solo vedere se il booleano è a true o false e in base a questo cambiare il colore  e basta.

Poi alla fine delle valutazioni da parte di tutte le routine che devono contribuire sull'ultima riporterai il booleano a false pronto per un nuovo carico.

 :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 22 Agosto 2017, 21:27:25
Prima di continuare con il discorso desidero in ogni caso ringraziarvi per l'attenzione che state dedicando alla mia problematica.

Vorrei però introdurre una nuova riflessione: potrebbe darsi che all'interno di un evento _Click che interessi l'oggetto su cui sto lavorando non si possa modificare l'attributo .Background dell'oggetto stesso; mi spiego in un altro punto del del listato la direttiva ButtonCaricoSarta.Background = <colore da me scelto> funziona tranquillamente ho perciò la cosa mi ha messo dei dubbi. Ho allora introdotto introdotto questo altro segmento di codice:
Codice: [Seleziona]
Public Sub ButtonCaricoSarta_LostFocus()

  If SwSart = False
    ButtonCaricoSarta.Background = &FF0000
  Else
    ButtonCaricoSarta.Background = &00FF00
  Endif

End
Ed ecco cosa succede: dopo aver eseguito altre operazioni su oggetti nella parte superiore della form (Data preceduta da del nella schermata allegata) terminando con un invio si attiva il pulsante Carico sarta con sfondo rosso, a quel punto SwSart è False cioè inattivo e il tutto è giusto, quindi clicco sul pulsante e spostando il mouse lo sfondo diventa verde, SwSart è True cioè attivo ed il tutto è di nuovo giusto, a questo punto torno a cliccare sul pulsante, ma spostando il mouse lo sfondo resta verde mentre SwSart è divenuto False e questo non va bene, ma basta che io dia un Tab che si scatena l'evento sopra riportato ed il tasto prende la colorazione giusta cioè rossa, ciò vuol dire che l'istruzione ButtonCaricoSarta.Background = &FF0000 nell'evento _LostFocus() ha funzionato mentre nell'evento _Click() non ha funzionato.

Che ne dite?

Ciao a tutti e grazie!
Titolo: Re:Come governare un bottone in evento Click
Inserito da: vuott - 22 Agosto 2017, 21:46:05
spostando il mouse lo sfondo diventa verde, SwSart è True cioè attivo
Scusami, quale riga di comando fa diventare True la variabile SwSart, all'atto dello spostamento del mouse sul tasto ?  :-X
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 22 Agosto 2017, 22:00:03
Io mi sto perdendo, non capisco cosa vuoi dire.
Qualunque evento se scatenato è in grado di cambiare i colori di fondo.
Se vuoi che ti possa aiutare dovresti descrivere, l'algoritmo che stai inseguendo, nella maniera più semplificata possibile ma che possa consentirmi di capire.
Qualcosa tipo l'ipotesi che ho fatto io.

 :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 23 Agosto 2017, 10:55:22
Grazie vuott per il tuo interessamento;
spostando il mouse lo sfondo diventa verde, SwSart è True cioè attivo
Scusami, quale riga di comando fa diventare True la variabile SwSart, all'atto dello spostamento del mouse sul tasto ?  :-X
La riga di comando che porta la variabile SwSart a true è contenuta in questo codice:
Codice: [Seleziona]
Public Sub ButtonCaricoSarta_Click()
'############################################################# Inserimento / disinserimento del flag CARICO SARTA #####

  If SwSart = False
    SwSart = True
    ButtonCaricoSarta.Background = &00FF00
  Else
    SwSart = False
    ButtonCaricoSarta.Background = &FF0000
  Endif

End
Il problema e che con questo evento (_click) il background non si modifica come ho sperimentato nel mio primo messaggio.
Questo altro brano di codice che ho evidenziato nel mio ultimo messaggio
Codice: [Seleziona]
Public Sub ButtonCaricoSarta_LostFocus()

  If SwSart = False
    ButtonCaricoSarta.Background = &FF0000
  Else
    ButtonCaricoSarta.Background = &00FF00
  Endif

End
non fa altro che, alla perdita del focus, andare a verificare il valore di SwSart ed accordare il background con lo stato della variabile, in questo evento il background si riesce a modificare e anche se tardivamente l'ameniccolo pare funzionare.
Titolo: Re: Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 23 Agosto 2017, 12:07:02
Cio che dici Gianluigi mi trova comunque d'accordo
Io mi sto perdendo, non capisco cosa vuoi dire.
Qualunque evento se scatenato è in grado di cambiare i colori di fondo.
Se vuoi che ti possa aiutare dovresti descrivere, l'algoritmo che stai inseguendo, nella maniera più semplificata possibile ma che possa consentirmi di capire.
Qualcosa tipo l'ipotesi che ho fatto io.

 :ciao:
In effetti, a rigor di logica, la realtà e quella che tu scrivi: qualsiasi evento se scatenato è in grado di cambiare i colori di fondo, ma sperimentalmente ciò non si verifica, la casistica che ho verifcato è questa:
Codice: [Seleziona]
Quando viene attivato il bottone Carico sarta viene anche settato il colore rosso di sfondo, poi volendo cliccare il pulsante porto il puntatore sullo stesso, questo reagisce diventando azzurro, potrebbe essere questo il comportamento che interferisce, e quindi clicco, a questo punto si scatena l'evento _click, intervengono le due istruzioni che scambiano i settaggi sia della variabile che della colorazione dello sfondo, spostando il mouse la colorazione cambia in verde, e fin qui pare tutto regolare, ma probabilmente non è così perché torno sul pulsante, questo di nuovo diventa azzurro e clicco una seconda volta, di nuovo si scatena l'evento _click, ma spostandomi con il mouse la colorazione del pulsante rimane verde e non segue più il mutare della variabile

Ciao Gianluigi e grazie!
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 23 Agosto 2017, 13:32:00
Ti allego un esempio
ciao

P.S. L'ho provato ora funziona
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 23 Agosto 2017, 14:32:10
Ti allego un esempio
ciao

Ciao GianLuigi, ho provato a scaricare il tuo esempio, ma una volta scompattato il file risulta una directory vuota (secondo l'ide) in verità ho provato a vedere ma effettivamente ci ho trovato solo file nascosti,

In ogni caso grazie.
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 23 Agosto 2017, 16:41:37
Ti allego un esempio
ciao

Ciao GianLuigi, ho provato a scaricare il tuo esempio, ma una volta scompattato il file risulta una directory vuota (secondo l'ide) in verità ho provato a vedere ma effettivamente ci ho trovato solo file nascosti,

In ogni caso grazie.

Boh  :-\ riprova a scaricarlo che io l'ho ricaricato nuovamente.

 :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 24 Agosto 2017, 15:40:35
Ciao GianLuigi e Vuott... e naturalmente a tutto il forum.

mi scuso se ho un po' lasciato cadere la discussione, ma nel frattime ho portato aventi altri pezzi di programma che però mi hanno introdotto una nuova rifflessione, ho appena terminato con un buon esito di codificare una nuova Sub: ButtonConfermaFacit_Click(), anch'essa come la precedente contiene una istruzione ButtonConfermaFacit.Background = &FF0000, in questo caso però il tutto funziona contrariamente a quanto succede nella precedente ButtonCaricoSarta_Click().

L'unica differenza tra le due routine è che quest'ultima è molto più complessa e quindi lunga da eseguire, impegna quindi molti più tempi macchina, mentre la precedente è molto più diretta e veloce.

Forse è quindi per questi motivi che si verifica il problema!

Che ne dite?

Ciaooooo  :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: vuott - 24 Agosto 2017, 16:27:00
Che ne dite?
Dico, o meglio, torno a dirti che è opportuno che tu alleghi un piccolo e semplice progetto (come ha fatto Gianluigi per aiutarti) riproducente il problema che fino ad ora hai sollevato.
Diversamente sarà difficile aiutarti.
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 24 Agosto 2017, 21:20:52
Facciamo un'ipotesi di algoritmo, io carico attraverso delle textbox, dei checkbox e dei combobox i dati per la sarta, se il pulsante che valuta (penso sia caricosarta) valuta  che tutti gli inserimenti vanno bene allora cambierà lo stato del booleano a true altrimenti a false. Ma prima del valutatore che sarà posta in fondo alla routine e che dovrà solo vedere se il booleano è a true o false e in base a questo cambiare il colore  e basta.

Come ho avuto modo di poter spiegare in un messaggio privato spedito oggi a GianLuigi, e come sperro di spiegarmi altrettanto bene ora, il pulsante Carico sarta non serve ad altro che a settare un flag che dice: "Questa lavorazione è a carico della sarta" ma non fa altre valutazioni, il fatto che volevo cambiare il background era solo per avere graficamente la visione che si era settato il flag, niente di più.

Codice: [Seleziona]
Public Sub ButtonCaricoSarta_Click()
'############################################################# Inserimento / disinserimento del flag CARICO SARTA #####

  If SwSart = False
    SwSart = True
    ButtonCaricoSarta.Background = &00FF00
  Else
    SwSart = False
    ButtonCaricoSarta.Background = &FF0000
  Endif

End

In poche parole quando si va a schiacciare quel pulsante il programma si chiede in che condizione è lo switch SwSart e lo modifica di conseguenza colorando il pulsante di verde se il flag diventa attivo (true) o di rosso se diventa passivo (false); tutto ciò per poter avere il controllo su quella condizione prima della conferma di quella parte di inserimenti.

Se vedete lo scrrenshoot allegato potrete individuare i dati come N.Capi, Nominativo ed il pulsante Carico Sarta.

Dopo quella conferma i dati succitati (compreso lo stato del flag) verranno memorizzati in un Array generale ove vengono registrati tutti i dati del D.D.T. in corso, naturalmente a termine bolla questi dati verranno stampati (in questo momento su un modulo a snap-out di una nota ditta di materiale per ufficio) e poi registrati in un apposito file.

Volendovela dire tutta ci sarà poi un secondo programma che analizzerà il file registrato e da quello ricaverà una fattura mensile per ogni negozio.

Questo è il progetto che sto cercando di sviluppare e che già gira su una evoluzione di un computer Sinclari Ql.

Comunque come segnalo nella risposta n. 15 ho trovato un palliativo per recuperare almeno parzialmente la funzionalità del pulsante, il problema e che se voglio poter avere la possibilità di modificare il pulsante non devo perdere il fuoco verso il pulsante di conferma.

Ringrazio tutti per la pazienza.

Caioooo  :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 24 Agosto 2017, 22:48:52
E infatti io ti ho risposto che avevi spiegato solo adesso che la mia ipotesi di algoritmo era sbagliata.
OK ma non è che poi tu ci spieghi cosa vai cercando, continui a proporre lo stesso codice e la stessa immagine come se fosse sufficiente a farci capire.
Sia Vuott che io ti abbiamo invitato a esemplificare il tutto con un codice limitato al problema, se lo puoi fare bene, altrimenti cosa vuoi che ti rispondiamo...

Ad esempio una cosa veramente incomprensibile per me è che ci sia un pulsante il cui unico scopo è variare un booleano e cambiare il proprio colore, questo mi fa pensare che ci sia qualcosa che non va nell'algoritmo.
Sembra che ci sia bisogno dell'operatore a controllare che le cose siano giuste e non il programma stesso, un po come se il lavoro fosse fatto a mano e non da un'intelligenza artificiale.
 :ciao:

P.S. Ho rimosso la risposta come mi avevi indicato.
Titolo: Re:Come governare un bottone in evento Click
Inserito da: vuott - 24 Agosto 2017, 23:55:15
" ......
  Le corde stridono,
  La voce manca,
  Sul ponte sventola
  Bandiera bianca !
"

   (http://www.a5club.it/images/smilies/emoticon/whiteflag.gif)
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Arco - 25 Agosto 2017, 08:52:41
Citazione
Dopo quella conferma i dati succitati (compreso lo stato del flag) verranno memorizzati in un Array generale ove vengono registrati tutti i dati del D.D.T. in corso, naturalmente a termine bolla questi dati verranno stampati (in questo momento su un modulo a snap-out di una nota ditta di materiale per ufficio) e poi registrati in un apposito file.
Spero di aver capito, almeno in parte il tuo problema.
Da quello che scrivi io ho capito che prima va premuto il pulsante carico sarta e poi vengono memorizzati i dati inseriti.
Io modificherei la Public Sub ButtonCaricoSarta_Click() inserendo prima un controllo se sono stati inseriti tutti i dati richiesti e poi cambierei il flag SwSart e procedere successivamente alla memorizzazione dei dati.
Spero di essere stato di aiuto.
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 25 Agosto 2017, 11:31:56
In ogni caso vi ringrazio della vostra pazienza....

Ad esempio una cosa veramente incomprensibile per me è che ci sia un pulsante il cui unico scopo è variare un booleano e cambiare il proprio colore, questo mi fa pensare che ci sia qualcosa che non va nell'algoritmo.
Sembra che ci sia bisogno dell'operatore a controllare che le cose siano giuste e non il programma stesso, un po come se il lavoro fosse fatto a mano e non da un'intelligenza artificiale.

È questo il punto su cui ci stiamo incagliando, il controllo sulla correttezza dei dati è riservato all'operatore e non alla macchina, in fondo siamo davanti ad un data entry, come può la macchina controllare se un lavoro e a carico sarta o a carico negozio? A noi arrivano i vari capi con dei foglietti attaccato ove c'è scritto la lavorazione da eseguire ed a carico di chi (va detto che i carico sarta sono sempre più rari) ed attraverso a questo programma facciamo partire il processo informatico.

Mi rendo conto che invece di un pulsante si poteva descrivere una Ceck Box o un Toogle Button, la mia scelta era ricaduta su un pulsante solo perché in quel modo è stato fatto il precedente programma, e per funzionare funziona, l'unica cosa è questo problema del cambio colore che mi sta un po' bloccando, vorrei comunque provare ad usare un Toogle Button per vedere cosa succede.

Grazie a tutti

Ciaoooo :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 25 Agosto 2017, 11:42:26
come può la macchina controllare se un lavoro e a carico sarta o a carico negozio?

Semplice, valutando i dati di inserimento, non serve nessun intervento umano tranne quello dell'inserimento dati.

 :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 25 Agosto 2017, 11:42:54
Grazie Arco,

Spero di aver capito, almeno in parte il tuo problema.
Da quello che scrivi io ho capito che prima va premuto il pulsante carico sarta e poi vengono memorizzati i dati inseriti.
Io modificherei la Public Sub ButtonCaricoSarta_Click() inserendo prima un controllo se sono stati inseriti tutti i dati richiesti e poi cambierei il flag SwSart e procedere successivamente alla memorizzazione dei dati.
Spero di essere stato di aiuto.

In modo di porre come ultima operazione l'attivazione del Carico Sarta o meno, poi la conferma, in effetti ci può stare, così il sistema è un po' più controllato.

in effetti questo programma non eccelle per i controlli sugli input presenti, va detto che è usato da poche persone (due) che ormai non commettono più errori nel data entry.
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Arco - 25 Agosto 2017, 11:45:24
Forse non capisco io ma dall'immagine postata io vedo un sacco di informazioni che il computer può controllare se inserite tipo numero, data, cliente, ecc.
E' sempre meglio effettuare i controlli sugli input.
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 25 Agosto 2017, 11:48:30
Forse non capisco io ma dall'immagine postata io vedo un sacco di informazioni che il computer può controllare se inserite tipo numero, data, cliente, ecc.

Infatti!

Te lo ripeto l'algoritmo del vecchio programma andrebbe cambiato in meglio e non ricopiato, altrimenti ti basta continuare con il vecchio.
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 25 Agosto 2017, 11:49:16
Grazie GiaLuigi....


Semplice, valutando i dati di inserimento, non serve nessun intervento umano tranne quello dell'inserimento dati.


In effetti come ho scritto ad Arco questo programma non eccelle certo nella valutazione dei dati, direi che è quasi assente, anzi con questa versione la situazione è leggermente migliorata perché con l'utilizzo dei vari oggetti nuovi che possiede Il Gamberetto si è un po' delimintato le possibilità di input.
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 25 Agosto 2017, 11:55:34
Grazie GiaLuigi....


Semplice, valutando i dati di inserimento, non serve nessun intervento umano tranne quello dell'inserimento dati.


In effetti come ho scritto ad Arco questo programma non eccelle certo nella valutazione dei dati, direi che è quasi assente, anzi con questa versione la situazione è leggermente migliorata perché con l'utilizzo dei vari oggetti nuovi che possiede Il Gamberetto si è un po' delimintato le possibilità di input.

Bene allora te lo ripeto, scrivi cosa vuoi ottenere esattamente dal tuo programma, possibilmente con un'esemplificazione se ti riesce, comunque sarebbe già sufficiente avere chiaro il problema e vedrai che un abbrivio lo otterrai sicuramente.
Ricorda che se parti sul binario sbagliato, prima o poi deragli.

Fai con calma e spiega bene il problema.

 :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: vuott - 25 Agosto 2017, 12:59:46
Ricorda che se parti sul binario sbagliato, prima o poi deragli.
...ma... ma tu non avevi a che fare con le navi ?   (http://www.nokioteca.net/home/forum/uploads/emoticons/default_mumble.gif)
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 25 Agosto 2017, 13:36:22
Ricorda che se parti sul binario sbagliato, prima o poi deragli.
...ma... ma tu non avevi a che fare con le navi ?   (http://www.nokioteca.net/home/forum/uploads/emoticons/default_mumble.gif)

Hai ragione, per me sarebbe stato più corretto scrivere "... se salpi con una falla prima o poi affondi"  ;D
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 25 Agosto 2017, 13:54:43
Ricorda che se parti sul binario sbagliato, prima o poi deragli.
...ma... ma tu non avevi a che fare con le navi ?   (http://www.nokioteca.net/home/forum/uploads/emoticons/default_mumble.gif)

Hai ragione, per me sarebbe stato più corretto scrivere "... se salpi con una falla prima o poi affondi"  ;D

Vero, vero.......

(Sto preparando una mega risposta ove dattaglio tutta la maschera di input su cui discutiamo).
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 25 Agosto 2017, 14:17:57
(Sto preparando una mega risposta ove dattaglio tutta la maschera di input su cui discutiamo).

Non ti dimenticare di scrivere anche in quante persone possono accedere contemporaneamente al programma e quale database intendi usare, sempre che tu ritenga utile l'aiuto di Tornu, Arco & C.  ;D

Vedrai che roba, spazzerai via la concorrenza  :D
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 25 Agosto 2017, 14:23:32
Forse non capisco io ma dall'immagine postata io vedo un sacco di informazioni che il computer può controllare se inserite tipo numero, data, cliente, ecc.
E' sempre meglio effettuare i controlli sugli input.

Vero, in effetti guardando l'immagine che ho allegato le date che vedi (esclusa la data riferimento del che riguarda la bolla del negozio che ci da i capi) sono automatiche e vengono acquisite all'apertura del programma, stesso discorso per l'ora in basso a destra il campo Cliente è anch'esso automatico e dipende dalla scelta iniziale di quale negozio si intende realizzare la bolla, per il negozio che potete leggere c'è questa specifica maschera di input, campo Causale è fisso e non viene immesso (è sempre quello per ogni bolla che inseriamo).
Numero Capi e Nominativo qui non vi sono assolutamente controlli (si tratta di ricopiare ciò che c'è scritto sulla bolla del negozio), pulsante Carico sarta attivabile e disattivabile secondo come viene caricata la lavorazione ma senza alcun controllo in origine non è attivo, quindi rosso; dopo di cui vi è una prima conferma con l'apposito tasto Conferma.
Seconda riga di input: Combo box Cod. Capo Si tratta di scegliere il codice della lavorazione dalla lista che appare alla pressione (ora è migliorato perchè in origine era un input e qualche problema lo dava) il dato si desume dalla bolla del negozio, Numero lavori quante lavorazioni si devono eseguire per quel dato codice lavoro, non vi è alcun controllo ed il dato viene desunto dalla bolla del negozio, Lista Capi, il capo su cui si realizza la lavorazione, non è prevista alcuna lavorazione, dopo questa riga di input si conferma di nuovo o attraverso il solito bottone Conferma o attraverso il bottone Fine Cliente.
Mega spazio sotto le righe di input, in verità si tratta di una GridView in questo campo compaiono le righe della bolla così come verranno stampate ed è inattiva (almeno per ora).
Ultimi dati: Aspetto, anch'esso è fisso e non è un input (noi consgnamo solo così) e Numero Capi (totali), anch'esso non è un input, è il totalizzatore di tutti i N. Capi introdotti nella fase di input dei dati.

Spero di aver dissipato i vostri dubbi, se avete ancora domande da pormi fate pure, vi risponderò con piacere.

Ciaoooo :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 25 Agosto 2017, 14:29:34
Non ti dimenticare di scrivere anche in quante persone possono accedere contemporaneamente al programma e quale database intendi usare, sempre che tu ritenga utile l'aiuto di Tornu, Arco & C.  ;D

Vedrai che roba, spazzerai via la concorrenza  :D

Ad usare questo programma siamo in due, ma di solito lo usa mia moglie, per quanto riguarda il data base non ho ancora preso alcuna decisione per cui non saprei indicarvi niente

Ciaooooo :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Arco - 25 Agosto 2017, 14:39:45
Citazione
Vero, in effetti guardando l'immagine che ho allegato le date che vedi (esclusa la data riferimento del che riguarda la bolla del negozio che ci da i capi) sono automatiche e vengono acquisite all'apertura del programma, stesso discorso per l'ora in basso a destra il campo Cliente è anch'esso automatico e dipende dalla scelta iniziale di quale negozio si intende realizzare la bolla, per il negozio che potete leggere c'è questa specifica maschera di input, campo Causale è fisso e non viene immesso (è sempre quello per ogni bolla che inseriamo).
Devi spiegare meglio questa frase. All'apertura del programmo dove prende questi dati? Questi dati sono stati inseriti precedentemente da qualcuno?
Citazione
Numero Capi e Nominativo qui non vi sono assolutamente controlli (si tratta di ricopiare ciò che c'è scritto sulla bolla del negozio)
Chi ha inserito o da dove si ricavano i dati della bolla? Da un file? Chi controlla che vengano importati se i dati sono da qualche parte?
Citazione
per quanto riguarda il data base non ho ancora preso alcuna decisione per cui non saprei indicarvi niente
Qui secondo me sbagli l'approccio. Per prima cosa va creata la struttura del database (tabelle, tipo di record, ecc.) poi si inizia la stesura del programma.
Se durante la stesura del programma ti dimentichi o sono cambiate le necessità ci vuole un attimo ad aggiungere altri capi, ecc al database.
Visto che parti di emissione futura di fattura sei obbligato ad utilizzare un database. Ti consiglio di fare un unico programma per gestire tutte le procedure lavorative e fiscali che devi svolgere nella tua attività.
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 25 Agosto 2017, 15:31:50
Ciao Franco,   :)
non ti preoccupare e soprattutto non ti spaventare.
Qui nessuno ti vuole "obbligare" a fare nulla, solo cerchiamo di dare una mano ognuno come sa.
Arco ha perfettamente ragione a dirti che prima di creare l'interfaccia grafica devi creare il database.
In verità ancor prima del database occorre immaginare il tutto (il famoso algoritmo) e bisognerebbe crearne lo schema.
Lo schema lasciamo perdere perché penso siano pochi persino fra i professionisti a farlo.
Pertanto diamo retta ad Arco e per prima cosa occorre tirare giù tutti i campi che ti servono.
I campi non sono altro che i dati che ti sono utili per il lavoro devi ricordarli tutti.
Per farlo aiutati con le (vecchie) bolle, gli ordini, i preventivi, le fatture ecc.
Poi ti consiglierei di ragionare anche sul lato contabilità.
Io non so se usi la partita doppia o che altro, e di questo non so nulla, ma so che tu sai benissimo quali dati occorrono al tuo commercialista, io ti consiglierei di inserire anche questi campi ti semplificheresti di molto il lavoro.

Per quanto riguarda il database, visto che il programma è usato da un solo operatore per volta SQLite può andare benissimo, e qui ti posso aiutare anche io, se sceglierai database più "performanti" come MySql allora spera che Arco lo conosca oppure che Tornu butti un occhio a questa discussione.

 :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 25 Agosto 2017, 16:46:47
Volevo aggiungere solo un paio di precisazioni:
In ottemperanza alla privacy, non devi postare dati sensibili, pertanto se vuoi fare degli esempi pratici creati un po di clientela e dati di fantasia in modo che sia più agevole lavorare fra di noi agli esempi.

Quando scrivo che se scegli MySQL non sono in grado di aiutarti mi riferisco solo alle funzioni particolari di MySQL che i database dialogano tutti con query scritte in SQL e Tabelle e Viste e li poco ma qualcosa comunque posso dire.

 :ciao:

P.S. Certo che da un bottone che diventa verde o rosso il discorso è decisamente cambiato. Se decidi di proseguirlo occorrerà spostare la discussione...
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Franco_da_vc - 25 Agosto 2017, 21:07:46
Volevo aggiungere solo un paio di precisazioni:
In ottemperanza alla privacy, non devi postare dati sensibili, pertanto se vuoi fare degli esempi pratici creati un po di clientela e dati di fantasia in modo che sia più agevole lavorare fra di noi agli esempi.
È vero, dovrò preparare dei dati che non siano sensibili.

Quando scrivo che se scegli MySQL non sono in grado di aiutarti mi riferisco solo alle funzioni particolari di MySQL che i database dialogano tutti con query scritte in SQL e Tabelle e Viste e li poco ma qualcosa comunque posso dire.

Beh :-\ io so dove sta di casa, ma da qui a saperlo usare... ne passa di acqua sotto i ponti.

P.S. Certo che da un bottone che diventa verde o rosso il discorso è decisamente cambiato. Se decidi di proseguirlo occorrerà spostare la discussione...
Facciamo pure, inizierò a splittare il tema principale, ma domani, oggi tra tendaggi (mentre vi rispondevo stavo mettendo le tende alla mia casa) e cose varie sono un po' cottarello, quasi quasi preferisco l'ufficio alle ferie! ;)

Ciaoooooo :ciao:
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Arco - 27 Agosto 2017, 11:42:48
Leggi questa discussione e guarda il codice allegato per avere un'idea dell'uso di  SQLite
http://www.gambas-it.org/smf/index.php?topic=5564.0
Titolo: Re:Come governare un bottone in evento Click
Inserito da: Gianluigi - 27 Agosto 2017, 15:22:02
Leggi questa discussione e guarda il codice allegato per avere un'idea dell'uso di  SQLite
http://www.gambas-it.org/smf/index.php?topic=5564.0

Ciao Arco,
ammesso e non concesso che Franco sia del tutto digiuno di database, io comunque eviterei di indicare quel particolare database come fonte di studio.
Non fosse altro perchè contiene campi a più valori che come ben sai è errore molto grave da matita rossa.
Addotta un modo di scrivere i comandi SQL poco adatto a scoprirne l'errore di battitura, cosa da evitare già da subito quando si impara.
Non usa appropriati elementi grafici.
Intendiamoci non è che ne ho approfondito lo studio e magari conterrà anche dei pregi, ma credo che quanto suddetto basti per evitarne la raccomandazione.