La database quand à elle contient ceci : (exemple!!)
Dim AaaaaRecklessDisregard As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\AaaaaRecklessDisregard"
Private Sub SaverButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaverButton.Click
If MainForm.ListBoxGames.Items.Contains("AaaaaRecklessDisregard") Then
If System.IO.Directory.Exists(AaaaaRecklessDisregard) = True Then
My.Computer.FileSystem.CopyDirectory(AaaaaRecklessDisregard, Destination + "\AaaaaRecklessDisregard", True)
End If
End If
end sub
La listboxGames contient le texte "AaaaaRecklessDisregard"
Mon problème est que cette "database" contient maintenant plus de 7000 lignes et je sais qu'il est possible de faire quelque chose de ce genre :
'Button1 de la MainForm :
For each strings in listboxgames.item
My.Computer.FileSystem.CopyDirectory(string, Destination + "\string", True)
Next
'Code database :
sub AaaaaRecklessDisregard
Dim gamename As String = "Aaaaaarecklessdiscard"
Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\AaaaaRecklessDisregard"
Dim savepath As String = MainForm.TextBox0.Text & "\Games\Aaaaaarecklessdiscard"
end sub
Je sais que ceci est possible mais je n'arrive pas à le mettre en application, quelqu'un pour m'aider s'il vous plait ?
Ensuite l'oppération CopyDirectory requiert uniquement une source et une destination au format texte (string en anglais).
Exemple:
Dim Source As String = "c:\MaSource"
Dim Destination As String = "c:\MaDestination"
Or tu fais:
[code=vb] My.Computer.FileSystem.CopyDirectory(string, Destination + "\string", True)
Ça ne veux rien dire, on ne sait même pas ce que représente ta variable 'Destination' dans ton code
Je sais mais c'etait un exemple fais sur le tas, ce que je veut dire c'est faire appelle à ces deux strings (game path et save path) se situant dans le sub "AaaaaRecklessDisregard" (par exemple)
alors qu'on soit d'accord, tu fais une sub qui a par rôle uniquement de déclarer des valeurs de variable?
Je suis d'accord si tes variables ont été déclarées publiques, ça veut dire que tu peux y faire appel n'importe où dans ton programme.
La d'après ce que j'ai compris tu dimensionnes trois variables qui ne servent à rien puisque elles sont utilisables uniquement dans la sub en question.
Je pense que c'est ça que tu cherchais à faire:
'juste après ta:
Public Class MainForm
'Tu mets tes variables en 'public'
public gamename as string
public path as string
public savepath as string
'Et après ta sub Code database :
Private Sub AaaaaRecklessDisregard()
gamename = "Aaaaaarecklessdiscard"
path=Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)+"\AaaaaRecklessDisregard"
savepath = MainForm.TextBox0.Text & "\Games\Aaaaaarecklessdiscard"
End Sub
Un autre truc, je crois que tu peux remplacer:
Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\AaaaaRecklessDisregard"
Par:
Dim path As String = Application.StartupPath & "\AaaaaRecklessDisregard"
Non?
CF2i - Guadeloupe
Ingénierie Informatique
Vous n’avez pas trouvé la réponse que vous recherchez ?
Bonjour,
J'ai essaier votre méthode mais j'ai encore un petit soucis, voila ce que ca donne à présent :
'MainForm
Private Sub GetListButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GetListButton.Click
For Each ??? in ???
If System.IO.Directory.Exists(path) = True Then
ListBoxGames.Items.Add(gamename)
End If
Next
end sub
'DatabaseForm
Public Class Database_v2
Public gamename As String
Public path As String
Public savepath As String
Private Sub Games()
gamename = "Aaaaaarecklessdiscard"
path = (Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\AaaaaRecklessDisregard")
savepath = MainForm.TextBox0.Text & "\Games\Aaaaaarecklessdiscard"
gamename = "Alien Breed 3 : Descent"
path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\My Games\UnrealEngine3\AlienBreed3DescentGame"
savepath = MainForm.TextBox0.Text & "\Games\Alien Breed 3"
End Sub
Pouvez vous m'aider à trouver ce qu'il faut mettre à la place des "???" s'il vous plait ?
Private Sub GetListButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GetListButton.Click
For Each ??? in ???
If System.IO.Directory.Exists(path) = True Then
ListBoxGames.Items.Add(gamename)
End If
Next
end sub
oui, a vrai dire cette base de donnée va servir pour plusieurs codes (ex : enregistrer, restaurer, recuperer les chemin dossier...) et actuellement j essaie d optimiser mon code de base qui contient plus de 8000lignes vers des boucles.
Ceci permettrai de reduire mon code à 1000 lignes.
Mon seul probleme c est que je n arrive pas à comprendre ce qu il faut mettre au for each.
Bonjour,
Il apparaitrait que database_path et database_name n'ai aucune valeur quand je fais appelle à ces déclarations dans ma "MainForm". Pourtant je les ai déclarer dans le sub "Games" de la form "Database".
Oui en effet, ce code suffis (j'ai oublier de mettre à jour ce que j'avais fait depuis)
Apres vérification à l'aide d'un writeline, le probleme vient du fait que mes variables publiques se situant dans la FormDatabase soit nul.
Ce que je voudrai faire c'est faire en sorte que ces variables prennent comme déclaration les "path" se situant dans DatabaseForm.
Voici le code :
Public gamename As String
Public path As String
Public savepath As String
Sub Games()
gamename = "5 Realms Of Cards"
path = Environment.GetFolderPath(Environment.SpecialFolder.CommonDocuments) + "\SugarGames\5RealmofCards"
savepath = MainForm.TextBox0.Text & "\Games\5 Realms Of Cards"
gamename = "Aaaaaarecklessdiscard"
path = (Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\AaaaaRecklessDisregard")
savepath = MainForm.TextBox0.Text & "\Games\Aaaaaarecklessdiscard"
gamename = "Alien Breed 3 : Descent"
path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\My Games\UnrealEngine3\AlienBreed3DescentGame"
savepath = MainForm.TextBox0.Text & "\Games\Alien Breed 3"
End Sub
Je sais que je peut remplacer "public path as string = Environment.GetFolderPath(Environment.SpecialFolder.CommonDocuments) + "\SugarGames\5RealmofCards"" mais ce que je voudrai faire c'est que cette variable les déclare toute.
Si vous avez une méthode alternative elle serait bienvenue.
Merci.
Justement je cherche à déclarer toute ces destinations en une seul sub, module ou... n'importe quoi, pour pouvoir ensuite s'en servir plus facilement. (enregistrement des dossier, recupereration des dossier, restauration des dossier... etc)
Dans mon ancien code je fesait environt 220 fois le meme code pour chaque opération (cela explique les 8000 lignes)
Maintenant je voudrai reduire cela et dire en 220 fois tel nom tel chemin de sauvegarde tel chemin de restauration.
Le problème c'est comment
certains utilisent des base de donné sql, d'autres des datatables, d'autres des fichiers xml...
Pour gérer quelques variables t'as pas besoin d'une BD.
Il faudrait que tu exposes ton projet au complet(cahier des charges) pour comprendre vraiment quel est l'objectif attendu.