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
fileReader = My.Computer.FileSystem.ReadAllText("C:\SIDL CORPORATION\MND\VERSION\version.txt")
fileReader = My.Computer.FileSystem.ReadAllText(Repertoire & "VERSION\version.txt")
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
Imports System.Windows.Forms, System.Net, System.IO, System.Security, System.Web, System, System.Text, System.Linq, System.Collections.Generic
Imports System.IO.File
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.
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
System.IO.Directory...... 'Il faut écrire System.IO. pour avoir accès à la classe Directory
Imports System.IO '..... Directory..... 'Il n'est pas nécessaire d'écrire System.IO, ça rend même le code redondant et lourd
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
' 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
System.IOen début de classe tout en haut c'est pour éviter de le recopier X fois après dans le code .
File, Directory, etc....sans taper devant
System.IO
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question' 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
Modifié le 14 août 2020 à 20:33
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 nous recherchons encore le code.
Nous avons un exemple, mes nous cherchons à amélioré le code ci-dessous :
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.
Modifié le 14 août 2020 à 16:57
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)
peut être remplacé par
Si start_dl n'a aucun évènement associé pourquoi mettre
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 .