Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    VB6 - Interrompi operazione

    Salve a tutti. È da alcuni giorni che cerco di risolvere un problema ... ma invano.
    Devo esportare in excel dei dati. Mentre il programma li sta esportando (tramite Do While ... Wend) ho una form che mi dice a che punto è l'esportazione. In questa form ho messo anche un tasto annulla che ha lo scopo di interrompere in qualsiasi momento l'operazione.

    Mentre Do while ... wend sta lavorando, per far intercettare l'evento di interruzione dell'operazione ho inserito la funzione DoEvents. Tutto funziona, solo che dopo aver eseguito il DoEvents, il codice riprende il ciclo Do While da dove l'aveva interrotto.

    Come faccio a uscire da questo vicolo cieco?

    Sperando di essere riuscito a farmi capire, un saluto e un ringraziamento anticipato a chi mi risponde

  2. #2
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    per VB c'è l'apposito subforum: ti sposto lì
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nè quando nè da dove,
    t'amo direttamente senza problemi nè orgoglio:
    così ti amo perchè non so amare altrimenti

  3. #3
    exit do

    p.s. non usare while wend che non lo usa + nessuno usa
    do while loop
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  4. #4
    Innanzitutto grazie per la risposta ... C'è una cosa però che non capisco.

    La struttura del mio codice è:

    Do While Not MioRecordset.EOF
    ...
    DoEvents
    ...
    Loop

    Il comando ExitDo deve succedere solo se clicco sul comando 'Interrompi'. Chiaramente ExitDo non posso metterlo semplicemente dopo la funzione DoEvents perché altrimenti il ciclo si interromperebbe al primo giro.
    Il concetto è: dove e come devo mettere ExitDo?

    Grazie per la risposta e buona giornata.

    Daniele

  5. #5
    codice:
    bAnnulla = false
    do until condizione
       if bAnnulla = true then
           exit do
       end if
    ' normale iterazione
       doevents
    loop
    poi nel pulsante non devi fare altro che valorizzare bAnnulla a true
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  6. #6
    Grazie infinite!

    Buona giornata.

    Daniele

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 © 2024 vBulletin Solutions, Inc. All rights reserved.