Rechercher fichier .ini sur chemin donné par user !!!!!!
cori2boonzsquad
Messages postés12Date d'inscriptionlundi 15 mars 2004StatutMembreDernière intervention 4 août 2004
-
15 mars 2004 à 14:32
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 2006
-
15 mars 2004 à 16:12
Bonjour je debute en prog mais kand je dis je debute ceci signifie ke je suis entieremment novice !!!!!!!
Mon probléme c que dans la boite ou je suis en formation il me demande de developper en VB une application non visible (donc un module en fait je crois ke c ca lol).
Et ce module demande a user de saisir un chemin de dossier ou de lecteur, ensuite il cherche si il y a un fichier ini dans le chemin specifié si oui il le lit sinon il affiche "y a pas de fich".
Apres la lecture du .ini il faut determiner si il y a des fichiers dans le chemin.
je sais pas si vs allez comprendre ce ke j'ai ecrit car meme moi j'ai du mal mais bon ki peut m'aider me sauve lol
co
A voir également:
Rechercher fichier .ini sur chemin donné par user !!!!!!
cori2boonzsquad
Messages postés12Date d'inscriptionlundi 15 mars 2004StatutMembreDernière intervention 4 août 2004 15 mars 2004 à 14:39
ce que j'ai deja commencé a faire mais sa marche pas !!!!
DECLARATION Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long, _
ByVal lpFileName As String) As Long
Private Declare Function GetPrivateProfileSection& Lib "kernel32" Alias "GetPrivateProfileSectionA" _
(ByVal lpAppName As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String)
Menu Principal Sub Main()
Dim strFolder As String
Dim sFile As String
Dim sFileIni As String
strFolder = InputBox("Entrer le chemin du dossier") 'demande à user de saisir le chemin
sFile = Dir(strFolder)
If sFile = vide Then
MsgBox ("il n'y a pas de fichiers dans ce dossier")
Else
sFileIni = ExisteIni(strFolder, sFile)
Call sReadSettingIni
End If
End Sub
Fonction Existe fichier INI
Public Function ExisteIni(strFolder As String, sFile As String) As Boolean
Dim Retour As Long
Dim Valeur As String
Valeur = String(32767, 0) '32767 est la longueur maxi que peut avoir une section
Retour = GetPrivateProfileSection(strFolder, Valeur, 32766, sFile) ' Retour représente la longueur de la section, donc si elle est supérieure à 0, elle existe
If Retour >= 0 Then
ExisteIni = True
Else
MsgBox ("il n'y a pas de fichier")
End If
End Function
Procedure lire INI
Public Sub sReadSettingIni()
Dim fsoIni As New FileSystemObject
Dim fstIni As TextStream
Dim strLine As String
Set fstIni = fsoIni.OpenTextFile(App.Path & "\\*.ini", ForReading, False)
While Not fstIni.AtEndOfStream
strLine = fstIni.ReadLine
If Len(strLine) > 0 Then
'utilisation de strLine
End If
Wend
fstIni.Close
End Sub
voila je me suis arreté la car sa marche pas sa me saoule!!!!!
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 15 mars 2004 à 14:53
1- A quoi corrspond ton "Vide" dans "If sFile= Vide ..." ???
Si la fonction Dir() ne trouve pas le fichier rechercher, elle te renvoi une chaine vide, qui en vb s'écrit ""
Don ton test devriendra "If sFile = "" Then ...."2- strFolder est saisie pas l'utilisateur et contient le chemin à explorer. Pour rechercher un *.ini dedans, ta ligne "sFile Dir(strFolder) sera plutôt du genre : "sFile Dir(strFolder & "*.ini")
Ceci concatène le chemin saisi par le user (dans strFolder) à la chaine "*.ini" et utilise cette chaine comme masque dans Dir( ...)
Donc si le user saisie "c:\monrep", alors c'est comme si tu faisait "sFile = Dir("c:\monrep\*.ini"). Je suppose que c'est bien ce que tu veux ?
Il faut juste s'assurer d'un truc, que le user a mis 1 "" à la fin du chemin saisie. Pour cela, juste après le inputbox(...) ajoute cette ligne :
If Right$(strFolder,1) <>"" then strFolder = strFolder & ""
En gros : Si le dernier caractère à drotie de strFolder n'est pas un "", alors ajoutes-le
cori2boonzsquad
Messages postés12Date d'inscriptionlundi 15 mars 2004StatutMembreDernière intervention 4 août 2004 15 mars 2004 à 15:55
C'est a peu pres cela oui ! je te remercie beaucoup !!!
malheureusement une fois que j'ai trouver un fichier .ini je n'arrive pas a le lire et a trouver si oui ou non il ya des fichiers ds le repertoire selectionné.
car la lecture du.ini doit me permettre de savoir si le repertoire est vide (ou ne contient que le fichier ini) ou si il contient des fichiers.
je t'avoue que je suis completement perdu lol
surtout k'en cours on ne fait que du C et la je dois faire tt sa en VB.
merci quand meme de ta precieuse aide.
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 15 mars 2004 à 16:12
dim sFile as string
' Trouve le 1er fichier ds c:\monrepsFile = Dir("c:\monrep\*.*")
' Tant qu'il existe un fichier ...
While sFile<> ""
' Affiche son nom dans une messagebox
MsgBox sFile
' Recherche le fichier suivant dans le répertoire
sFile = Dir
Wend
Avec ce code tu listes tous les fichiers ds c:\monrep
Si cela peut t'aider ??
Christophe R.