begin process at 2012 02 15 04:21:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Fichier / Disque

 > 

Écriture/lecture de fichiers INI


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Écriture/lecture de fichiers INI

mercredi 1 octobre 2003 à 21:16:03 | Écriture/lecture de fichiers INI

daniellapointe01

Bonjour.

J'utilise l'écriture et la lecture dans les fichiers INI.
J'ai un fichier 02.ini qui enregistre les options choisies à partir de checkbox.

Je vous laisse ci-dessous un extrait du code lors de l'appuis sur le bouton Appliquer :

If Option01 = Check1 Then
Else 'seulement si on a modifié des options
Open "./ini/02.ini" For Input As #5 'on lit le fichier
For b = 1 To 1
Input #5, Fichier01
Next
For b = 2 To 2
Input #5, Fichier08
Next
For b = 3 To 3
Input #5, Fichier09
Next
For b = 4 To 4
Input #5, Fichier10
Next
For b = 5 To 5
Input #5, Fichier11
Next
For b = 6 To 6
Input #5, Fichier12
Next
For b = 7 To 7
Input #5, Fichier13
Next
For b = 8 To 8
Input #5, Fichier14
Next
For b = 9 To 9
Input #5, Fichier15
Next
Close #5
Open "./ini/02.ini" For Output As #6 'on refait le fichier
For b = 0 To 0
Print #6, Check1.Value
Next
For b = 1 To 1
Print #6, Fichier01
Next
For b = 2 To 2
Print #6, Fichier08
Next
For b = 3 To 3
Print #6, Fichier09
Next
For b = 4 To 4
Print #6, Fichier10
Next
For b = 5 To 5
Print #6, Fichier11
Next
For b = 6 To 6
Print #6, Fichier12
Next
For b = 7 To 7
Print #6, Fichier13
Next
For b = 8 To 8
Print #6, Fichier14
Next
For b = 9 To 9
Print #6, Fichier15
Next
Close #6
Option01 = Check1.Value
Options = Options + 1 'Gestion du pluriel
End If

Ce même code est reproduit pour chaque checkbox.
Il y a 10 lignes dans le fichier 02.ini.
Le code ne fonctionne très mal, surtout à cause de certaines erreurs lors de l'enregistrement, et j'ai vérifié et je n'ai rien trouvé.

N'y a-t-il pas moyen de faire ça plus court et plus rapidement ?

Merci d'avance de vos réponces.

Cordialement
Daniel
jeudi 2 octobre 2003 à 01:47:13 | Re : Écriture/lecture de fichiers INI

pcpunch

c'est pas un fichier ini ca!!!
c un fichier tous court

les fichier ini ont une entete c plus facile a gerer genre :

[Couleur]
voiture=bleue
slip=rouge

voila une fonction pour t'aider a lire et ecrire dans un fichier ini :

'dans un module
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 WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long


Function LireINI(Entete As String, Variable As String) As String
Dim Retour As String
fichier = App.Path & "\" & App.EXEName & ".ini"
Retour = String(255, Chr(0))
LireINI = Left$(Retour, GetPrivateProfileString(Entete, ByVal Variable, "", Retour, Len(Retour), fichier))
End Function

Function EcrireINI(Entete As String, Variable As String, Valeur As String) As String
fichier = App.Path & "\" & App.EXEName & ".ini"
WriteINI = WritePrivateProfileString(Entete, Variable, Valeur, fichier)
End Function

voila apres c pas compliquer :

pour ecrire genre dans la section couleur, la couleur de la variable voiture:
EcrireINI "Couleur", "voiture", "rouge"

pour la lire :
Couleur_Voiture = LireINI("couleur", "voiture")

Voila!!! c plus claire, plus rapide, plus facile a gerer, et plus pro surtout!!!!

Tu peu entrer autant de section que tu veu, et autant de variable dans la section!!!!!

Si tu as besoin d'aide!!!!??? vas y!!!
jeudi 2 octobre 2003 à 21:56:44 | Re : Écriture/lecture de fichiers INI

daniellapointe01

Voilà.

Je reçois une erreur lors de l'éxécution de :

licenseTo = LireINI("general", "nom", "./ini/config.ini")

j'ai VB en anglais, et cela dit :

Wrong number or argument or invalid property assignment

Bon cela veut dire qu'il y a une erreur. voici mon module :

Option Explicit

Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName$, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName$) As Long
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpdirectory As String, ByVal nShowCmd As Long) As Long
Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String)
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 WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

Function LireINI(Entete As String, Variable As String) As String
Dim Retour As String
Fichier = App.Path & "\" & App.EXEName & ".ini"
Retour = String(255, Chr(0))
LireINI = Left$(Retour, GetPrivateProfileString(Entete, ByVal Variable, "", Retour, Len(Retour), Fichier))
End Function

Function EcrireINI(Entete As String, Variable As String, Valeur As String) As String
Fichier = App.Path & "\" & App.EXEName & ".ini"
WriteIni = WritePrivateProfileString(Entete, Variable, Valeur, Fichier)
End Function

Public Sub JouerSon(Fichier As String)
mciExecute ("play " & Fichier)
End Sub

Public Function FileExists(stFichier As String) As Boolean
FileExists = (Dir$(stFichier, vbHidden Or vbReadOnly Or vbSystem) <> vbNullString)
End Function

Ce dernier permet de vérifier l'existance d'un fichier ou d'un dossier, de jouer un son et j'ai finalement ajouté la fonction d'écriture/lecture de fichiers INI.

Merci d'Avance de m'Expliquer la raison de cette erreur.

Cordialement
Daniel
jeudi 2 octobre 2003 à 23:30:32 | Re : Écriture/lecture de fichiers INI

pcpunch

tu as pas lu mon exemple :

Couleur_Voiture = LireINI("couleur", "voiture")

essaie plutot ca, la tu lit et tu donne la reponse!!!!! en mm tps "./ini/config.ini"
licenseTo = LireINI("general", "nom")

pour lire
licenseto=lireini("section","variable a lire")

pour ecrire
ecrireini("section", "variable", donné a ecrire")
vendredi 3 octobre 2003 à 00:04:41 | Re : Écriture/lecture de fichiers INI

daniellapointe01


et où indique-t-on dans quel fichier il doit écrire et lire ? il n'est pas décodeur, il ne fera pas une recherche pour moi, il faut lui indiquer, non ?
vendredi 3 octobre 2003 à 02:19:59 | Re : Écriture/lecture de fichiers INI

pcpunch

et ben non il faut pas de decodeur lol!!!

Si tu avauit regarder les 2 fonctions d'ecriture et de lecture ini, tu aurais vu que le fichier est stipuler

app.path & "\" app.exename & ".ini"
ca veu dire qu'il ouvre par defaut le fichier de ton soft.ini qui se situe dans le dossier de ton executable.

En bref si ton projet se trouve dans c:\mon soft\projet1.vbp
alos le fichier ini sera "c:\mon soft\projet1.ini"

Si tu compile le soft dans "c:\program files\mon soft\soft.exe"
l'ini sera "c:\program files\mon soft\soft.ini"

Mais si tu veu tu peu modifier tous ca et mettre ton ini ou tu veu et l appeler comme tu veu!!!
Enfin voila!!

Ps: je cherche qq betatesteur (c'est juste pour tester le prog et faire un rapport des eventuelle bug et difficulté rencontré...) pour mon soft!!! Si le coeur t'en dit, c'est un soft pour creer des galleries de photo html..


vendredi 3 octobre 2003 à 02:43:21 | Re : Écriture/lecture de fichiers INI

daniellapointe01

Cela m'intéresserait peut-être de t'aider, en guise de remerciment de ton aide. Mais pas en ce moment, je dois quitter, je n'ai même pas le temps de retester ton code.

Je ferai plutard et je te recontacterai sur ce forum.

Merci encore de ton aide.

Cordialement
Daniel
vendredi 16 juillet 2004 à 08:44:29 | Re : Écriture/lecture de fichiers INI

the_fonzarelli


J'étais pas venu sur la discussion pour ça mais tu viens de m'éclairer un peu sur le fonctionnement des fichiers .ini alors un grand merci à toi !

the fonzarelli !
mercredi 13 juillet 2005 à 12:29:58 | Re : Écriture/lecture de fichiers INI

pegasustek

J'ai juste un souci avec le code pcpunch. la définition de la variable en "Any" n'est pas reconnu. Est-ce un Pb de version et j'ai cherché dans les références mais pas trouvé. C'est dommage car la méthode est simple pour un novice comme moi
mercredi 10 août 2005 à 16:58:37 | Re : Écriture/lecture de fichiers INI

ooly2001

Super ton code !
Merci de ton aide
2 secondes de recherche sur VB et a peu pres 3 minutes pour adapter le code


1 2

Cette discussion est classée dans : input, to, for, print, next


Répondre à ce message

Sujets en rapport avec ce message

FICHIER SEQUENTIEL [ par alain ] Bonjour,Je réalise un carnet de contacts, j'aimerais pouvoir effectuer une recherche par nom (en utilisant input box) et afficher avec msgbox le résul transcription de basic vers VB6 [ par joaofr ] Bonjour, Je m'appelle Joao et je suis un vieux curieux et debutant. Je ne suis pas programmeur mais il m'arrive de m'amuser en basic. J'ai ecris en ba Tri dans une list box [ par LUCA62 ] Voilà le décor : J'ai 42  nombres (à trois chiffres) à trié par ordre croissant. Ces 42 nombres sont définis par l'intermédiaire que 42 cases (lblBoul réinitialisation des variables publics [ par thier_94 ] je souhaiterai réinitialiser toutes les variables publics utilisées dans une macro excel, pour eviter de me retrouver avec les anciennes faleur en mem code vba pour protection de mot de passe excel [ par arianefurer ] Bonjour,Merci encore pour le codeSub enleve_protection()Dim a, b, c, d, e, f, g, h, i, j, k, l As IntegerOn Error Resume NextFor a = 65 To 66 For b = pb fonction split [ par manud31 ] bonjour !!!j'ai un probleme avec ma fonction split car elle ne me renvoie pas ce que je veux!j'ai un séparateur qui varie entre les colonnes de mon fi moindre carré très urgent!!!!! [ par CeNedra83 ] salut, je suis en stage et je code en C++. j'ai trouvé ce code qui fait exactement la fonction que je veux, je l'ai donc transformé en C++. Sub Moin Petite question avec boucle FOR [ par forum_ma ] Bonjour tout le monde, je n'ai pas vraiment besoin d'aide juste une petite question assez "basic" : Quel est la difference entre les 3 boucles FOR : F boucles imbriquées [ par oolivierr ] Bonsoir,je débute en VisualBasic 6 et je souhaiterai avoir une précision sur un problème d'optimisation sur les boucles imbriquées.Je m'expliqueje sou C'est très simple (for ... to, next) [ par stolken ] Salut tt le monde ! Voici un ptit bout de code récupéré ici que je ne comprends pas : For y = 0 To 300 MSComm1.RTSEnable = True Next MSComm1.RTS


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,466 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales