[R] Sauter des lignes dans un fichier ini

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Sauter des lignes dans un fichier ini

#21

Message par TT22 »

mikell a écrit :
jchd a écrit :Argh !
... un peu usant pour les nerfs
Bienvenue au club :mrgreen:
Et ouai, c'est un de mes talents naturels :mrgreen:

Bon sinon pour mon séparateur je fais comment ???
Cordialement,
TT22
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Sauter des lignes dans un fichier ini

#22

Message par mikell »

Aucune idée, j'ai jamais utilisé ni appris à utiliser les bases de données, donc je laisse le soin de te répondre au chef jchd, avec une volupté intense :mrgreen:

@jchd
jchd a écrit :Bon je veux bien te faire un schéma SQLite quand j'aurai 5 minutes
Le fait est qu'un petit tutoriel sur le sujet serait une super idée :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Sauter des lignes dans un fichier ini

#23

Message par TT22 »

mikell a écrit :Le fait est qu'un petit tutoriel sur le sujet serait une super idée :wink:
Ouai, je suis bien d'accord Image
Cordialement,
TT22
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Sauter des lignes dans un fichier ini

#24

Message par jchd »

Avant de faire, il faut expliciter exactement ce dont on part et ce qu'on veut obtenir.
Tant que tu n'es pas enclin à rendre cette chose publique, rien n'est possible.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Sauter des lignes dans un fichier ini

#25

Message par jchd »

Par ici peut-être ?
Ou là
ou bien encore ici
le choix ne manque pas mais il est certes plus restreint en français...
Modifié en dernier par jchd le mar. 14 juin 2011 22:48, modifié 1 fois.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Sauter des lignes dans un fichier ini

#26

Message par TT22 »

jchd a écrit :Tant que tu n'es pas enclin à rendre CETTE CHOSE publique, rien n'est possible.
Quelle chose ?
Cordialement,
TT22
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Sauter des lignes dans un fichier ini

#27

Message par jchd »

ça : il faut expliciter exactement ce dont on part et ce qu'on veut obtenir
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Sauter des lignes dans un fichier ini

#28

Message par mikell »

@jchd : :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Sauter des lignes dans un fichier ini

#29

Message par ZDS »

Bonjour !

Regarde un peu ce genre d'algo :

Code : Tout sélectionner

Func extendedIniRead($filename, $section, $key)
    Local $value = IniRead($filename, $section, $key, "#")
    If $value = "#" Then
        Return ""
    ElseIf StringRight($value,1) = "#" Then
        $value = StringTrimRight($value,1) & extendedIniRead($filename, $section, $key&"_more")
    EndIf
    Return StringReplace($value,"\n",@CRLF,0,2)
EndFunc

Func extendedIniWrite($filename, $section, $key, $value)
    Local $valueToSet = StringReplace($value,@CRLF,"\n",0,2), $mark = "#"
    IniDelete($filename, $section, $key&"_more")
    If StringLen($valueToSet)>1000 Then
        extendedIniWrite($filename, $section, $key&"_more", StringTrimLeft($valueToSet,1000))
    Else
        $mark = ""
    EndIf
    IniWrite($filename, $section, $key, StringLeft($valueToSet, 1000)&$mark)
EndFunc
\n symbolise les retours à la ligne de la chaine a récupérer, le # à la fin d'une chaine signifie qu'elle a une suite, et une clef XXXX peut être suivie par une clef XXXX_more, puis XXXX_more_more, etc... bref si avec ça tu n'arrives à rien, mieux vaut peut-être laisser tomber et envoyer le besoin complet sur les "demandes de script" ^^

A bientôt !

PS: Ce n'est pas garanti sans erreur de code, mais l'algo est là, utilise un peu ta matière grise TT22
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Sauter des lignes dans un fichier ini

#30

Message par TT22 »

@ ZDS
T’aurai pas un exemple du ini ?
Cordialement,
TT22
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Sauter des lignes dans un fichier ini

#31

Message par ZDS »

ZDS a écrit :l'algo est là, utilise un peu ta matière grise TT22
Hum... Fais gaffe ça peut s'apparenter à de la fainéantise de bas étage là... ^^

Exemple de fichier INI :

Code : Tout sélectionner

[section]
clef=valeur de la ligne n°1\nvaleur de la ligne n°2\nvaleur de la #
clef_more=ligne n°3\nvaleur de la ligne n°4\n(antislash+n pour un #
clef_more_more=retour-chariot\net # en fin de ligne pour dire qu'#
clef_more_more_more=il y a une suite.
Exemple de script :

Code : Tout sélectionner

Func extendedIniRead($filename, $section, $key)
    Local $value = IniRead($filename, $section, $key, "#")
    If $value = "#" Then
        Return ""
    ElseIf StringRight($value,1) = "#" Then
        $value = StringTrimRight($value,1) & extendedIniRead($filename, $section, $key&"_more")
    EndIf
    Return StringReplace($value,"\n",@CRLF,0,2)
EndFunc

Func extendedIniWrite($filename, $section, $key, $value)
    Local $valueToSet = StringReplace($value,@CRLF,"\n",0,2), $mark = "#"
    IniDelete($filename, $section, $key&"_more")
    If StringLen($valueToSet)>1000 Then
        extendedIniWrite($filename, $section, $key&"_more", StringTrimLeft($valueToSet,1000))
    Else
        $mark = ""
    EndIf
    IniWrite($filename, $section, $key, StringLeft($valueToSet, 1000)&$mark)
EndFunc

Local $str = extendedIniRead("c:\test.ini", "section", "clef")
ConsoleWrite('{'&@CRLF&$str&@CRLF&'}'&@CRLF)
Resultat obtenu :

Code : Tout sélectionner

>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\******\IniAndLineFeed.au3" /autoit3dir "C:\Program Files\AutoIt3" /UserParams    
+>14:09:14 Starting AutoIt3Wrapper v.2.0.1.24    Environment(Language:0409  Keyboard:0000040C  OS:WIN_XP/Service Pack 3  CPU:X64 OS:X86)
>Running AU3Check (1.54.19.0)  from:C:\Program Files\AutoIt3
+>14:09:14 AU3Check ended.rc:0
>Running:(3.3.6.1):C:\Program Files\AutoIt3\autoit3.exe "C:\******\IniAndLineFeed.au3"    
{
valeur de la ligne n°1
valeur de la ligne n°2
valeur de la ligne n°3
valeur de la ligne n°4
(antislash+n pour un retour-chariot
et # en fin de ligne pour dire qu'il y a une suite.
}
+>14:09:14 AutoIT3.exe ended.rc:0
>Exit code: 0    Time: 1.902
PS: Tu abuses, c'est du niveau plus que débutant tu aurais pu chercher toi même... ^^
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Sauter des lignes dans un fichier ini

#32

Message par TT22 »

ZDS a écrit :Hum... Fais gaffe ça peut s'apparenter à de la fainéantise de bas étage là... ^^
C'est pas de la fainéantise mais j'avais pas bien compris tes histoires de \n et de # :oops:
Mais merci, je passe en résolut :D
Cordialement,
TT22
Répondre