OVH Cloud OVH Cloud

création de fichier ini ?

6 réponses
Avatar
evlp2004
Bonjour à tous ,

Dans ma base access j'enregistre les chemins de fichiers images.

Ce que j'aimerai faire, pour simplifier c'est créé un fichier "Ini"
pour mon base access pour que l'utilisateur puisse choisir
le repertoire de stockage des images à sa convenance.

--> Comment puis faire sous access en code Vb pour créé et relire un fichier
de type ini ?

[SECTION A]
Parametre1= Valeur
Parametre2= Valeur
[SECTION ...]
...
...

Merci d'avance pour vos aides

laurent

6 réponses

Avatar
Jacques93
evlp2004 a écrit :
Bonjour à tous ,

Dans ma base access j'enregistre les chemins de fichiers images.

Ce que j'aimerai faire, pour simplifier c'est créé un fichier "Ini"
pour mon base access pour que l'utilisateur puisse choisir
le repertoire de stockage des images à sa convenance.

--> Comment puis faire sous access en code Vb pour créé et relire un fichier
de type ini ?

[SECTION A]
Parametre1= Valeur
Parametre2= Valeur
[SECTION ...]
....
....

Merci d'avance pour vos aides

laurent





Voir les APIs :

GetPrivateProfileString :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getprivateprofilestring.asp

et WritePrivateProfileString :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/writeprivateprofilestring.asp

ou utiliser un module de classe existant comme :

http://www.freevbcode.com/ShowCode.Asp?IDr12

non testé.


--
Cordialement,

Jacques.
Avatar
Patrick Fredin
Bonjour,

Pour cela il faut utiliser des APIs Windows et ajouter des fonctions :

'*****************
'* Fonctions API *
'*****************
'Ecrire dans un fichier INI - Valeur
Private Declare Function WritePrivateProfileString Lib "kernel32" _
Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As
String) As Long

'Ecrire dans un fichier INI - Section
Private Declare Function WritePrivateProfileSection Lib "kernel32" _
Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal
lpString As Any, _
ByVal lpFileName As String) As Long

'Lire un fichier INI
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

'*****************
'* Fonctions VBA *
'*****************
'Lire le fichier INI
' sSection est le la partie designée entre crochets ([option] par exemple)
' sKey est le nom de la clé à récupérer (COULEUR=... par exemple)
Public Function IniRead(sSection As String, sKey As String, sFileIni As
String) As String
Dim sBuf As String
Dim lRep As Long

'Mise en place du buffer de lecture
sBuf = Space$(255)
lRep = GetPrivateProfileString(sSection, sKey, "", sBuf, 255, sFileIni)
IniRead = Left$(sBuf, lRep)
End Function

'Ecrire dans le fichier INI
' sSection est la partie designée entre crochets ([option] par exemple)
' sKey est le nom de la clé à récupérer (COULEUR=... par exemple)
' sValeur est la valeur à stocker
' sFichierIni est le fichier à manipuler
Public Sub IniWrite(sSection As String, sKey As String, sValue As String,
sFileIni As String)
WritePrivateProfileString sSection, sKey, sValue, sFileIni
End Sub

'Supprimer une valeur dans le fichier INI
Public Sub IniDeleteKey(sSection As String, sKey As String, sFileIni As
String)
WritePrivateProfileString sSection, sKey, 0&, sFileIni
End Sub

'Supprimer une section dans le fichier INI
Public Sub IniDeleteSection(sSection As String, sFileIni As String)
WritePrivateProfileSection sSection, 0&, sFileIni
End Sub

Finalement, c'est tres simple à utiliser.

--
Patrick


"evlp2004" wrote:

Bonjour à tous ,

Dans ma base access j'enregistre les chemins de fichiers images.

Ce que j'aimerai faire, pour simplifier c'est créé un fichier "Ini"
pour mon base access pour que l'utilisateur puisse choisir
le repertoire de stockage des images à sa convenance.

--> Comment puis faire sous access en code Vb pour créé et relire un fichier
de type ini ?

[SECTION A]
Parametre1= Valeur
Parametre2= Valeur
[SECTION ...]
....
....

Merci d'avance pour vos aides

laurent





Avatar
evlp2004 a écrit :

Bonjour à tous ,

Dans ma base access j'enregistre les chemins de fichiers images.

Ce que j'aimerai faire, pour simplifier c'est créé un fichier "Ini"
pour mon base access pour que l'utilisateur puisse choisir
le repertoire de stockage des images à sa convenance.

--> Comment puis faire sous access en code Vb pour créé et relire un fichier
de type ini ?

[SECTION A]
Parametre1= Valeur
Parametre2= Valeur
[SECTION ...]
...
...

Merci d'avance pour vos aides

laurent





Salut,

Comme indiqué dans la réponse précédente (Jaques93) où tout simplement
un fichier texte, que l'on lit en début d'appli.

Personnellement, je stocke dans ma table image au moins trois champs:
chemin
nomfichier
extention

Dans l'appli, l'utilisateur accède par le menu gestionnaire d'image, à
une listview dans le quel sont indiqué ces valeurs, le chemin étant
modifiable à l'aide d'une commande parcourir.
C'est à peu près la même chose que sous Autocad2000 si tu connais.
Ceci permet de pouvoir avoir plusieur chemins différents, l'utilisateur
n'étant pas obligé de définir un répertoire unique de stockage.

Là solution que tu recherches s'étant révélée à l'utilisation trop
"contraignante" pour les utilisateurs.

A+

Christophe
Avatar
evlp2004
merci à vous
bonne soirée
"evlp2004" a écrit dans le message de news:
%
Bonjour à tous ,

Dans ma base access j'enregistre les chemins de fichiers images.

Ce que j'aimerai faire, pour simplifier c'est créé un fichier "Ini"
pour mon base access pour que l'utilisateur puisse choisir
le repertoire de stockage des images à sa convenance.

--> Comment puis faire sous access en code Vb pour créé et relire un
fichier
de type ini ?

[SECTION A]
Parametre1= Valeur
Parametre2= Valeur
[SECTION ...]
...
...

Merci d'avance pour vos aides

laurent



Avatar
Daniel AUBRY
Et pourqoui ne pas stocher ces chemains dans une table de la base ?

Dany

"evlp2004" a écrit dans le message de news:
%
Bonjour à tous ,

Dans ma base access j'enregistre les chemins de fichiers images.

Ce que j'aimerai faire, pour simplifier c'est créé un fichier "Ini"
pour mon base access pour que l'utilisateur puisse choisir
le repertoire de stockage des images à sa convenance.

--> Comment puis faire sous access en code Vb pour créé et relire un
fichier
de type ini ?

[SECTION A]
Parametre1= Valeur
Parametre2= Valeur
[SECTION ...]
...
...

Merci d'avance pour vos aides

laurent



Avatar
Christian Hugoud
Tu peux utiliser l'API :

Public Declare Function WritePrivateProfileString Lib "kernel32" Alias
"WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal
lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Public 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


Christian


"Daniel AUBRY" a écrit dans le message de news:
43227fa1$0$4317$
Et pourqoui ne pas stocher ces chemains dans une table de la base ?

Dany

"evlp2004" a écrit dans le message de news:
%
Bonjour à tous ,

Dans ma base access j'enregistre les chemins de fichiers images.

Ce que j'aimerai faire, pour simplifier c'est créé un fichier "Ini"
pour mon base access pour que l'utilisateur puisse choisir
le repertoire de stockage des images à sa convenance.

--> Comment puis faire sous access en code Vb pour créé et relire un
fichier
de type ini ?

[SECTION A]
Parametre1= Valeur
Parametre2= Valeur
[SECTION ...]
...
...

Merci d'avance pour vos aides

laurent