IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Téléchargement vb launcher [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Par défaut Téléchargement vb launcher
    Bonjour à tous.

    J'ai créé un jeu (rpg maker mv), et j'ai donc fait un launcher/auto-updateur afin d'éviter que les joueurs ne télécharge d'un coup d'un seul les 500Mo du jeu mais aussi permettre que se soit tout le temps à jour.
    Le souci est:
    Le logiciel me dit que le fichier est téléchargé, mais j'en ai trace nul part, les chemins sont bon pourtant.
    Il pèse 374Mo l'installateur à prendre et en 1 seconde ça foire en me disant que tout va bien, mon code n'a pas l'air foireux pour moi mais ça doit être juste une impression sinon ça fonctionnerait.
    J'ai même mis un bouton pour forcer le téléchargement mais pareillement, je ne comprend rien à ce souci :/
    Voilà le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    Imports System.Net
    Imports System.IO
     
     
    Public Class Form1
        Dim yop As VariantType
        Dim NomFich As String
        Dim act As String = "Alpha 1.2.2"
        Dim NbFile As Integer
        Dim fso As FileSystemObject
     
        Private Property ProcID As Integer
     
        Private Property ZipFile As Object
     
        Private Property oFSO As Object
     
        Private Sub LinkLabel1_LinkClicked(sender As System.Object, e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
            Form2.Show()
        End Sub
     
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            ProcID = Shell("C:\Arcanum\game.exe", AppWinStyle.NormalFocus)
     
        End Sub
     
        Private Sub Button2_Click(sender As System.Object, e As System.EventArgs)
     
        End Sub
     
        Sub checkupdates()
            Me.Show()
            Dim maj As New WebClient
            Dim Vers As String = maj.DownloadString("http://chein.fr/arcanum/version.txt")
     
            If My.Computer.FileSystem.FileExists("C:\arcanum\alpha1.2.3.txt") = False Then
                MsgBox("mise à jour vers la version: " & Vers, MsgBoxStyle.Information)
                My.Computer.FileSystem.DeleteDirectory("C:\arcanum", FileIO.UIOption.AllDialogs, FileIO.RecycleOption.SendToRecycleBin)
     
                MsgBox("téléchargement de la nouvelle version en cours", MsgBoxStyle.Information)
                Dim client As WebClient = New WebClient
     
                AddHandler client.DownloadProgressChanged, AddressOf client_ProgressChanged
     
                AddHandler client.DownloadFileCompleted, AddressOf client_DownloadCompleted
     
                client.DownloadFileAsync(New Uri("http://chein.fr/arcanum/Aventure_install.exe"), "c:/aventure_install.exe")
     
                Label3.Text = "téléchargement en cours"
     
                Button1.Enabled = False
     
            Else
                MsgBox("Le jeu est à jour.!", MsgBoxStyle.Information)
     
            End If
        End Sub
     
        Private Sub client_ProgressChanged(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
     
            Dim bytesIn As Double = Double.Parse(e.BytesReceived.ToString())
     
            Dim totalBytes As Double = Double.Parse(e.TotalBytesToReceive.ToString())
     
            Dim percentage As Double = bytesIn / totalBytes * 100
     
            ProgressBar1.Value = Int32.Parse(Math.Truncate(percentage).ToString())
            Label2.Text = ProgressBar1.Value & (" %")
        End Sub
     
     
     
     
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Dim maj2 As New WebClient
            Dim last As String = maj2.DownloadString("http://chein.fr/arcanum/dl.txt")
            Dim maj As New WebClient
            Dim Vers As String = maj.DownloadString("http://chein.fr/arcanum/version.txt")
            MsgBox("La version du jeu est :" & Vers)
            Label1.Text = (Vers)
            Button1.Text = "jouer"
            If My.Computer.FileSystem.FileExists("C:\arcanum\game.exe") = False Then
                checkfile()
            Else
                checkupdates()
            End If
     
        End Sub
     
        Private Function FileNotFoundException() As Boolean
            Throw New NotImplementedException
        End Function
     
        Private Sub ProgressBar1_Click(sender As System.Object, e As System.EventArgs) Handles ProgressBar1.Click
     
        End Sub
     
     
        Private Sub client_DownloadCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
     
            MessageBox.Show("Mise à jour réussie.")
            Label3.Text = "Le jeu est à jour"
     
            Button1.Text = "Jouer"
     
            Button1.Enabled = True
            Label2.Text = ProgressBar1.Value & (" %")
        End Sub
        Sub checkfile()
                Dim maj As New WebClient
                Dim Vers As String = maj.DownloadString("http://chein.fr/arcanum/version.txt")
                MsgBox("Jeu introuvable, téléchargement de la version: " & Vers, MsgBoxStyle.Critical)
                Dim client As WebClient = New WebClient
     
                AddHandler client.DownloadProgressChanged, AddressOf client_ProgressChanged
     
                AddHandler client.DownloadFileCompleted, AddressOf client_DownloadCompleted
     
            client.DownloadFileAsync(New Uri("http://chein.fr/arcanum/Aventure_install.exe"), "c:/aventure_install.exe")
     
            Label3.Text = "téléchargement en cours"
     
                Button1.Enabled = False
        End Sub
     
        Private Sub Button2_Click_1(sender As System.Object, e As System.EventArgs) Handles Button2.Click
            Dim client As WebClient = New WebClient
     
            AddHandler client.DownloadProgressChanged, AddressOf client_ProgressChanged
     
            AddHandler client.DownloadFileCompleted, AddressOf client_DownloadCompleted
     
            client.DownloadFileAsync(New Uri("http://chein.fr/arcanum/setup.exe"), "c:/setup.exe")
     
            Label3.Text = "téléchargement en cours"
     
            Button1.Enabled = False
        End Sub
    End Class
    Merci d'avance de votre aide^^
    cordialement
    vazer7070

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    ton code est tout moche
    commence par mettre des try catch, apprendre la POO, nommer les choses mieux, coder plus propre ... bref lire un bon cours
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Par défaut
    Je peux comprendre ta réaction, néanmoins ne soit pas si méprisant, tu n'es pas né avec la notion de "coder proprement", donc je te prie de revoir ta façon de parler^^
    Je suis auto-didacte et à la recherche de quelque chose de fonctionnel, le code est comme moi - bordélique-, peu à peu je vais le mettre en ordre, le souci n'ets pas la, ce que je demande c'est si il est VRAIMENT bon pour ce que j'essaie de faire.

    Merci d'avance^^

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    si je passais du temps ici pour mépriser les gens ma vie serait vraiment triste ^^
    ce n'est qu'un constat avec des pistes pour que tu trouves le problème et la solution (tu n'en es qu'à l'étape de voir le symptôme du problème)
    et si ca peut te rassurer on me répond aussi sur ce ton quand je pose des questions avec des gros défauts visibles, il ne faut pas y voir du mépris mais une réponse tout simplement, s'attacher au fond et non à la forme

    avec des try catch (et du code dans le catch, parce que certains ne comprennent pas l'utilité du catch ) tu verras si ton code comporte des erreurs d'exécution
    le form_load a tendance à les masquer, et il y a surement une erreur d'exécution, donc en mettant un try catch (au lieu de se plaindre (là non plus c'est pas du mépris c'est une explication et un peu d'humour ^^)) tu as une chance de trouver le problème tout seul (après si tu ne le comprends pas il faudra rechercher sur le net ou reposter ici pour plus d'infos)

    après apprendre la POO permettra de savoir comment faire du code propre (il y a un lien dans ma signature, avec dedans un lien vers le cours complet que j'ai lu avant de commencer à coder en vb.net)
    nommer les choses mieux ca fait du code plus lisible aussi ; button1, button2, form2 transformé en buttonclose, buttonopen, formDetail c'est plus lisible ; ca parait anodin, mais quand tu reliras ton propre code dans quelques mois tu gagneras énormément de temps en compréhension

    ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Par défaut
    Je vais donc voir pour mettre les "try catch" et je reposte le code (avec ou sans problème), merci de ta réponse
    je vais aussi donc insérer des commentaires, ça sera plus détaillé^^
    et oui pour ta signature, je regardais justement les cours proposés afin de voir les méthodes^^

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Trois remarques:

    1) Vraiment pas sûr que VariantType soit accepté par le Framework. Ce n'est pas un type VB6-VBA en tout cas. Variant est un type VB6-VBA et n'est un type .net. Le type .net qui est similaire à Variant, c'est Object.


    2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim fso As FileSystemObject
    Utiliser l'escargot de FileSystemObjet en .net c'est une hérésie. Le Framework contient tout ce qu'il faut et plus pour éviter FSO. D'autant plus que FSO, n'est pas du code managé.

    3) On dirait que tu ramasses du code VB6-VBA et du code VB.net à droite et à gauche et que tu essaies d'en faire un programme VB.net. VB6 et VB.net reposent sur deux technologies très différentes. Les deux sont seulement partiellement compatibles.

    Je Pense que Pol63 a tout à fait raison de te recommander d'apprendre VB.net.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Proposer un téléchargement
    Par chunly dans le forum Flash
    Réponses: 4
    Dernier message: 03/05/2006, 09h43
  2. Proposer le resultat d'une requête en téléchargement
    Par Lux interior dans le forum XMLRAD
    Réponses: 5
    Dernier message: 17/02/2003, 15h44
  3. Proposer un document en téléchargement
    Par Ph. B. dans le forum XMLRAD
    Réponses: 11
    Dernier message: 10/02/2003, 10h27
  4. Bloquer le téléchargement de certains types de fichiers
    Par Nikos dans le forum Développement
    Réponses: 4
    Dernier message: 23/12/2002, 20h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo