Ecrire dans une ligne

Portos67 Messages postés 72 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 14 janvier 2013 - 20 janv. 2009 à 12:19
Portos67 Messages postés 72 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 14 janvier 2013 - 20 janv. 2009 à 16:34
Bonjour, je souhaite écrire dans un fichier ini, jusqu'ici pas de soucis, mais écrire soit à une certaine ligne soit après que l'application rencontre un certain mot, exemple :

Fichier ini:

test
test
test
--->ici<---
test
test
test

Est-ce possible sans api ? Merci d'avance

9 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 janv. 2009 à 12:21
salut,

c'est un fichier x çà, pas un ini
ini n'est pas juste une extension mais une architecture de fichier, à respecter donc (section, libellé, valeur)

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
20 janv. 2009 à 12:22
Bonjour,

Un fichier ini se compose comme tel :
[toto]
lib1=
lib2=
etc...
Donc la ligne tu vas la choisir si tu écris dans ton fichier de type INI
Ta question est mal posée...

Merci

S.L.B.
<hr />
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
20 janv. 2009 à 12:23
@PCPT :
tu as été plus rapide que moi

S.L.B.
<hr />
0
Portos67 Messages postés 72 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 14 janvier 2013 1
20 janv. 2009 à 13:54
Oui désolé, mon fichier est bien composé de section etc, c'était juste un exemple, ce qu'il me faudrais c'est juste écrire une ligne en plus à la fin d'un paragraphe, exemple :

[toto]
lib=0
lib=1
lib=2
-->ICI<--
[titi]
lib=10
lib=12
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 janv. 2009 à 14:12
un fichier INI se lisant par sa structure, on ne dispose pas de sa position dans sa section, elle n'intervient pas dans sa lecture

si son "organisation visuelle" t'importe, il faut le pré-remplir (manuellement ou par code, alors enregistré dans l'ordre d'appel)
0
Portos67 Messages postés 72 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 14 janvier 2013 1
20 janv. 2009 à 15:04
Hum, ça me parait absurde, il n'y a pas de fonction qui sache aller pointer sur une ligne précise, et rajouter une ligne ?
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
20 janv. 2009 à 15:37
Re,

Option Explicit


'-- Déclaration des fonctions API
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
                        
'********************************************************************************
'* Fonction permettant l'écriture dans un fichier INI
'********************************************************************************
Public Function EcritDansFichierIni(section As String, _
                                     Cle As String, _
                                     Valeur As String, _
                                     Fichier As String) As Long
            
    EcritDansFichierIni = WritePrivateProfileString(section, Cle, Valeur, Fichier)


End Function


'********************************************************************************
'* Fonction permettant la lecture dans un fichier INI
'********************************************************************************
Public 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




Je comprends pas ce que tu veux...
Ceci est le code pour lire et écrire dans un fichier ini... Dans la partie Ecrire tu n'a qu'a lui donner les renseignements...
Bon courage





S.L.B.
<hr />
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 janv. 2009 à 15:40
c'est CHOISIR d'utiliser un fichier structuré et ne pas utiliser les API prévues pour qui est absurde

dans ce cas (ne pas respecter la structure), il faut choisir de coder sans passer par ces API RELATIVES A LA STRUCTURE, c'est tout

et dans ce cas il faut utiliser les fonctions accessibles par le framework, classe system.IO, avec le stream prévu pour

tu auras des exemples sur www.codyx.org

ps : pour ne pas "perturber" l'utilisateur, dans ce cas ne nomme pas ton fichier xxx.INI mais plutôt xxx.DAT par exemple

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
Portos67 Messages postés 72 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 14 janvier 2013 1
20 janv. 2009 à 16:34
J'ai trouvé la fonction qu'il me faut avec les API: SetPrivateProfileString, par contre comment l'utiliser je ne trouve pas de tuto la dessus.
0
Rejoignez-nous