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

Windows Forms Discussion :

Probleme pour lire fichier INI


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 49
    Points
    49
    Par défaut Probleme pour lire fichier INI
    Bonjour,

    Voila je voudrai lire dans un fichier INI avec Visual basic 2008 express... J'ai bien regardé dans la FAQ et la metode pour ecrire marche nickel mais pas celle pour lire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Function LitDansFichierIni(Section As String, Cle As String, Fichier As String, _
        Optional ValeurParDefaut As String = "") As String
     
    Dim strReturn As String
    strReturn = String(255, 0)
    GetPrivateProfileString Section, Cle, ValeurParDefaut, strReturn, Len(strReturn), Fichier
    LitDansFichierIni = Left(strReturn, InStr(strReturn, Chr(0)) - 1)
     
    End Function
    Voila ce que j'ai mis dans mon code mais j'ai une erreur au niveau du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strreturn =String(255,0)
    et voila l'erreur :'String' est un type classe et ne peut pas être utilisé en tant qu'expression.

    donc la je suis un peu bloqué du coup, quelqu'un peut il me depanner s'il vous plait ?

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 150
    Points : 25 066
    Points
    25 066
    Par défaut
    String(255,0) ne veut rien dire et on te l'as deja dit
    que voulais tu que ca fasses ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 49
    Points
    49
    Par défaut
    eh bien en fait je voulais juste pouvoir lire un fichier INI et j'ai juste recopié ce qu'il y avait dans la FAQ...

    Qu'est ce que je dois mettre a la place alors ?

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 150
    Points : 25 066
    Points
    25 066
    Par défaut
    tu as du trouver un faq vb6
    et vb6 est différent de vb.net
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 49
    Points
    49
    Par défaut
    Ouais sans doute mais bon l'utilisation de l'API getprivateprofilestring doit etre sensiblement la meme puisque la methode pour ecrire marche, je dois juste me planter dans la declaration mais je ne sais pas quoi mettre

  6. #6
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 85
    Points : 49
    Points
    49
    Par défaut
    c'est bon j'ai trouvé mon bonheur avec ce code :
    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
     
    Imports System.Object
    Imports System.Runtime.InteropServices.Marshal
     
    Public Class ComINI
     
        Private Declare Function GetPrivateProfileSection Lib "kernel32.dll" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedBuffer As IntPtr, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
        Private Declare Function GetPrivateProfileSectionNames Lib "kernel32.dll" Alias "GetPrivateProfileSectionNamesA" (ByVal lpszReturnBuffer As IntPtr, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
        Private Declare Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedBuffer As IntPtr, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
        Private Declare Function WritePrivateProfileSection Lib "kernel32.dll" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
        Private Declare Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
     
     
     
     
        'Retourne un booléen indiquant l'existance ou non d'une section
        Public Function ExisteSection(ByVal File As String, ByVal Section As String) As Boolean
            Dim PtrCh As IntPtr
            Dim Lng As Integer
     
            PtrCh = StringToHGlobalAnsi(New String(vbNullChar, 1024))
            Lng = GetPrivateProfileSection(Section, PtrCh, 1024, File)
     
            Return Lng
        End Function
     
        'Retourne une collection contenant l'ensemble des sections du fichier "File"
        Public Function GetAllSections(ByVal File As String) As Collection
            Dim PtrCh As IntPtr
            Dim Sections As Collection
            Dim I, Lng As Integer
            Dim Chaine, SChaine As String
     
            PtrCh = StringToHGlobalAnsi(New String(vbNullChar, 1024))
            Lng = GetPrivateProfileSectionNames(PtrCh, 1024, File)
            Chaine = PtrToStringAnsi(PtrCh, Lng)
            FreeHGlobal(PtrCh)
     
            Sections = New Collection
            SChaine = ""
            For I = 0 To Lng - 1
                If Chaine.Chars(I) = vbNullChar Then
                    Sections.Add(SChaine)
                    SChaine = ""
                Else
                    SChaine = SChaine & Chaine.Chars(I)
                End If
            Next
            GetAllSections = Sections
            Sections = Nothing
        End Function
     
        'Retourne une collection contenant l'ensemble des clés de la section "Section" du fichier "File"
        Public Function GetSectionCles(ByVal File As String, ByVal Section As String) As Collection
            Dim PtrCh As IntPtr
            Dim Cles As Collection
            Dim I, Lng As Integer
            Dim Chaine, SChaine As String
     
            PtrCh = StringToHGlobalAnsi(New String(vbNullChar, 1024))
            Lng = GetPrivateProfileSection(Section, PtrCh, 1024, File)
            Chaine = PtrToStringAnsi(PtrCh, Lng)
            FreeHGlobal(PtrCh)
     
            Cles = New Collection
            SChaine = ""
            For I = 0 To Lng - 1
                If Chaine.Chars(I) = vbNullChar Then
                    Cles.Add(SChaine)
                    SChaine = ""
                Else
                    SChaine = SChaine & Chaine.Chars(I)
                End If
            Next
            GetSectionCles = Cles
            Cles = Nothing
        End Function
     
        'Retourne la valeur de la clé "Cle" de la section "Section" du fichier "File"
        Public Function GetCle(ByVal File As String, ByVal Section As String, ByVal Cle As String) As String
            Dim PtrCh As IntPtr
            Dim Lng As Integer
            Dim Chaine As String
     
            PtrCh = StringToHGlobalAnsi(New String(vbNullChar, 1024))
            Lng = GetPrivateProfileString(Section, Cle, "", PtrCh, 255, File)
            Chaine = PtrToStringAnsi(PtrCh, Lng)
            FreeHGlobal(PtrCh)
     
            GetCle = Chaine
        End Function
     
     
        'Insère une section dans le fichier "File"
        Public Function SetSection(ByVal File As String, ByVal Section As String, ByVal Valeur As String) As Boolean
            SetSection = WritePrivateProfileSection(Section, Valeur, File)
        End Function
     
        'Insère la clé "Cle" dans la section "Section" du fichier "File"
        Public Function SetCle(ByVal File As String, ByVal Section As String, ByVal Cle As String, ByVal Valeur As String) As Boolean
            SetCle = WritePrivateProfileString(Section, Cle, Valeur, File)
        End Function
     
     
        'Efface toute les clés de la section "Section"
        Public Function DelSection(ByVal File As String, ByVal Section As String) As Boolean
            DelSection = WritePrivateProfileSection(Section, "", File)
        End Function
     
        'Efface la valeur de la clé "Cle" de la section "Section"
        Public Function DelCle(ByVal File As String, ByVal Section As String, ByVal Cle As String) As Boolean
            DelCle = WritePrivateProfileString(Section, Cle, "", File)
        End Function
     
    End Class

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

Discussions similaires

  1. probleme pour lire un fichier
    Par azamharir dans le forum MFC
    Réponses: 2
    Dernier message: 04/12/2007, 16h14
  2. Probleme pour lire un fichier
    Par Jiybee dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 01/12/2007, 20h21
  3. Probleme pour lire un fichier specialement
    Par coco.cohen dans le forum C
    Réponses: 3
    Dernier message: 18/11/2007, 03h32
  4. probleme pour lire un fichier .bat
    Par abdou82 dans le forum VB.NET
    Réponses: 1
    Dernier message: 20/09/2007, 19h18
  5. Probleme pour lire un fichier Ini
    Par Sebinou dans le forum C++Builder
    Réponses: 11
    Dernier message: 11/03/2004, 00h22

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