mmaouloud
Messages postés1Date d'inscriptionvendredi 19 janvier 2007StatutMembreDernière intervention 6 février 2007
-
6 févr. 2007 à 17:48
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 2016
-
8 févr. 2007 à 09:32
salut tous le monde.
j'ai un probleme si quelq'un peut m'aider.
j'ai developpee une application sur Visuel Basic 6.0, et je travail sur une Base de Donnee Access ,
l'application est executable sur mon PC,
mnt je veux juste une fonction qui me permet de lire le chemin appartir dans un fichier *.txt ou *.ini
pour que j'ai puisse change le chemin sans revenir a la code source....
dans l'attente de votre reponse mon travail est ploqué
merciiiii.
a+++
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 6 févr. 2007 à 18:12
Salut,
Voici un bout de code qui peut-être te servir pour lire un fichier txt :
'Variables
Dim lFileC1 As Long
Dim fichier1 As String
Dim MyString1
'Chemin du fichier
fichier1 = ("C:\toto.txt")
'Demande un numéro de fichier non utiliser
lFileC1 = FreeFile
'Ouvre le fichier en écriture seulement
Open fichier1 For Input As #lFileC1
Do While Not EOF(1)
Input #1, MyString1
'Condition si Mystring1 = ""
If MyString1 = "" Then
GoTo suivant
Else
Ta variable = le text lu dans le fichier texte
End If
suivant:
Loop
'Ferme le fichier(important)
Close #lFileC1
Bon je me sert de ce code pour remplir un comboBox, à toi de faire la petite modife...quand tu rencontre fin fichier
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 6 févr. 2007 à 18:44
Re,
Je viens de corriger le code ci-dessous, car dans ton cas tu n'a pas besoin d'une boucle Do while :
'Variables
Dim lFileC1 As Long
Dim fichier1 As String
Dim MyString1 as String
Dim CheminBase As String
'Chemin du fichier
fichier1 = (C:\Toto.txt")
'Demande un numéro de fichier non utiliser
lFileC1 = FreeFile
'Ouvre le fichier
Open fichier1 For Input As #lFileC1
Input #1, MyString1
CheminBase = MyString1 << Récupère dans le fichier ton chemin base
'Ferme le fichier(important)
Close #lFileC1
Voilà, maitenant tu n'a plus qu'a l'utiliser, en l'adaptant à ton aise...
Mais faire attention avec les fichiers texte, dans le cas ou un utilisateur marque n'importe quoi dedans ton prog va planter...
Un conseil que l'on m'a donné, déclares plutôt des constantes, ainsi tu ne modifira que celle-ci dans le cas ou ta base sur le réseau change de lecteur..
Dans un module :
Public Const CheminAppli = "R:\Toto\Tata\Tutu\Base.mdb"
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 6 févr. 2007 à 19:08
Salut
Petite correction.
Si tu déclares une constante pour désigner ton chemin, elle ne sera pas modiable dynamiquement dans le code (d'où son appellation de constante, d'ailleurs)
La lecture du chemin dans ton fichier : Ok, utilise la technique de Exploreur.
Seule amélioration : Mettre le fichier 'paramètress' dans le même répertoire que ton appli, sinon, tu vas avoir des bouts de fichier partout :
Fichier1 = App.Path & "\Toto.txt"
Ensuite, avant d'utiliser la chaine récupérée, il vaut mieux tester l'existence du fichier avant de vouloir l'utiliser. Un simple DIR devrait suffire.
Sinon, bien gérer les erreurs dans les procédures.
Une fois que tu auras le chemin de la DB dans CheminBase, il te suffit de modifier laConnectionString de ta DB.
Exemple :
maDB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & CheminBase & _
";Persist Security Info=False"
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Je reviens vers toi, juste pour "savoir" si la réponse de Jack et moi même(Casy si tu passes dans le coin...lol), si cela te convenais. Il serai sympa de ta part, même si tu ne valide pas les réponses, de donner au moins un retour sur ton problème...
Cela fait toujours plaisir de savoir qu l'on a pu aider une personne...