Demande d'aide sur le codage d'un système de mise à jour.

Résolu
Utilisateur anonyme - Modifié le 13 août 2020 à 23:19
vb95 Messages postés 3505 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 17 août 2024 - 17 août 2020 à 10:15
Bonjour, bonsoir.

Nous sommes actuellement en train de développer un logiciel, dont nous souhaiterons avoir votre aide pour un codage que nous avons perdu dans nos fichiers.

Nous souhaiterons mettre en place un système de mise à jour manuel, avec une barre de progression.

Nous avons les codages ci-dessous :

Imports System.Windows.Forms, System.Net, System.IO, System.Security, System.Web, System, System.Text, System.Linq, System.Collections.Generic
Imports System.IO.File

Public Class UpdateDialog
    Dim VersionActuelle As String = My.Computer.FileSystem.ReadAllText("C:\SIDL CORPORATION\MND\VERSION\version.txt") ' Version actuelle de ce logiciel
    Private Sub UpdateDialog_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' Cration des fichiers destinataire.
        If System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\") = False Then
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\UPDATE\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\UPDATE\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\LOG\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\LOG\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\VERSION\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\VERSION\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\DATA\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\DATA\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\USERDATA\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\USERDATA\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\LOG\MARKDOWN_UPDATE\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\LOG\MARKDOWN_UPDATE\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\UPDATE\SOFTWARE\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\UPDATE\SOFTWARE\")
        End If

        ' Elements masqué lors de l'affichage de "UpdateDialog".
        NsGroupBox1.Visible = False ' GroupBox de "Logiciel à jour".
        NsGroupBox2.Visible = False ' GroupBox de "Mise à jour disponible".

        ' Elements visible lors de l'affichage de "UpdateDialog".
        TxtTitle.Visible = True
        TxtVersion.Text = " " & Application.ProductVersion
        NsSeperator2.Visible = True
        TxtVersion.Visible = True
        NsButton1.Visible = True

        ' Elements remplis.
        NsLabel6.Value1 = "Le logiciel est à jour"
        NsLabel2.Value1 = Application.ProductName
        NsLabel3.Value2 = " " & Application.ProductVersion
        Dim DernireVersion As String = Nothing
        NsLabel7.Value1 = "Mise à jour disponible : ( " & DernireVersion & " )"
    End Sub

    Private Sub NsButton1_Click(sender As Object, e As EventArgs) Handles NsButton1.Click
        CheckUpdates() ' On apelle la fonction CheckUpdate qui verifie les mise à jour disponible
    End Sub

    Sub CheckUpdates() ' Fonction CheckUpdate qui sera appelé au lancement du logiciel
        Dim Client As WebClient = New WebClient
        'My.Computer.FileSystem.DeleteFile("C:\SIDL CORPORATION\MND\VERSION\version.txt")
        Client.DownloadFileAsync(New Uri("https://***-********.**/download/MND/version.txt"), "C:\SIDL CORPORATION\MND\VERSION\version.txt")
        Dim fileReader As String
        fileReader = My.Computer.FileSystem.ReadAllText("C:\SIDL CORPORATION\MND\VERSION\version.txt")
        MsgBox(fileReader)

        Dim MAJ As New WebClient ' On déclare la variable MAJ qui contient WebClient (sert à télécharger le contenu d'une page Web
        Dim DernireVersion As String = MAJ.DownloadString("https://***-********.**/download/MND/version.txt") ' On assigne la valeur récupéré dans le fichier Version.txt à la varibale "DerniereVersion" pour ensuite la comparer

        If VersionActuelle = DernireVersion Then ' SI la version actuelle est égale à la dernière version, alors
            NsButton1.Enabled = False
            NsGroupBox1.Visible = True ' GroupBox de "Logiciel à jour".
            MsgBox("Le logiciel est à jour" & vbNewLine & "Version disponible : " & DernireVersion, MsgBoxStyle.Information, "MND - UPDATE") ' on affiche ce message

            Me.Close()
        Else 'sinon
            NsGroupBox2.Visible = True ' GroupBox de "Mise à jour disponible".
            MsgBox("Le logiciel n'est pas à jour" & vbNewLine & "La dernière version est : " & DernireVersion, vbOKOnly + MsgBoxStyle.Critical, "Erreur") ' On affiche ce message (le logiciel n'est pas à jour
        End If
    End Sub


Mes nous voulons donc ci-dessous

- Lors de l'ouverture, cliquez sur le bouton "Vérifié la version" qui lui afficheras soient NsGroupBox1 ( Logiciel à jour ) ou sinon NsGroupBox2 (Mise à jour disponible).
- Nous voulons aussi que lors du clique sur le bouton, il vérifie le ficher (version.txt /ou version.md) sur notre serveur et compare la version logiciel avec la version écrite sur le fichier qui et en ligne sur notre serveur.

NOTRE LOGICIEL ET EN VB.NET CAR NOUS AVONS MISE EN PLACE UN THEME. DONT LE LOGICIEL SERAS AUSSI EN C# PROCHAINEMENT.

6 réponses

vb95 Messages postés 3505 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 17 août 2024 169
Modifié le 14 août 2020 à 01:01
Bonjour
Simplifiez le code ainsi
Inutile de tester les sous-répertoires si le répertoire de base n'existe pas
Public Class UpdateDialog

    ' répertoire de base
    Private Repertoire as String = "C:\SIDL CORPORATION\MND\"  
    Private VersionActuelle As String = My.Computer.FileSystem.ReadAllText(Repertoire & "VERSION\version.txt") ' Version actuelle de ce logiciel

    Private Sub UpdateDialog_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Création des fichiers destinataire.
        
        If System.IO.Directory.Exists(Repertoire) = False Then
            ' on crée le répertoire de base ainsi que les sous-répertoires 
            System.IO.Directory.CreateDirectory(Repertoire)
            System.IO.Directory.CreateDirectory(Repertoire & "UPDATE\")
            System.IO.Directory.CreateDirectory(Repertoire & "LOG\")
            System.IO.Directory.CreateDirectory(Repertoire & "VERSION\")
            System.IO.Directory.CreateDirectory(Repertoire & "DATA\")
            System.IO.Directory.CreateDirectory(Repertoire & "USERDATA\")
            System.IO.Directory.CreateDirectory(Repertoire & "LOG\MARKDOWN_UPDATE\")
            System.IO.Directory.CreateDirectory(Repertoire & "UPDATE\SOFTWARE\")
        End If

        ' la suite de votre code 


Plus bas dans le code intégrez la variable Repertoire dans les fichiers à lire
Exemple pour la ligne 54
fileReader = My.Computer.FileSystem.ReadAllText("C:\SIDL CORPORATION\MND\VERSION\version.txt")

par
fileReader = My.Computer.FileSystem.ReadAllText(Repertoire & "VERSION\version.txt")


Cela simplifiera le code

enfin ligne 58 et 60 manque la lettre e à la variable DernireVersion ( ne jamais utiliser les lettres accentuées ni le c cédille dans les noms de variable )

Ensuite si des fonctionnalités ne donnent pas le résultat voulu donnez les erreurs éventuelles ( type de l'erreur et son numéro de ligne) ou les paramètres incriminés et leurs valeurs ( celles réelles et celles que vous désireriez )


1
D'accord, je vous remercie pour votre réponse.

If System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\") = False Then
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\UPDATE\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\UPDATE\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\LOG\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\LOG\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\VERSION\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\VERSION\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\DATA\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\DATA\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\USERDATA\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\USERDATA\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\LOG\MARKDOWN_UPDATE\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\LOG\MARKDOWN_UPDATE\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\UPDATE\SOFTWARE\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\UPDATE\SOFTWARE\")
        End If

Le code ci-dessus à pour base de créer un répertoire car le logiciel devras écrire à certaine endroits spécialement (dont les répertoire créer) mes nous allons déplacer se code dans Main.vb.

Dont nous aimerons avoir de l'aide de la part de la communautés CodesSources, pour créer un système de mise à jour, sans bien-sûr utilisé la fonctionnalité "ClickOnce", car par la suite, nous allons compilé le logiciel et créer notre propre setup d'installation.

Dont dans le code que vous m'avez partager, nous allons l'inclure aussi en remplacement du codage que nous avons écris.

Dont justement, entre la ligne
58 - 60
nous recherchons encore le code.

Nous avons un exemple, mes nous cherchons à amélioré le code ci-dessous :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim Client As WebClient = New WebClient
            AddHandler Client.DownloadProgressChanged, AddressOf client_ProgressChanged
 
            AddHandler Client.DownloadFileCompleted, AddressOf client_DownloadCompleted
 
            Client.DownloadFileAsync(New Uri("Adresse de téléchargement de ton fichier"), ".\Chemin a partir du .exe \Fichier.extension")
            start_dl.Text = "Téléchargement en cours..."
            start_dl.Enabled = False
            Timer1.Start()
            start_dl.Visible = True
            Label1.Visible = True
            Label2.Visible = True
            Label3.Visible = True
            Label4.Visible = True
            Progressbar1.Visible = True
            Button1.Enabled = False
        Catch exception1 As Exception
 
            MessageBox.Show("Téléchargement Echoué !")
 
            start_dl.Text = "Téléchargement Terminé !"
 
            start_dl.Enabled = False
        End Try
    End Sub
 
    Private Sub client_ProgressChanged(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
        Try
            Dim bytesIn As Double = Double.Parse(e.BytesReceived.ToString())
            Dim bytesIn3 As Double = bytesIn / 1024
            Dim bytesIn2 As Integer = bytesIn3
            Format(bytesIn2, "#0")
 
            Dim totalBytes As Double = Double.Parse(e.TotalBytesToReceive.ToString())
 
            Dim totalBytes3 As Double = totalBytes / 1024
            Dim totalBytes2 As Integer = totalBytes3
            Format(totalBytes, "#0")
 
            Dim percentage As Double = bytesIn / totalBytes * 100
 
            Progressbar1.Value = Int32.Parse(Math.Truncate(percentage).ToString())
            Label1.Text = bytesIn2
            Label3.Text = totalBytes2
        Catch exception1 As Exception
 
            MessageBox.Show("Téléchargement Echoué !")
 
            start_dl.Text = "Téléchargement Terminé !"
 
            start_dl.Enabled = False
        End Try
    End Sub
 
    Private Sub client_DownloadCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
        Try
            Progressbar1.Value = Progressbar1.Minimum
            Button1.Enabled = True
            start_dl.Text = "Téléchargement Terminé !"
 
            start_dl.Enabled = False
 
            MessageBox.Show("Téléchargement Terminé !")
            Timer1.Stop()
        Catch exception1 As Exception
 
            MessageBox.Show("Téléchargement Echoué !")
 
            start_dl.Text = "Téléchargement Terminé !"
 
            start_dl.Enabled = False
        End Try
    End Sub

Dans ceux codage, nous aimerons simplifié le code, dont inclure un système de vérification comme dans notre codage.

Si vous souhaitez, nous pouvons rendre le project en mode partager.
0
vb95 Messages postés 3505 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 17 août 2024 169 > Utilisateur anonyme
Modifié le 14 août 2020 à 16:57
Bonjour
Concernant le code ci-dessus
1) Pourquoi mettre les nombres d'octets de type Double ? On ne reçoit pas des demi-octets ou autre dans le même acabit . Et utilisez \ pour faire des divisions entières et non / .
2) Donnez un nom précis aux contrôles : NombreOctetsRecus est plus parlant que Label1.
3) Mettre des Try Catch à tout bout de champ n'est pas une bonne solution . il faut cibler leur utilité sur les lignes de code qui peuvent poser problème ( téléchargement d'un fichier par exemple ) . De plus un Try Catch dans un Sub principal n'a pas besoin d' être répété dans les sous-programmes de cette même Sub .
4)
            start_dl.Text = "Téléchargement en cours..."
            start_dl.Enabled = False
            Timer1.Start()
            start_dl.Visible = True

peut être remplacé par
            With start_dl
                .Text = "Téléchargement en cours..."
                .Enabled = False
                Timer1.Start()
                .Visible = True
            End with

Si start_dl n'a aucun évènement associé pourquoi mettre
start_dl.Enabled = False


Je me pose aussi la question : à quoi sert Timer1?

J'ai vu que vous avez posté votre source sur le site : celui-ci n'est pas un exemple de ce que l'on peut faire de mieux en .Net .
0
Whismeril Messages postés 19141 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 août 2024 660
14 août 2020 à 09:31
Bonjour

Sans avoir regardé en profondeur, pour que je fasse l’effort, il faudra utiliser correctement les balises de code https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Il y a 2 simplifications qui me sautent aux yeux:

D’abord tout en haut de la classe il y a un import à System.Io.

Donc toute autre mention d System.Io est inutile.

Ensuite, je t’invite à consulter l’aide en ligne avant d’utiliser une classe.
Par exemple https://docs.microsoft.com/fr-fr/dotnet/api/system.io.directory.createdirectory?view=netcore-3.1
Notamment la remarque, tu verras que
If System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\") = False Then
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\UPDATE\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\UPDATE\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\LOG\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\LOG\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\VERSION\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\VERSION\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\DATA\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\DATA\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\USERDATA\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\USERDATA\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\LOG\MARKDOWN_UPDATE\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\LOG\MARKDOWN_UPDATE\")
            System.IO.Directory.Exists("C:\SIDL CORPORATION\MND\UPDATE\SOFTWARE\")
            System.IO.Directory.CreateDirectory("C:\SIDL CORPORATION\MND\UPDATE\SOFTWARE\")
        End If

Se résume à une ligne dans le IF principal
0
Utilisateur anonyme
14 août 2020 à 10:01
Bonjour, la classe et inclus, vous n'avez pas lu ?

Imports System.Windows.Forms, System.Net, System.IO, System.Security, System.Web, System, System.Text, System.Linq, System.Collections.Generic
Imports System.IO.File
0
Whismeril Messages postés 19141 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 août 2024 660 > Utilisateur anonyme
14 août 2020 à 10:07
Oui justement puisque tu l’as inclue c’est pas la peine de réécrire partout System.IO
0
vb95 Messages postés 3505 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 17 août 2024 169 > Whismeril Messages postés 19141 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 août 2024
14 août 2020 à 16:13
Salut Whis
Bien vu : j'avais pas vu
0
Whismeril Messages postés 19141 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 août 2024 660 > vb95 Messages postés 3505 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 17 août 2024
14 août 2020 à 19:04
Et oui, j'ai vu ;)
0
Whismeril Messages postés 19141 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 août 2024 660
16 août 2020 à 17:21
Bonjour

puisque malheureusement les commentaires ne fonctionnent plus, on va parler de ton dépôt de source ici.

D'abord le lien vers ton github n'est pas autorisé dans la description, tu as un champ pour cela dans ton profil

VB95 et moi t'avons proposé des corrections, dont tu n'as pas tenu compte, pire tu "m'accuses"
la classe et inclus, vous n'avez pas lu ?
de ne pas avoir lu ton code, alors que tu n'as pas lu (correctement?) mon message.

Et comme tu n'as fait, ni l'effort de reposter un code corrigé, ni celui de d'utiliser les balises de codes, je n'ai pas fait l'effort de te proposer d'autres améliorations.

Très honnêtement ton code, est mal fait, on dirait un exercice au bout de 2 ou 3 semaines de codage. Et ça c'est plutôt une mauvaise pub pour ta société.
De plus ça n'a pas le niveau attendu d'un code disponible ici.

Ce qui est encore plus mauvais pour l'image de marque de ta société, c'est le nombre de fautes d'orthographes présentes
  • dans la description
  • dans les messageBox
  • dans les commentaires.


Des fautes, on en fait tous, (moi le premier), mais quand on revendique représenter une société, ça la fout mal.


0
Utilisateur anonyme
16 août 2020 à 18:12
Bonjour,

Il n'y a pas de champs qui inclu le lien GitHub, mes ce n'est pas le problème.
J'ai donc corrigé la classe que vous m'avais dit. J'ai donc écris :


Imports System.Windows.Forms
Imports System.Net
Imports System.Security
Imports System.Web, System
Imports System.Text
Imports System.Linq
Imports System.Collections.Generic
Imports System.IO.File


Et je suis juste un employé de la société, je ne suis pas le patron, dont je vais corriger les fautes.
0
Whismeril Messages postés 19141 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 août 2024 660
Modifié le 16 août 2020 à 19:03
Déjà je t'ai demandé de lire le tuto sur l'utilisation des balises de codes, et ensuite de bien les utiliser. Quand c'est le cas, Imports est écrit en bleu.

Ensuite, je ne t'ai pas dit de mettre un import à File.


Je ne dois pas m'exprimer comme il faut, alors je te montre en code

Option 1 pas d'import
System.IO.Directory...... 'Il faut écrire System.IO. pour avoir accès à la classe Directory


Option 2 avec import
Imports System.IO
'.....

           Directory..... 'Il n'est pas nécessaire d'écrire System.IO, ça rend même le code redondant et lourd


Ensuite es tu allé lire l'aide en ligne de la méthode CreateDirectory?
As tu compris en quoi le if que je t'ai extrait contient plein de code inutile?

Je vais mettre les commentaires
            Directory.CreateDirectory("C:\SIDL CORPORATION\MND\\") 'ligne inutile, ps j'ai ajouté un \, parce qu'il y a un petit bug dans les balises de code avec les chaines qui finissent par \", mais même avec ce bug, c'est largement plus lisible que mal utlisées
            Directory.Exists("C:\SIDL CORPORATION\MND\UPDATE\\")  'n'importe quoi, tu ne fais rien du résultat de la méthode Exists => ligne inutile
            Directory.CreateDirectory("C:\SIDL CORPORATION\MND\UPDATE\\")  'ligne inutile
            Directory.Exists("C:\SIDL CORPORATION\MND\LOG\\") 'n'importe quoi, tu ne fais rien du résultat de la méthode Exists => ligne inutile
            Directory.CreateDirectory("C:\SIDL CORPORATION\MND\LOG\"") 'Ligne inutile
            Directory.Exists("C:\SIDL CORPORATION\MND\VERSION\\") 'n'importe quoi, tu ne fais rien du résultat de la méthode Exists => ligne inutile
            Directory.CreateDirectory("C:\SIDL CORPORATION\MND\VERSION\\") 'OK ça crée MND et Version
            Directory.Exists("C:\SIDL CORPORATION\MND\DATA\\") 'n'importe quoi, tu ne fais rien du résultat de la méthode Exists => ligne inutile
            Directory.CreateDirectory("C:\SIDL CORPORATION\MND\DATA\\") 'OK ça crée Data
            Directory.Exists("C:\SIDL CORPORATION\MND\USERDATA\\") 'n'importe quoi, tu ne fais rien du résultat de la méthode Exists => ligne inutile
            Directory.CreateDirectory("C:\SIDL CORPORATION\MND\USERDATA\\") 'OK ça crée UserData
            Directory.Exists("C:\SIDL CORPORATION\MND\LOG\MARKDOWN_UPDATE\\")' n'importe quoi, tu ne fais rien du résultat de la méthode Exists => ligne inutile
            Directory.CreateDirectory("C:\SIDL CORPORATION\MND\LOG\MARKDOWN_UPDATE\\") 'OK ça crée Log et Markdown_Update
            Directory.Exists("C:\SIDL CORPORATION\MND\UPDATE\SOFTWARE\\") 'n'importe quoi, tu ne fais rien du résultat de la méthode Exists => ligne inutile
            Directory.CreateDirectory("C:\SIDL CORPORATION\MND\UPDATE\SOFTWARE\\")  'Ok ça crée Update et Software

5 lignes sur 15 servent à quelque chose.


Voilà, c'est les 2 premiers trucs qui m'avait piqué les yeux.

Maintenant que Karamel (merci à lui) a corrigé la coloration syntaxique de ton premier message, on en voit d'autres, mais on y reviendra plus tard..


Et enfin


ça n'est effectivement pas spécifique à Github, mais ça fait le job
0
Utilisateur anonyme
17 août 2020 à 03:19
D'accord, j'ai donc corrigé.




' répertoire de base
Private Repertoire As String = "C:\SIDL CORPORATION\MND\"
Private VersionActuelle As String = My.Computer.FileSystem.ReadAllText(Repertoire & "VERSION\version.txt") ' Version actuelle de ce logiciel
Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Création des répertoire du logiciel.
If System.IO.Directory.Exists(Repertoire) = False Then
' on crée le répertoire de base ainsi que les sous-répertoires
System.IO.Directory.CreateDirectory(Repertoire)
System.IO.Directory.CreateDirectory(Repertoire & "UPDATE\")
System.IO.Directory.CreateDirectory(Repertoire & "LOG\")
System.IO.Directory.CreateDirectory(Repertoire & "VERSION\")
System.IO.Directory.CreateDirectory(Repertoire & "DATA\")
System.IO.Directory.CreateDirectory(Repertoire & "USERDATA\")
System.IO.Directory.CreateDirectory(Repertoire & "LOG\MARKDOWN_UPDATE\")
System.IO.Directory.CreateDirectory(Repertoire & "UPDATE\SOFTWARE\")
End If


Et pour le lien, il y'a déjà le site de la société.
0
vb95 Messages postés 3505 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 17 août 2024 169 > Utilisateur anonyme
17 août 2020 à 08:42
Bonjour
Si vous importez
System.IO
en début de classe tout en haut c'est pour éviter de le recopier X fois après dans le code .
ensuite vous pouvez utiliser dans le code les classes
File, Directory, etc....
sans taper devant
System.IO
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril Messages postés 19141 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 août 2024 660
17 août 2020 à 07:55
non toujours pas....

' répertoire de base
    Private Repertoire As String = "C:\SIDL CORPORATION\MND\"
    Private VersionActuelle As String = My.Computer.FileSystem.ReadAllText(Repertoire & "VERSION\version.txt") ' Version actuelle de ce logiciel
    Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' Création des répertoire du logiciel.
        If Directory.Exists(Repertoire) = False Then
            ' on crée le répertoire de base ainsi que les sous-répertoires 
            Directory.CreateDirectory(Repertoire & "UPDATE\")’pas besoin d’une ligne avant, répertoire est créé ici si besoin, si tu prenais la peine de lire l’aide en ligne c’est écrit noir sur blanc
            Directory.CreateDirectory(Repertoire & "LOG\")
            Directory.CreateDirectory(Repertoire & "VERSION\")
            Directory.CreateDirectory(Repertoire & "DATA\")
            Directory.CreateDirectory(Repertoire & "USERDATA\")
            Directory.CreateDirectory(Repertoire & "LOG\MARKDOWN_UPDATE\")
            Directory.CreateDirectory(Repertoire & "UPDATE\SOFTWARE\")
        End If


Et une fois pour toute, fait un peu d’efforts avec les balises de code.
Je te remets, encore une fois le lien vers le tuto
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Whismeril Messages postés 19141 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 août 2024 660
17 août 2020 à 07:57
Ha et il ne faut pas poster les codes en doublons, y’a un bouton pour les mettre à jour....
0
Utilisateur anonyme > Whismeril Messages postés 19141 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 août 2024
17 août 2020 à 10:02
Bonjour, d'accord et je n'est pas du voir le bouton alors. je vais vérifié et voir si je peut supprimer l'autre.
0
vb95 Messages postés 3505 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 17 août 2024 169 > Whismeril Messages postés 19141 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 août 2024
Modifié le 17 août 2020 à 10:23
Salut Whis
Ce bouton de mise à jour disparaît au bout d'un certain temps ( je crois que c'est 1 heure de laps de temps )
Désolé je me suis trompé avec le code que l'on peut mettre dans le forum avec les balises de code
0
Whismeril Messages postés 19141 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 août 2024 660
17 août 2020 à 08:01
Contrairement à ce que tu dis, le lien github est toujours dans la description.

Aussi tu as laissé l’exécutable dans le zip
0
Rejoignez-nous