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

Archive Delphi

 > 

Archives

 > 

Système

 > 

Problème d'écriture dans un .INI


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

Problème d'écriture dans un .INI

vendredi 23 mai 2003 à 14:51:02 | Problème d'écriture dans un .INI

ericamiens

bonjour,
lors d'écritures massives (beaucoup d'écritures de 'petites' chaînes) dans un .INI, j'ai le message
'Ne peut écrite dans '+le nom du fichier.
j'utilise delphi 3 sous win 98.
j'ai regardé le code 'IniFiles.pas' et j'ai vu que le WriteString() fait appel à WritePrivateProfileString().
je pense que cela vient de la taille du .INI : juste avant de 'planter', la taille est de
64 Ko...
y aurait-il des limites ? dues à delphi 3 ?
j'ai pourtant des .INI plus gros sur mon disque dur. mais ils ne sont peut-être pas écrits/lus par les mêmes méthodes...
important : je vide le cache après chaque écriture : Update() n'existant pas en delphi 3, je fais : WritePrivateProfileString(NIL, NIL, NIL, PChar(INI.FileName)) (comme le fait l'update : vu dans le source de delphi 5).

bref, si je peux dépasser la limite des 64 Ko, je continue avec l'objet TIniFile, sinon de passe à l'objet TRegistry bien que je trouve cela moins pratique (risque de corruptions, copie vers un autre poste problèmatique, ... ). c'est pour cela que je vous demande de l'aide : peut-on franchir la barrière des 64 Ko ?

merci d'avance pour vos réponses et bonne fin de journée.


Eric
samedi 24 mai 2003 à 00:57:12 | Re : Problème d'écriture dans un .INI

Delphiprog

Administrateur CodeS-SourceS
La limite des fichiers .ini est effectivement de 64 Ko.
Cette limitation n'est pas dûe à Delphi mais à Windows lui même.
Si les sections (au sens des fichiers .ini) ne sont pas une nécessité absolue et si tu ne stockes que des chaînes de caractères, tu peux utiliser un TStringList. En utilisant les propriétés Names ou Values, tu peux retrouver très rapidement l'un par rapport à l'autre. En prime, tu t'affranchis de cette barrière fatidique des 64 Ko. Et pour la sauvegarde comme pour le chargement en mémoire, il n'y a pas plus facile d'utilisation. Pour chaque ligne, il suffit de respecter le format "name=value".

Ou alors, fractionner en plusieurs fichiers ini.
May Delphi be with you


-------------------------------
Réponse au message :
-------------------------------

> bonjour,
> lors d'écritures massives (beaucoup d'écritures de 'petites' chaînes) dans un .INI, j'ai le message
> 'Ne peut écrite dans '+le nom du fichier.
> j'utilise delphi 3 sous win 98.
> j'ai regardé le code 'IniFiles.pas' et j'ai vu que le WriteString() fait appel à WritePrivateProfileString().
> je pense que cela vient de la taille du .INI : juste avant de 'planter', la taille est de
> 64 Ko...
> y aurait-il des limites ? dues à delphi 3 ?
> j'ai pourtant des .INI plus gros sur mon disque dur. mais ils ne sont peut-être pas écrits/lus par les mêmes méthodes...
> important : je vide le cache après chaque écriture : Update() n'existant pas en delphi 3, je fais : WritePrivateProfileString(NIL, NIL, NIL, PChar(INI.FileName)) (comme le fait l'update : vu dans le source de delphi 5).
>
> bref, si je peux dépasser la limite des 64 Ko, je continue avec l'objet TIniFile, sinon de passe à l'objet TRegistry bien que je trouve cela moins pratique (risque de corruptions, copie vers un autre poste problèmatique, ... ). c'est pour cela que je vous demande de l'aide : peut-on franchir la barrière des 64 Ko ?
>
> merci d'avance pour vos réponses et bonne fin de journée.
>
>
> Eric
>
lundi 26 mai 2003 à 08:07:36 | Re : Problème d'écriture dans un .INI

ericamiens

Merci bien, je me doutais de cette limite...
j'ai (ce week-end) écrit un composant qui permet de s'affranchir de cette limite : les propriétés/méthodes sont les mêmes que celles du TIniFile (pour avoir moins de chose à ré-écrire).
je vais le tester et l'utiliser.
merci encore et bonne semaine
Eric



-------------------------------
Réponse au message :
-------------------------------

> La limite des fichiers .ini est effectivement de 64 Ko.
> Cette limitation n'est pas dûe à Delphi mais à Windows lui même.
> Si les sections (au sens des fichiers .ini) ne sont pas une nécessité absolue et si tu ne stockes que des chaînes de caractères, tu peux utiliser un TStringList. En utilisant les propriétés Names ou Values, tu peux retrouver très rapidement l'un par rapport à l'autre. En prime, tu t'affranchis de cette barrière fatidique des 64 Ko. Et pour la sauvegarde comme pour le chargement en mémoire, il n'y a pas plus facile d'utilisation. Pour chaque ligne, il suffit de respecter le format "name=value".
>
> Ou alors, fractionner en plusieurs fichiers ini.
> May Delphi be with you
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > bonjour,
> > lors d'écritures massives (beaucoup d'écritures de 'petites' chaînes) dans un .INI, j'ai le message
> > 'Ne peut écrite dans '+le nom du fichier.
> > j'utilise delphi 3 sous win 98.
> > j'ai regardé le code 'IniFiles.pas' et j'ai vu que le WriteString() fait appel à WritePrivateProfileString().
> > je pense que cela vient de la taille du .INI : juste avant de 'planter', la taille est de
> > 64 Ko...
> > y aurait-il des limites ? dues à delphi 3 ?
> > j'ai pourtant des .INI plus gros sur mon disque dur. mais ils ne sont peut-être pas écrits/lus par les mêmes méthodes...
> > important : je vide le cache après chaque écriture : Update() n'existant pas en delphi 3, je fais : WritePrivateProfileString(NIL, NIL, NIL, PChar(INI.FileName)) (comme le fait l'update : vu dans le source de delphi 5).
> >
> > bref, si je peux dépasser la limite des 64 Ko, je continue avec l'objet TIniFile, sinon de passe à l'objet TRegistry bien que je trouve cela moins pratique (risque de corruptions, copie vers un autre poste problèmatique, ... ). c'est pour cela que je vous demande de l'aide : peut-on franchir la barrière des 64 Ko ?
> >
> > merci d'avance pour vos réponses et bonne fin de journée.
> >
> >
> > Eric
> >
>


Cette discussion est classée dans : ini, delphi, ko, écriture, nil


Répondre à ce message

Sujets en rapport avec ce message

creer un fichier ini [ par snakefinger ] salut a tous ya t'il une commande en delphi pour creer un fichier ini.j'ai trouver le code dans visual basic mais je cherche en delphi .si quelq'un a écriture lecture ram ???? [ par TouTSpeed ] bonsoir à tous.Je suis en train de retranscrire un programme écrit en language c et en delphi !! ( en fait je lance un programme que j'ai écrit en C a lecture et écriture dans un fichier .ini [ par finipe ] Bonjour à tous !Je voudrais savoir comment faire pour : - écrire dans un .ini tous les items d'une listbox, de manière à pouvoir les récupérer en lisa Taille de l'application générée par Delphi. [ par Becracker ] Salut à tous, Je suis un débutant en delphi et je suis entrain de concevoir ma 1ère application. Mais je remarque que mon application lorsque je la c Delphi : Fichiers INI : Ecrire plusieurs elements dans meme section ??? [ par motoetmotards ] Bonjour.Je suis en stage et dois développer une appli de réparation de fichiers ini.Dans mon programme delphi, j'ai une array contenant des strings ca Fichiers ini avec Delphi 2005 [ par flo160fr ] Bonjours tout le monde... Voila, j'ai un problème avec les fichiers ini sous Delphi 2005... Il affiche une erreur quand je luis met le code suivant : Delphi 2009 et MySQL [ par vmsn ] Bonjour,Après plusieurs jours de recherches, des cheveux en moins, mon chien qui hurle à la mort et pleins d'autres choses, j'en viens vers vous pour Delphi, oracle et fichier ini [ par jinkas ] Bonjour, Je viens de débuter sous Delphi et je voudrais créer un service windows qui lit un fichier ini et qui insère les valeurs dans une base de Fichier ini [ par DonKillah ] Salut tout le monde, je suis un peu nouveau sur Delphi, avant je codais -enfin je code toujours- en C et en Asm ; donc j'ai une petite question ...Mon fichier ini pour install QuickTime sur Win [ par didierauss ] Bonjour a tous,Je suis tous nouveau sur le site et avant toute chose je ne suis pas informaticien et je connais rien à la programmation, je suis graph


Nos sponsors


Sondage...

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,421 sec (4)

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