Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Tasto
Forum - C# / VB.NET - Tasto "PANIC" in VB 2008 Express

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
cbcup (Normal User)
Newbie


Messaggi: 17
Iscritto: 12/10/2010

Segnala al moderatore
Postato alle 23:50
Venerdì, 15/10/2010
Salve, sto provando a creare un piccolo programma con più timer molto semplice, ho bisogno di creare un pulsante con comando del tipo "Me.Close()" che fermi un qualsiasi ciclo senza che però mi butti fuori dal programma. Girovagando tra i vari programmi di utility ho trovato come pausare e resettare un ciclo ma non qualcosa che somigli al tasto "Panic" che operi sul programma stesso a prescindere da quale ciclo sia in esecuzione. Prima di chiedere aiuto ho sbattuto la testa fino a farmi venire l'emicrania, datemi un moment!
Grazie, Carlo.:-|

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
4
Down
V
Segnala al moderatore
Postato alle 18:03
Sabato, 16/10/2010
Perché non esegui tutto in un thread diverso? In questo modo potresti killare o sospendere il thread senza uscire dall'applicazione.

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
2
Down
V
Segnala al moderatore
Postato alle 20:50
Martedì, 19/10/2010
Basta enumerare i timer e fermarli tutti:
Codice sorgente - presumibilmente VB.NET

  1. For Each Ctrl As Control In Me.Controls
  2.    If TypeOf Ctrl Is Timer Then
  3.       DirectCast(Ctrl, Timer).Stop()
  4.    End If
  5. Next


PM
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 23:56
Venerdì, 15/10/2010

Un Timer lo puoi stoppare, con Me.TimerPippo.Stop e lo fai ripartire con

Me.TimerPippo.Start.


If ok Then GOTO Avanza else GOTO Inizia

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
1
Down
V
Segnala al moderatore
Postato alle 16:32
Domenica, 17/10/2010
Testo quotato

Postato originariamente da cbcup:

Ciao Totem, ciao Ultimo.
Spiego cosa vorrei fare, devo comandare una stupidissima scheda I/O con 8 relè che temporizzo come un comune semaforo con più tempi richiamati da altrettanti pulsanti. Il problema nasce quando, prevedendo che chi utilizzerà questa apparecchiatura, potrebbe sbagliare pulsante e, volendo corregersi, deve bloccare la procedura e premere il tasto giusto. Dato che sono previste otto tempistiche differenti e volendo lasciare il programma il più possibile facile da modificare pensavo di non nidificare le procedure. Ho provato con comandi del tipo "Dispose" ma non ho trovato nulla come "Start - Stop" che possa "Resettare" ed uscire dalla procedura. Sono alle primissime armi con il VB e mi piace questa sfida, ho anche vari PLC con relativo programmatore ma non voglio arrendermi. A proposito esiste ancora il "Go To"? :rofl:



Exit Sub esce da una procedura, Dispose non è un comando, e Start e Stop ri riferiscono ad un timer, mentre io ti avevo suggerito un thread. Di tutto questo, la situazione è poco chiara senza il codice.

P.S.: GoTo è supportato, ma non consigliato.

PM
Avatar
cbcup (Normal User)
Newbie


Messaggi: 17
Iscritto: 12/10/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 12:27
Sabato, 16/10/2010
Testo quotato

Postato originariamente da Ultimo:


Un Timer lo puoi stoppare, con Me.TimerPippo.Stop e lo fai ripartire con

Me.TimerPippo.Start.




OK! questo è il primo passo e mi aiuta molto, devo solo adattarlo. Se riesco a resettare tutti i timer contemporaneamente dovrebbe funzionare come "Panic"
Grazie. :k:

PM
Avatar
cbcup (Normal User)
Newbie


Messaggi: 17
Iscritto: 12/10/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 13:20
Sabato, 16/10/2010
E no, proprio non trovo un comando semplice ed efficace per stoppare l'intero programma senza uscirne. Ok continuo a sbatterci la testa, prima o poi ne verrò a capo. :pat:

PM
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 13:53
Sabato, 16/10/2010

Inserisci il codice completo quì con un (copia e incolla) tra i tag code. :_doubt:



If ok Then GOTO Avanza else GOTO Inizia

PM
Avatar
cbcup (Normal User)
Newbie


Messaggi: 17
Iscritto: 12/10/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 9:30
Domenica, 17/10/2010
Ciao Totem, ciao Ultimo.
Spiego cosa vorrei fare, devo comandare una stupidissima scheda I/O con 8 relè che temporizzo come un comune semaforo con più tempi richiamati da altrettanti pulsanti. Il problema nasce quando, prevedendo che chi utilizzerà questa apparecchiatura, potrebbe sbagliare pulsante e, volendo corregersi, deve bloccare la procedura e premere il tasto giusto. Dato che sono previste otto tempistiche differenti e volendo lasciare il programma il più possibile facile da modificare pensavo di non nidificare le procedure. Ho provato con comandi del tipo "Dispose" ma non ho trovato nulla come "Start - Stop" che possa "Resettare" ed uscire dalla procedura. Sono alle primissime armi con il VB e mi piace questa sfida, ho anche vari PLC con relativo programmatore ma non voglio arrendermi. A proposito esiste ancora il "Go To"? :rofl:

PM
Pagine: [ 1 2 3 ] Precedente | Prossimo