begin process at 2010 02 10 04:13:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Lire\Ecrire dans un fichier texte


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

Lire\Ecrire dans un fichier texte

mardi 9 septembre 2008 à 08:34:05 | Lire\Ecrire dans un fichier texte

johann36

Membre Club
Bonjour tout le monde,

J'essaie de lire et écrire dans un fichier texte mais c'est plus compliqué que je ne le pensais.
Je souhaite créer un fichier Param.ini par exemple ou je vais mettre mes config pour l'utilisation de mon appli.
Pour cela je créé une section ex : [USER] puis je vais à la ligne où je vais créer une clé ex : [ACCES1] et pour finir la valeur que je vais attribuer à cette clé ce qui donne au final :
[USER]
[ACCES1]=123456789

J'ai essayé par mes propres moyens afin d'éviter une nouvelle fois de poster un message sur vbfrance mais malheureusement je ne suis pas assez bon et je me demande si je suis logique ???
Tout le monde y arrive sauf moi (j'aurai dû mettre Caliméro en pseudo).

D'ailleurs si vous aviez quelques conseils à me donner pour que j'essaie de me dire que en fait je ne suis pas si mauvais que je le pense ça m'aiderai un p'tit peu.

En attendant je vous remercie à tous pour votre aide.

Pour info voici ce que j'ai fait :

    Public Structure StructureINI
        <VBFixedString(6)> Dim SECTION As String
        <VBFixedString(8)> Dim CLE As String
        <VBFixedString(100)> Dim VALEUR_CLE As String
    End Structure

            Dim FileNum As Integer = FreeFile()

            FileOpen(FileNum, ChmINI, OpenMode.Random, , , Microsoft.VisualBasic.Len(UneStructureINI))
            'Lecture du fichier

            Dim Count As Integer, Temp As String

            Count = 1

            Do While Not EOF(FileNum)

                FileGet(FileNum, UneStructureINI, Count)

                Temp = UneStructureINI.SECTION + "  " + UneStructureINI.CLE '+ _
                '"  " + UneStructureINI.VALEUR_CLE

                Count = Count + 1
            Loop
            FileClose(FileNum)

Ce qui se passe ça m'ouvre bien le fichier et cela lit bien le fichier, le seul problème, c'est qu'il me ligne la longueur que je lui ai indiqué dans FileGet.
Je ne sais pas comment faire pour qu'il me lise uniquement la 1ere ligne pour le mot [USER] et ensuite la 2ème pour la ligne complète ?

Johann36
mardi 9 septembre 2008 à 08:40:16 | Re : Lire\Ecrire dans un fichier texte

jrivet

Membre Club
Salut,
Il existe des API toutes "prêtes" pour lire et écrire un fichier au format INI.
la différence est qu'un fichier INI ce présentera comme suit
[USER]
ACCES1=123456789
ACCES2=1234567890

....
pourquoi réinventer la roue ("carrée")

Ensuite en .NET, il me semble qu'il existe My.Settings ou Application.Settings pour stocker ce que tu souhaites comme paramètre d'exploitation

@+: Ju£i¤n
Pensez: Réponse acceptée
mardi 9 septembre 2008 à 11:34:39 | Re : Lire\Ecrire dans un fichier texte

johann36

Membre Club
Bonjour jrivet

Effectivement dit comme ça sa paraît plus mais encore faudrait-il le savoir.
Pour la conception du fichier je suis d'accord avec toi puisque c'est ce que je fais en ce qui concerne le reste ... .
Inventer la roue carré c'est bien mais encore faudrait-il savoir quelle existe.

Merci de ta réponse.

mercredi 10 septembre 2008 à 14:26:22 | Re : Lire\Ecrire dans un fichier texte

Kevin.Ory

Salut,
Il y a effectivement My.Settings qui remplace les fichiers INI. Pour ajouter/modifier les paramètres, tu vas dans les options du projet et sous l'onglet "paramètres"

Ensuite, pour lire/écrire un fichier, il faut passer par le namespace IO.
Par exemple, pour lire un fichier texte:
IO.File.ReadAllText(Fichier)
As String
IO.File.ReadAllLines(Fichier) As String()

Sinon, si tu veux lire/écrire chaque ligne séparément, utilise un StreamReader ou StreamWriter:
Dim reader As New IO.StreamReader(IO.File.OpenRead("Fichier.ini"))
Do Until reader.EndOfStream
    Dim Line As String = reader.ReadLine
Loop
reader.Close()

Le framework n'a pas de classe pour gérer les INI (car il ne sont plus utilisé), mais il a tout ce qu'il faut pour gérer les XML ou les simples fichiers texte.
Mais pour gérer les INI, on peut toujours faire appel aux API de Windows...
jeudi 11 septembre 2008 à 20:20:47 | Re : Lire\Ecrire dans un fichier texte

johann36

Membre Club
Bonsoir à tous,

Kevin.Ory je me suis inspiré enfin on va plutôt j'ai fait un copier/coller du code qu'il y a à cet emplacement http://plasserre.developpez.com/v4-18.htm sur le site de Plasserre.
Sa fonctionne bien sauf que je ne peux ajouter de paramètres car à chaque fois il m'efface le fichier puis m'inscrit mes nouveaux paramètres.
Dommage ! c'était un bon début mais il y a toujours un problème.

Après j'ai essayé my.setting mais j'ai pas tout compris (comme d'hab !). Je vais essayé ton code, j'espère que cette fois-ci ce sera la bonne.

Je te tiens informé.

Merci d'avance.

Johann36
jeudi 11 septembre 2008 à 22:02:02 | Re : Lire\Ecrire dans un fichier texte

Kevin.Ory


Pour My.Settings :
Menu "Projet" > "Propriétés de xxx"
Onglet "Paramètres"
Là tu pourra ajouter différents paramètre en choisissant leur type. Par exemple String pour une chaine comme dans un fichier INI.
Ensuite, dans ton code, tu peux accéder à tes paramètres (lecture et écriture) en tapant "My.Settings."
Mais tu n'es pas sensé rajouter des paramètres dynamiquement... je crois que c'est possible, mais je ne l'ai jamais fais.

Si tu veux dynamiquement enregistrer des donnés textes, utilise le XML. Par exemple tous les fichiers projet et paramètres d'un projet Visual Studio sont en XML.
Regarde ce que tu as dans System.XML, notamment XmlDocument.
 
Ou pour le INI, je vais voir, je te redonnerai une réponse...


Cette discussion est classée dans : fichier, count, vais, filenum, unestructureini


Répondre à ce message

Sujets en rapport avec ce message

VB.Net Lire qu'un Répertoire dans ma Boucle [ par MagDix ] Bonjour J'utilise une boucle pour me "Lister" tous le sfichier présent dans mes répertoires. Dans mon Tableau "Tableau_Repertoire" J'ai trois répert toujours pour mon fichier texte désolé [ par drublic ] salut, bon merci pour la reponse.je vais essayer d'être un peu plus claire.1 : je vais graver mon soft. Dans celui-ci je fait appel a un .txt est a un Renomer un fichier déplacer [ par Sator2 ] Bonjour à vous, qui me lisez...Je vais essayer d'être clair (pas facil)1) avec un commondialog je vais chercher un fichier.2) je creer un dossier dans Renomer un fichier déplacer [ par Sator2 ] Bonjour à vous, qui me lisez...Je vais essayer d'être clair (pas facil)1) avec un commondialog je vais chercher un fichier.2) je creer un dossier dans Lire un nb codé en 64bits (IEE754) et contenu dans un fichier binaire [ par Chouchensb ] Bonjour,J'ai un fichier binaire qui contients des nombres codés en 64 bits selon la norme IEEE 754 et je souhaiterais pouvoir les lire (avec un progra Arrachage de cheveux.... et nom de fichier [ par Sator2 ] Bonjour à vous, qui me lisez...Je vais essayer d'être clair (pas facil)1) avec un commondialog je vais chercher un fichier.2) je creer un dossier dans VB.Net Écrire dans un DataGridView [ par MagDix ] Bonjour à tous. J'aimerais écrire certaines informations (contenu dans un Tableau) dans un DataGridView et ca bug et je ne saisi pas comment régler m Exporter sous différent format avec crystal report sous vb.net 2005 [ par FNIAMKE ] J'ai sur mon CrystalReportView un combobox qui contient les différents formats de fichiers... Quand je choisis le format excel et que je clique sur l extraire une partie d'une ligne dans un fichier texte [ par alucard59300 ] Bonjour j'espère ne pas m'être trompe de partie du forum pour poster mon message je débute dans la programmation de batch et je dois faire un batch q Afficher les fichier d'un repertoire dans une liste box [ par francois 06 ] Bonsoir Je souhaite develloper un petit applicatif pour modifier le nom d'un fichier Je sais que c'est tres courant et pourtant je n'ai rien trouvé q


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 0,764 sec (3)

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