Demande d'aide sur le codage d'un système de mise à jour. [Résolu]

Signaler
Messages postés
8
Date d'inscription
lundi 30 septembre 2019
Statut
Membre
Dernière intervention
17 août 2020
-
Messages postés
2235
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 septembre 2020
-
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

Messages postés
2235
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 septembre 2020
113
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 )


Messages postés
8
Date d'inscription
lundi 30 septembre 2019
Statut
Membre
Dernière intervention
17 août 2020

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.
Messages postés
2235
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 septembre 2020
113 >
Messages postés
8
Date d'inscription
lundi 30 septembre 2019
Statut
Membre
Dernière intervention
17 août 2020

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 .
Messages postés
14758
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 septembre 2020
433
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
Messages postés
8
Date d'inscription
lundi 30 septembre 2019
Statut
Membre
Dernière intervention
17 août 2020

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
Messages postés
14758
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 septembre 2020
433 >
Messages postés
8
Date d'inscription
lundi 30 septembre 2019
Statut
Membre
Dernière intervention
17 août 2020

Oui justement puisque tu l’as inclue c’est pas la peine de réécrire partout System.IO
Messages postés
2235
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 septembre 2020
113 >
Messages postés
14758
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 septembre 2020

Salut Whis
Bien vu : j'avais pas vu
Messages postés
14758
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 septembre 2020
433 >
Messages postés
2235
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 septembre 2020

Et oui, j'ai vu ;)
Messages postés
14758
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 septembre 2020
433
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.


Messages postés
8
Date d'inscription
lundi 30 septembre 2019
Statut
Membre
Dernière intervention
17 août 2020

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.
Messages postés
14758
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 septembre 2020
433
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
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Messages postés
8
Date d'inscription
lundi 30 septembre 2019
Statut
Membre
Dernière intervention
17 août 2020

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é.
Messages postés
2235
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 septembre 2020
113 >
Messages postés
8
Date d'inscription
lundi 30 septembre 2019
Statut
Membre
Dernière intervention
17 août 2020

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
Messages postés
14758
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 septembre 2020
433
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
Messages postés
14758
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 septembre 2020
433
Ha et il ne faut pas poster les codes en doublons, y’a un bouton pour les mettre à jour....
Messages postés
8
Date d'inscription
lundi 30 septembre 2019
Statut
Membre
Dernière intervention
17 août 2020
>
Messages postés
14758
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 septembre 2020

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.
Messages postés
2235
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 septembre 2020
113 >
Messages postés
14758
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 septembre 2020

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
Messages postés
14758
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 septembre 2020
433
Contrairement à ce que tu dis, le lien github est toujours dans la description.

Aussi tu as laissé l’exécutable dans le zip