IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Écriture dans un INI


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2013
    Messages : 80
    Par défaut Écriture dans un INI
    Bonjour, Bonsoir à tous,

    Après pas mal de recherches, je n'arrive pas à trouver code à ma main ?
    Je travaille en fait sur du Visual Studio 2012 et je ne trouve que des codes obsolètes que je n'arrive pas à adapter.

    Je travaille sur un fichier .INI que j'arrive parfaitement à lire.
    Le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Function lire_valeur(ByVal Cle As String) As String
            Try
                For Each Ligne As String In IO.File.ReadAllLines("MONFICHIERINI.ini")
                    If Ligne.Split("=")(0) = Cle Then
                        Return Ligne.Split("=")(1)
                    End If
                Next
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Function
    ( Je passe une clé en paramètre et le code me donne sa valeur tout simplement. )

    Là où je sèche c'est si je veux écrire des valeurs. Je voudrais par exemple préciser la clé et la valeur à mettre pour cette clé en paramètre et la fonction se charge d'écrire en là ou il faut. Mais je ne trouve pas.

    A savoir aussi que la clé peut déjà exister et avoir déjà une valeur que je veux tout simplement remplacer.

    Merci d'avance pour votre aide !

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 206
    Par défaut
    Ou est ton code d'ecriture ?

    Dans la bible de Mr P. Lasserre tu devrais avoir ce qui t'interesse est au chapitre V-AC-5 - Utiliser "FileOpen" du VisualBasic, je mets pas le numero de page car il depend des versions.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2013
    Messages : 80
    Par défaut
    Je n'en ai pas justement. Je ne sais pas comment le faire.
    J'essaierais de me renseigner un peu sur le livre mais si quelqu'un a d'autres pistes je suis preneur !

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 206
    Par défaut
    Le cour est la

  5. #5
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Utilises cette classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    Imports System.Runtime.InteropServices
    Imports System.IO
    Imports System.Text
     
    Public Class Cls_Ini
     
        Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" _
    Alias "GetPrivateProfileStringW" (ByVal lpApplicationName As String, _
        ByVal lpKeyName As String, ByVal lpDefault As String, _
        ByVal lpReturnedString As String, ByVal nSize As Int32, _
        ByVal lpFileName As String) As Int32
     
        Private Declare Unicode Function WritePrivateProfileString Lib "kernel32" _
        Alias "WritePrivateProfileStringW" (ByVal lpApplicationName As String, _
        ByVal lpKeyName As String, ByVal lpString As String, _
        ByVal lpFileName As String) As Int32
     
        Public Shared Sub INIDelete(ByVal INIPath As String, ByVal SectionName As String)
      Dim lpKeyName As String = Nothing
      Dim lpString As String = Nothing
      WritePrivateProfileString(SectionName, lpKeyName, lpString, INIPath)
        End Sub
     
        Public Shared Sub INIDelete(ByVal INIPath As String, ByVal SectionName As String, ByVal KeyName As String)
      Dim lpString As String = Nothing
      WritePrivateProfileString(SectionName, KeyName, lpString, INIPath)
        End Sub
     
        Public Shared Function INIRead(ByVal INIPath As String) As String
      Return INIRead(INIPath, Nothing, Nothing, "")
        End Function
     
        Public Shared Function INIRead(ByVal INIPath As String, ByVal SectionName As String) As String
      Return INIRead(INIPath, SectionName, Nothing, "")
        End Function
     
        Public Shared Function INIRead(ByVal INIPath As String, ByVal SectionName As String, ByVal KeyName As String) As String
      Return INIRead(INIPath, SectionName, KeyName, "")
        End Function
     
        Public Shared Function INIRead(ByVal INIPath As String, ByVal SectionName As String, ByVal KeyName As String, ByVal DefaultValue As String) As String
      Dim lpReturnedString As String = Strings.Space(2048)
      Dim length As Integer = GetPrivateProfileString(SectionName, KeyName, DefaultValue, lpReturnedString, lpReturnedString.Length, INIPath)
      If length > 0 Then
        Return lpReturnedString.Substring(0, length)
      End If
      Return ""
        End Function
     
        Public Shared Sub INIWrite(ByVal INIPath As String, ByVal SectionName As String, ByVal KeyName As String, ByVal TheValue As String)
      WritePrivateProfileString(SectionName, KeyName, TheValue, INIPath)
        End Sub
     
    End Class
    Comment l'utiliser :

    1- Ecrire une valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cls_Ini.INIWrite("C:\YourIniFile.ini", "Section0", "Key0","Value0")
    2- Lire une valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Val as string = Cls_Ini.INIRead("C:\YourIniFile.ini", "Section0","Key0")
    3- Exemple de contenu du fichier .ini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [Section0]
    Key0=Value0

    A+

  6. #6
    Membre très actif Avatar de The_Big_Lebowski
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 225
    Par défaut
    Utilise plutôt un fichier XML si tu as le choix.
    Le frameWork te permettra d'aller bien plus loin dans le traitement de celui-ci. (XSD.exe et création auto des classes, serialisation, ...).

    Les fichiers INI n'existent plus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. écriture dans un fichier ini deja existant
    Par azräel dans le forum VB.NET
    Réponses: 1
    Dernier message: 30/04/2009, 14h40
  2. Erreur lors de l'écriture dans l'ini
    Par LuckyLuke56 dans le forum Outils
    Réponses: 1
    Dernier message: 25/08/2008, 20h12
  3. Écriture dans un DBgrid quand utilise un query comme dataset
    Par dcayou dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/07/2004, 22h22
  4. Sauvegarde std::vector dans un .ini
    Par mick74 dans le forum MFC
    Réponses: 2
    Dernier message: 12/05/2004, 13h30
  5. Comment renseigner la variable autocommit dans my.ini
    Par Charroin dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 18/09/2003, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo