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

    [VB.NET] Interruzione Loop

    Chiedo Scusa per il titolo, ma inizialmente avevo scritt un problema che poi si è rivelata una mia distrazione! Ora ho editato per il problema che è sorto dopo, ma il titolo è rimasto invariato. Chiedo pietà hai moderatori, non bannatemi per questa mia piccola distrazione!
    Capita a tutti di sbagliare, no?

    ________

    Quì la parte di codice interessata:

    codice:
    Do While sr.Peek <> -1
                textline = Split(sr.ReadLine, ",")
                mpqfile = textline(0)
                Console.WriteLine(mpqfile)
                release = textline(1)
                Console.WriteLine(release)
                prever = textline(2)
                Console.WriteLine(prever)
    
                If Not File.Exists(InstallPath & "\Data\" & mpqfile & mpqext) Then
    
                    If File.Exists(InstallPath & "\Data\" & prever & mpqext) Then
                    Panel1.Visible = True
                    Label3.Text = "Download in corso della Patch " & release & ". Attendere."
                    objProgressbar.Text = "Download Patch " & release
                    Downloadnow = True
                    Label1.Text = ("Scaricamento Patch " & release & "in corso. Attendere.")
                    Button1.Enabled = False
                    Button1.Image = Starter.My.Resources.Resources.playd
                    Dim PatchUrl = ("http://www.wowfol.altervista.org/patch/" & mpqfile & mpqext)
                    TempFile = (InstallPath & "\Data\" & mpqfile & tempext)
                    Try
                        _Downloader = New WebFileDownloader
                        _Downloader.DownloadFileWithProgress(PatchUrl, TempFile)
    
    
                        Console.WriteLine("Downloading to: " & TempFile)
                    Catch ex As Exception
                        MessageBox.Show("Error: " & ex.Message)
                    End Try
                Else
                    Label3.Text = "Impossibile completare l'installazione della Patch " & release & ". Le cause possono essere dovute alla mancanza di una precedente patch oppure per aver annullato il Download. Inoltre, Se è la prima volta che utilizzi questo Downloader, assicurati che la versione installata di World of Warcraft sia 3.2.0."
                End If
                End If
            Loop
    Premessa:
    Partiamo dall'inizio di tutto in modo da capire bene cosa fa il programma, altrimenti è tutta una contorsione e non si capisce nulla.

    Questo è una specie di Update per un gioco.
    Controlla dei file, se alcuni esistono ed altri no, allora scarica aggiornamenti etc.

    Quando il programma termina un download, rinomina il file scaricato in una certa maniera per rendere esatto il Secondo IF, dopo questo fa il loop, e quindi passa alla seconda riga dello streamreader per controllare un'altro file.

    Il secondo if, controlla se il file precedente è stato scaricato e rinominato correttamente.
    Quindi, se io interrompo il download, Il download appunto non termina e questo file non viene rinominato e quindi rende il Secondo IF Falso.


    Facendo molteplici prove, c'è questo piccolo problema, che non è grave, però vorrei sistemarlo perchè altrimenti potrebbe confondere chi usa il programma.

    La prova è questa.
    Rendo Falso il Secondo IF, quindi passa all'else e mostra quel messaggio lungo sulla label3.
    Fatto questo, ripete il loop.

    Mentre io vorrei che quando viene settato il testo sulla label3, il loop termina.

    Questo perchè?
    perchè facendo di nuovo il loop, controlla altri file, e quindi nel messaggio di errore mi restituisce l'ultimo 'pezzo' ricavato dallo streamreader.

    Esempio pratico.

    Patch1 - Non installata

    Il programma tenta (e mostra) di installare la Patch-2

    Ma siccome la Patch-1 Manca, non la installa e restituisce l'errore indicando che la patch2 non può essere installata.. etc
    però essendoci il loop, continua a controllare l'esistenza di tutte le patch. E alla fine nel mesaggio di errore mi restituisce: impossibile installare patch5, che non centra nulla e confonde l'utente. xD

    Help Please!

  2. #2
    Ho risolto con Exit Do.

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