Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Editer le nom d'une section dans in fichier .INI

16 réponses
Avatar
Fournier Raymond
Bonjour a tous,
Je voudrais savoir qu'elle est la meilleure façon d'éditer par le
code le nom d'une section d'un fichier.ini. Si on utilise les api pour
gérer les fichiers ini et que l'on édite le nom de la section il y aura une
nouvelle section avec le nom corriger.

merci de votre aide

6 réponses

1 2
Avatar
Pierre Alexis [MVP]
Salut Nicols,

Dans ton algo, tu lis l'entièreté du fichier dans un buffer pour ensuite aller
réecrire l'entireté du fichier sur le disque... Pas très top, alors qu'on ne
désire modifier qu'une seule ligne. Pourquoi ne pas bénéficier des fonctions
de lecture séquentielle offertes pas VB et ne réécrire qu'une seule ligne dans
le fichier (bon bien sûr tout ce qui suit sera rrécrit aussi, mais au moins
pas ce qui se trouve avant).

--
Pierre ALEXIS - MVP Visual Basic
Courriel & messenger :
FAQ Visual Basic : http://faq.vb.free.fr/
Avatar
ng
Salut,

En général les fichiers ini ne sont pas de tailles importantes ! Je pense
que cela ne changerait pas grand choses aux performances. De plus je ne vois
pas trop comment tu irais réecrire une seule ligne car elles sont toutes de
tailles différentes... Il est en outre possible que la nouvelle ligne à
réecrire ait une taille différente...

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/



Pierre Alexis [MVP] a écrit :

Salut Nicols,

Dans ton algo, tu lis l'entièreté du fichier dans un buffer pour
ensuite aller réecrire l'entireté du fichier sur le disque... Pas
très top, alors qu'on ne désire modifier qu'une seule ligne. Pourquoi
ne pas bénéficier des fonctions de lecture séquentielle offertes pas
VB et ne réécrire qu'une seule ligne dans le fichier (bon bien sûr
tout ce qui suit sera rrécrit aussi, mais au moins pas ce qui se
trouve avant).


Avatar
Pierre Alexis [MVP]
Salut Nicolas,

Tu as écrit :

En général les fichiers ini ne sont pas de tailles importantes ! Je pense
que cela ne changerait pas grand choses aux performances. De plus je ne vois
pas trop comment tu irais réecrire une seule ligne car elles sont toutes de
tailles différentes... Il est en outre possible que la nouvelle ligne à
réecrire ait une taille différente...



Oui sorry j'oubliais que c'est pas possible en VB de réécrire une seule ligne.
My mistake.

--
Pierre ALEXIS - MVP Visual Basic
Courriel & messenger :
FAQ Visual Basic : http://faq.vb.free.fr/
Avatar
Zoury
Bonjour à tous! :O)

L'inquiétude de Pierre face aux différents attributs du fichier qui sont
perdu lorsqu'on le recréer de manière standard étant très compréhensible,
j'ai fouillé un peu les fonctions offertes, je suis tomber sur la fonction
ReplaceFile() dans kernel32.dll.. elle permet de remplacer un fichier par
autre en préservant les droits de partage, de sécurité, la date de création,
etc.. (en plus de permettre la création d'un back-up de l'ancien fichier).

Le seul hic c'est qu'elle n'est disponible que pour Windows XP ou Windows
2000 Professionnel.. il faudrait donc codé une fonction équivalente pour les
autres O/S (ce qui doit surement déjà exister quelque part)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"Pierre Alexis [MVP]" a écrit dans le message de
news:%23%
Salut Nicolas,

Tu as écrit :

> En général les fichiers ini ne sont pas de tailles importantes ! Je


pense
> que cela ne changerait pas grand choses aux performances. De plus je ne


vois
> pas trop comment tu irais réecrire une seule ligne car elles sont toutes


de
> tailles différentes... Il est en outre possible que la nouvelle ligne à
> réecrire ait une taille différente...

Oui sorry j'oubliais que c'est pas possible en VB de réécrire une seule


ligne.
My mistake.

--
Pierre ALEXIS - MVP Visual Basic
Courriel & messenger :
FAQ Visual Basic : http://faq.vb.free.fr/




Avatar
François Picalausa
Hello,

Une solution serait d'employer SetEndOfFile après avoir lu (ReadFile),
remplacé et écrit(WriteFile) par APIs...

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Zoury" a écrit dans le message de
news:
L'inquiétude de Pierre face aux différents attributs du fichier qui
sont perdu lorsqu'on le recréer de manière standard étant très
compréhensible, j'ai fouillé un peu les fonctions offertes, je suis
tomber sur la fonction ReplaceFile() dans kernel32.dll.. elle permet
de remplacer un fichier par autre en préservant les droits de
partage, de sécurité, la date de création, etc.. (en plus de
permettre la création d'un back-up de l'ancien fichier).


Avatar
Fournier Raymond
"François Picalausa" wrote in news:OuApn4NaEHA.2016
@TK2MSFTNGP09.phx.gbl:

Hello,

Une solution serait d'employer SetEndOfFile après avoir lu (ReadFile),
remplacé et écrit(WriteFile) par APIs...




Merci a tous pour votre aide.

Raymond Fournier
1 2