Autore Topic: [Risolto] L'evento click rende sorda la sua routine?  (Letto 1770 volte)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
[Risolto] L'evento click rende sorda la sua routine?
« il: 30 Aprile 2019, 14:26:19 »
 :ciao:
Il titolo è un po' d'effetto! :D
Codice: [Seleziona]
' Gambas class file

Static Bol As Boolean = 0

Public Sub BT_parti_Click()

  Dim i As Integer

  Print "Start"
  For i = 1 To 1000

    If Bol = 1 Then

      Print "Fermato"
      Break
    Endif
    Wait 0.01
  Next

  Print "Finito"

End

Public Sub BT_ferma_Click()

  Bol = 1
  Print "Fermata prenotata"

End
Stavo provando e giocando.
In breve, non riesco ad uscire dalla routine che è attivata dal pulsante BT_parti perchè, se anche la variabile booleana Bol cambia, per opera del pulsante BT_ferma, la routine BT_parti non se ne accorge.!
In questo caso come si fa? Qualcuno ha idee?
 :ciao: :ciao:
« Ultima modifica: 13 Maggio 2019, 14:52:15 da kicco »
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Arco

  • Gambero
  • **
  • Post: 93
    • Mostra profilo
Re:L'evento click rende sorda la sua routine?
« Risposta #1 il: 30 Aprile 2019, 14:58:08 »
Finchè non finisce i ciclo For i = 1 To 1000 non puoi eseguire nessuna altra parte del programma.

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:L'evento click rende sorda la sua routine?
« Risposta #2 il: 30 Aprile 2019, 15:24:19 »
 :ciao:
Citazione
Finché non finisce i ciclo For i = 1 To 1000 non puoi eseguire nessuna altra parte del programma.
Non ne sono sicuro sai!
Premendo il pulsante BT_ferma, durante l'esecuzione del loop, la variabile Bol cambia e il print viene eseguito.
È qualcos'altro!  :-\
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:L'evento click rende sorda la sua routine?
« Risposta #3 il: 30 Aprile 2019, 15:37:12 »
Intanto ho scoperto che al primo RUN del programma in consolle non viene scritto nulla, se non alla fine dell'intera esecuzione del programma. La seconda volta invece vengono scritti i Print man mano che si presentano nell'esecuzione.
Ma la cosa più strana è che se la variabile booleana la dichiaro e cambio usando 0 e 1 la routine non funziona.
Se la variabile la gestisco con FALSE e TRUE invece funzia!!! :hard:
 :'(
Baco del programma o dell'operatore?  :D
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:L'evento click rende sorda la sua routine?
« Risposta #4 il: 30 Aprile 2019, 17:41:23 »
Scusa per la brevissima attenzione che ti dedico  :-*
A occhio credo sia dovuto al fatto che usi boolean in modo non corretto.
Cambia con false e true e dovrebbe funzionare, oppure usa un integer.
Spero che il suggerimento sia corretto, a più tardi.

 :ciao: :ciao:

Infatti non avevo letto tutto  :-[
« Ultima modifica: 30 Aprile 2019, 18:43:31 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:L'evento click rende sorda la sua routine?
« Risposta #5 il: 30 Aprile 2019, 18:31:01 »
Ho dimenticato di aggiungere questo, prova questo codice:
Codice: [Seleziona]
Public Sub Form_Open()

  Print CInt(True)
  Print CInt(False)

End

Quindi puoi cambiare il codice così:
Codice: [Seleziona]
Static Bol As Boolean

Public Sub BT_parti_Click()

  Dim i As Integer

  Print "Start"
  For i = 1 To 1000

    If Bol Then

      Print "Fermato"
      Break
    Endif
    Wait 0.01
  Next

  Print "Finito"

End

Public Sub BT_ferma_Click()

  Bol = -1
  Print "Fermata prenotata"

End

 :ciao:
« Ultima modifica: 30 Aprile 2019, 18:39:46 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:L'evento click rende sorda la sua routine?
« Risposta #6 il: 30 Aprile 2019, 19:11:56 »
 :ciao:
Grazie Gianluigi, mi hai fatto scoprire una cosa che non sapevo.
Da Wikipedia:
Citazione
In alcuni linguaggi, come il C, non esistono variabili di questo tipo in quanto nelle espressioni logiche si assume che falso corrisponda a 0 e vero a qualsiasi valore diverso da 0. Formalmente si indica il valore vero con -1 essendo esso il complemento a uno di 0 (falso), quindi la negazione bit a bit di una variabile.
Ero assolutamente convinto che vero (TRUE) equivalesse solo e solamente a 1!
Il bello di giocare intelligentemente e avere un forum di persone preparate! :P
Danke!  :2birre:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re:L'evento click rende sorda la sua routine?
« Risposta #7 il: 01 Maggio 2019, 00:22:09 »
Infatti False vale 0 mentre per True viene fatto un Not di False (o viceversa, cambia nulla), visto che sono uno il contrario dell'altro, quindi anche i bit devono essere gli uni i contrari degli altri.
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.705
  • Ne mors quidem nos iunget
    • Mostra profilo
« 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 allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:L'evento click rende sorda la sua routine?
« Risposta #9 il: 02 Maggio 2019, 16:43:29 »
prova usando "wait" nel ciclo, in questo modo processa la coda degli eventi in modo asincrono
se corri, morirai stanco (motto degli sniper)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:L'evento click rende sorda la sua routine?
« Risposta #10 il: 02 Maggio 2019, 16:55:04 »
Citazione
prova usando "wait" nel ciclo...
:rolleyes:
L'ho usato!
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:[Risolto] L'evento click rende sorda la sua routine?
« Risposta #11 il: 18 Agosto 2019, 20:46:43 »
a proposito di:
Citazione
Ero assolutamente convinto che vero (TRUE) equivalesse solo e solamente a 1!
http://forum.gambas.one/viewtopic.php?f=4&t=738
Mi ha fatto sentire meno solo! E Cedron non è certo l'ultimo arrivato! Mi consolo!  :2birre:
Mi sono dato anch'io il colpo sulla fronte!
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re:[Risolto] L'evento click rende sorda la sua routine?
« Risposta #12 il: 18 Agosto 2019, 20:50:07 »
Queste sono cose che chi ha cominciato a programmare 30 anni fa conosce bene... ;)
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.