Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [VB.NET 2005] Uscire da una sub

    Avevo già postato una domanda del genere, ma mi è stato detto di specificare meglio. Allora vi spiego.
    Sto programmando una calcolatrice. Alla pressione del button "CalcolaButt" esegue il calcolo vero e proprio, ovvero:

    =====

    Stato.Text = "Calcolo in corso..."
    Select Case Operazione
    Case 1
    Z = X + Y
    Case 2
    Z = X - Y
    Case 3
    Z = X * Y
    Case 4
    Z = X / Y
    Case 5
    Z = X \ Y
    Resto = X Mod Y
    Case 6
    Z = X ^ Y
    Case 7
    Z = Math.Sqrt(X)
    End Select
    Display1.Text = X
    Display2.Text = Y
    Display3.Text = Z
    Stato.Text = "Calcolo terminato!"
    ProgressoCalcolo.Value = 100
    If Operazione = 5 Then
    MsgBox("La divisione " & (Chr(13)) & X & " : " & Y & " = " & Z & (Chr(13)) & "Ha come resto: " & Resto, MsgBoxStyle.Information, "Divisione con resto")
    End If

    =====

    Come potrei fare per fare in modo che alla pressione del button "StopButt" durante l'esecuzione del codice sopra (quindi durante il calcolo) si annulli l'operazione?
    Oppure anche la semplice "Pausa" del codice, per fare in modo di finire il calcolo in futuro...

    Grazie.
    «Sogno gente giusta che rifiuti di esser preda di facili entusiasmi e ideologie alla moda...»
    (Lucio Battisti, 1980)

  2. #2
    Nessuno sa niente?
    «Sogno gente giusta che rifiuti di esser preda di facili entusiasmi e ideologie alla moda...»
    (Lucio Battisti, 1980)

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non è questione di non sapere ... molto probabilment nessuno ti ha risposto perche' non e' un problema che abbia tanto fondamento ....

    Il calcolo implica l'esecuzione di pochissime righe in qualche microsecondo e non un in un tempo molto lungo ... cosa vuoi interrompere? Non avresti il tempo materiale di pressare un pulsante di interruzione dopo quello di avvio calcolo ...

    E mettere in "pausa" l'esecuzione di una funzione per eseguirla in "futuro" è un'idea ancora piu' "bizzarra" ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Originariamente inviato da oregon
    Non è questione di non sapere ... molto probabilment nessuno ti ha risposto perche' non e' un problema che abbia tanto fondamento ....

    Il calcolo implica l'esecuzione di pochissime righe in qualche microsecondo e non un in un tempo molto lungo ... cosa vuoi interrompere? Non avresti il tempo materiale di pressare un pulsante di interruzione dopo quello di avvio calcolo ...

    E mettere in "pausa" l'esecuzione di una funzione per eseguirla in "futuro" è un'idea ancora piu' "bizzarra" ...
    un doevents non lo metterebbe in ogni caso in grado di poter fare altro mentre il calcolo va avanti?...in questo caso premere un pulsante.
    "Everybody defamates from miles away
    But face to face, they haven't got a thing to say"

  5. #5
    Se si trattasse di un calcolo lungo la soluzione più semplice sarebbe l'utilizzo di un thread separato (che è possibile mettere in pausa e annullare senza difficoltà).
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Quella del thread sarebbe una buona idea, ma come faccio a crearli e a gestirli?
    «Sogno gente giusta che rifiuti di esser preda di facili entusiasmi e ideologie alla moda...»
    (Lucio Battisti, 1980)

  7. #7
    La MSDN, questa sconosciuta...
    In ogni caso se il calcolo che devi effettuare è quello che hai postato l'uso di thread o di strumenti analoghi è assolutamente inutile, dato che si tratta di un'operazione che si completa nel giro di pochi millisecondi.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Il gabbianone
    Quella del thread sarebbe una buona idea, ma come faccio a crearli e a gestirli?
    Ma perche' pensi che sia una buona idea? Hai riflettuto su quello che ti ho scritto prima di intraprendere un'altra strada ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente bannato
    Registrato dal
    Apr 2008
    Messaggi
    196
    puoi dividere ogni operazione con una funzione specifica..ma come ti è già stato detto non puoi fare intempo ad intercettare il bottone perchè l'operazione di calcolo è velocissima..

  10. #10
    visto che non farai mai in tempo a stoppare il calcolo
    fai un button che svuota il risultato e visualizza uno 0... o un gabbiano..

    ahah scherzi a parte hanno ragione loro non la fermi un operazione del genere.

    e poi a che serve fermarla???? ora mi viene la curiosità
    "Non è la fame, ma l'ignoranza che uccide"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.