PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Valeur d'un fichier ini sur plusieurs lignes
Valeur d'un fichier ini sur plusieurs lignes
Débuté par MB, 04 juin 2015 10:52 - 5 réponses
Membre enregistré
18 messages
Popularité : +1 (1 vote)
Posté le 04 juin 2015 - 10:52
Bonjour,

J'ai un petit soucis suite à l'utilisation de "IniEcrit"
En fait, j'écris dans le fichier une chaine cryptée. Lors de mes tests tout c'est bien déroulé, mais à force d'utiliser l'application, je me rend compte que cette chaine cryptée pouvait contenir des <RC> et donc j'ai une valeur dans mon fichier ini qui est écrite sur plusieurs lignes...

J'ai trouvé le moyen de contourner ce cas, mais comment faire pour relire la donnée écrite sur plusieurs lignes dans ce fichier ini ?

Merci pour vos réponses, car je cale un petit peu.

Bonne journée à toutes et à tous


Michaël
Posté le 04 juin 2015 - 10:59
Bonjour,

Je ne vois que des solutions alternatives pour résoudre ton problème :
Soit mémoriser la chaine crypté dans un fichier .FIC
Soit utiliser un fichier texte qui ne contient que le contenu de la chaine cryptée en utilisant fchargetexte et fsauvetexte.
Membre enregistré
344 messages
Popularité : +24 (28 votes)
Posté le 04 juin 2015 - 11:17
bonjour

vous pouvez lire votre fichier ini comme un fichier texte en gérant les mots cle
Vous utiliser
// Lecture des 50 premiers octets (au maximum) du fichier à partir du début
MonTexte est chaîne
MonTexte = fChargeTexte("C:\Dir\>Monfichier.ini", )

après à vous de récupérer la valeur de la chaîne
soit par un extraitchaine soit par

mavaleur =montexte[[debutpoistion à finposition]]


--
Utiliser l'aide avant que l'on vous aide
Bon développement
Alain PETTITI (apettiti.cg06.fr)
Avec licence PCSOFT certifiée et abonnement LST
Je peux prendre la main avec teamwiever
Apprentissage Windev : http://apprentissagewindev.blogspot.fr
Membre enregistré
101 messages
Popularité : +1 (1 vote)
Posté le 04 juin 2015 - 12:37
Pas d'accord avec le conseil d'Alain.
Soit ton fichier INI respecte la norme des fichiers INI ( pas de saut de ligne dans les data), soit il ne la respecte pas.
Et s'il ne la respecte pas, pour éviter toute ambiguité, il vaut mieux utiliser une autre extension ( PARM par exemple).


Et si tu veux utiliser les fonctions INI, la solution de contournement, c'est de faire :
// A l'écriture :
ch1 = Remplace(ch, RC, "$$$$$$$$$$")
INIEcrit ( ... , ch1)


// A la lecture
ch1 = INILit(...)
ch = Remplace ( ch1, "$$$$$$$$$$", RC)

Libre à toi de choisir la chaîne que tu veux pour traduire les RC.
Posté le 04 juin 2015 - 14:53
Bonjour Michael

par expérience, dés que tu veux stocker/envoyer ou autre une chaine
cryptée, le mieux est de faire un bufferVersHexa et de stocker la chaine
hexa obtenue...

En effet, une chaine cryptée peut (selon le cryptage utilisée et la
chaine de départ) contenir NON SEULEMENT des RC, amis aussi des zeros
(fin de chaine) et tout un tas d'autres caractères de controles/binaires..

En la passant en hexa, on peut la manipuler comme n'importe quelle chaine

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Disponible : WXShowroom.com, WXReplication (open source)
Bientôt : WXEDM (open source)
Plus d'information sur http://fabriceharari.com


On 6/4/2015 2:52 AM, MB wrote:
Bonjour,

J'ai un petit soucis suite à l'utilisation de "IniEcrit"
En fait, j'écris dans le fichier une chaine cryptée. Lors de mes tests
tout c'est bien déroulé, mais à force d'utiliser l'application, je me
rend compte que cette chaine cryptée pouvait contenir des <RC> et donc
j'ai une valeur dans mon fichier ini qui est écrite sur plusieurs lignes...

J'ai trouvé le moyen de contourner ce cas, mais comment faire pour
relire la donnée écrite sur plusieurs lignes dans ce fichier ini ?

Merci pour vos réponses, car je cale un petit peu.

Bonne journée à toutes et à tous


Michaël
Membre enregistré
18 messages
Popularité : +1 (1 vote)
Posté le 05 juin 2015 - 08:48
Merci à tous pour vos réponses :)

Les solutions de contournement, j'y avais pensé, mais comme le dit Fabrice, c'est vrai qu'on pourrais se retrouver avec d'autres types comme énoncé, donc je vais suivre la solution de Fabrice :merci:

Encore merci à vous et d'avance un super bon Week-End