Page 1 sur 1
[R] Interpréter fichier .txt dans un tableau
Posté : mer. 08 févr. 2012 21:46
par chucky17
salut à tous !
je vous présente mon problème

:
je souhaiterai enregistrer des lignes dans un fichier texte (ou autre) quelque lignes (ça c'est fait

).
Maintenant j'aimerai interpréter certaines lignes dans un tableau figurant dans un onglet.
mon fichier teste actuel est composé de cette façon :
Code : Tout sélectionner
L1 Profil de moi
L2 moi
L3 passwordmoi
L4 -------------
L5 compte enregistrés :
L6 nom
L7 mdp
L8 ----
L9 nom
L10 mdp
L11 ----
(et ainsi de suite ...)
Par exemple, dans mon fichier texte il y a ligne 6 "nom" et ligne 7 "mdp".
Et je veux afficher: -dans la 1ere ligne, 1ere colonne la ligne 6.
-dans la 1ere ligne, 2eme colonne la ligne 7.
J'aimerai aussi faire:
Si il existe l6 et l7
les afficher
et si il existe l9 et l10
les afficher
et ainsi de suite ... et bien sur dans un tableau
je pensais utiliser l'incrémentation mais je sais pas comment faire
Merci d'avance pour ceux qui m'aide

Re: [..] interpréter fichier .txt dans un tableau
Posté : mer. 08 févr. 2012 22:23
par TT22
Essaye ça :
► Afficher le texte
Code : Tout sélectionner
#include <Array.au3>
#include <File.au3>
$File = FileOpenDialog("Choisissez un fichier",@ScriptDir,"Tous les fichiers (*.*)")
$Max = (_FileCountLines($File)-2)/3
Dim $Return[$Max+1]
$Return[0] = FileReadLine($File,2)&" "&FileReadLine($File,3)
$j = 1
For $i = 6 To _FileCountLines($File) Step 3
$Return[$j] = FileReadLine($File,$i)&" "&FileReadLine($File,$i+1)
$j+=1
Next
_ArrayDisplay($Return)
Avec ce fichier par exemple :
► Afficher le texte
Code : Tout sélectionner
Profil de moi
Moi
Mon_mot_de_passe
-------------
compte enregistrés :
nom1
mdp1
----
nom2
mdp2
----
nom3
mdp3
----
nom4
mdp4
----
nom5
mdp5
----
nom6
mdp6
----
nom7
mdp7
----
nom8
mdp8
----
nom9
mdp9
----
nom10
mdp10
----
nom11
mdp11
----
nom12
mdp12
----
nom13
mdp13
----
nom14
mdp14
----
nom15
mdp15
----
nom16
mdp16
----
nom17
mdp17
----
nom18
mdp18
Mais franchement, tu ferais mieux d'utiliser un fichier ini qui est tout à fait adapter à ton problème

Re: [..] interpréter fichier .txt dans un tableau
Posté : mer. 08 févr. 2012 22:28
par silvere
Je croi que ceci est plus adapter : (

)
► Afficher le texte
Code : Tout sélectionner
#include <Array.au3>
#include <File.au3>
Dim $array
$fichier = FileOpenDialog("", @DesktopDir, "All (*.*)")
_FileReadToArray($fichier, $array)
_ArrayDisplay($array)
Et après tu rajoute les fonction que tu veut
Re: [..] interpréter fichier .txt dans un tableau
Posté : jeu. 09 févr. 2012 08:12
par TopXm
Hello,
Allez centraliser des mots de passe en clair dans un fichier INI / TXT niveau
confidentialité c'est très moyen non ?
nb : je sais je ne répond pas à la question posée, j'en pose une

...
vais me prendre une remontée de bretelles je sens moi, et encore je n'ai pas dit que des outils faisaient ça très bien déjà (ah si mince) 
Re: [..] interpréter fichier .txt dans un tableau
Posté : ven. 10 févr. 2012 21:20
par chucky17
Désolé pour mon retard ^^'
Merci les gars !
mais par contre je comprend pas l'utilité de votre script avant :S tu pourrai me l'expliquer ?
Pour le fichier ini je veux bien mais je ne sais pas m'en servir :/
Et pour répondre à TopXm, je travail sur le cryptage .. mais ya vraiment beaucoup de code à modifier ? car va falloir enregistrer en crypt, puis le décoder ^^' ...
TopXm a écrit :Hello,
Allez centraliser des mots de passe en clair dans un fichier INI / TXT niveau
confidentialité c'est très moyen non ?
nb : je sais je ne répond pas à la question posée, j'en pose une

...
vais me prendre une remontée de bretelles je sens moi, et encore je n'ai pas dit que des outils faisaient ça très bien déjà (ah si mince) 
HéHé ! pourquoi pas ! ;D
Et merci de m'aider !

Re: [..] interpréter fichier .txt dans un tableau
Posté : sam. 11 févr. 2012 08:05
par TopXm
Hello

Pour le cryptage voir, entre autre, l'aide sur _Crypt_EncryptData

Pour les INI déjà rapport à leur structure :
http://www.siteduzero.com/tutoriel-3-41 ... r-ini.html
Après tu trouveras pleins de scripts sur le forum s'y rapportant
Re: [..] interpréter fichier .txt dans un tableau
Posté : dim. 12 févr. 2012 14:23
par mikell
Voilà un exemple de structure de fichier ini qui correspond à ce que tu veux
► Afficher le textetest.ini
Code : Tout sélectionner
[Profil de moi]
nom=Moi
mdp=Mon_mot_de_passe
[comptes]
nom1=chucky17
mdp1=11111
nom2=TopXm
mdp2=22222
nom3=TT22
mdp3=33333
nom4=Tlem
mdp4=44444
; etc
et voilà un exemple de script pour le lire dans un tableau
► Afficher le texte
Code : Tout sélectionner
#include <Array.au3>
$users = 0
$var = IniReadSection("test.ini", "comptes")
If @error Then
MsgBox(4096, "", "pas trouvé le ini")
Else
Dim $items[1][2] = [["nom d'utilisateur", "mot de passe"]]
For $i = 1 To $var[0][0]-1
If StringLeft($var[$i][0], 3) = "nom" Then
$users +=1
ReDim $items[$users+1][2]
$items[$users][0] = $var[$i][1]
$items[$users][1] = $var[$i+1][1]
EndIf
Next
EndIf
_ArrayDisplay($items)
Re: [..] interpréter fichier .txt dans un tableau
Posté : dim. 12 févr. 2012 14:32
par TT22
Sinon, pour crypter des donnés, _
StringEncrypt() est assez simple à utiliser

Re: [..] interpréter fichier .txt dans un tableau
Posté : dim. 12 févr. 2012 15:58
par jchd
_StringEncrypt est désuet et à éviter à tout prix.
Préférer les fonctions _Crypt*.
Re: [..] interpréter fichier .txt dans un tableau
Posté : dim. 12 févr. 2012 17:24
par matwachich
Et pous _Crypt_* Attention aux piège des données binaires!!!! Je m'en suis longtemps mordu les doigts!!
Pour parer à ça, voici des fonctions "intermédiare" en quelque sorte entre vous, et les fonctions Crypt.
Elle fonctionne comme _StringEncrypt: c'est à dire, crypt un String en un String (et pas en binaire)
Code : Tout sélectionner
#Include <Crypt.au3>
Func _Crypt_Cry($sData, $sKey, $iAlgo = $CALG_RC4)
$sData = StringToBinary($sData, 4)
$sData = _Crypt_EncryptData($sData, $sKey, $iAlgo)
$sData = StringTrimLeft($sData, 2)
Return $sData
EndFunc
Func _Crypt_dCry($sData, $sKey, $iAlgo = $CALG_RC4)
$sData = Binary("0x" & $sData)
$sData = _Crypt_DecryptData($sData, $sKey, $iAlgo)
$sData = BinaryToString($sData, 4)
Return $sData
EndFunc
#Region - Test
#cs
$text = "salut la compagnie!!!" & @CRLF & "Regardez, je met des caractères spéciaux: &éàç@ç_è-|, et des sauts de ligne!"
$crypt = _Crypt_Cry($text, "motdepasse")
ConsoleWrite("Cry: " & $crypt & @CRLF)
$clair = _Crypt_dCry($crypt, "motdepasse")
ConsoleWrite("Clair: " & $clair & @CRLF)
#ce
#endregion
Mais ce qu'il y a à savoir, c'est que en convertissant des données binaires en chaines de caractère, la taille augmente!
(je pense que jchd expliquera mieux que moi, j'ai pigé mais je n'arrive pas à expliquer!

)
Re: [..] interpréter fichier .txt dans un tableau
Posté : dim. 12 févr. 2012 19:10
par jchd
mat a raison : si l'on veut chiffer une chaîne AutoIt (qui je le rappelle est encodée en UCS-2, grosso-modo la version "unité de code 16-bit unique" de UTF-16) il faut la convertir en UTF-8, sinon, les appels internes à _Crypt_StringEncrypt la convertissent silencieusement en ANSI sous la page de code en vigueur.
Cela permet de chiffrer correctement les caractères qui ne font pas partie du jeu ANSI de la machine qui chiffre (par ex: ĬʼnĊőŖŔēĶŧ ⅔ ≥ ⅝). Cela résoud aussi le problème du transfert de données chiffrées entre machines n'utilisant pas la même page de code ANSI, l'une chiffrant, l'autre déchiffrant.
Il faut faire la même chose pour passer le mot de passe, si c'est une chaîne, pour la même raison.
Re: [..] interpréter fichier .txt dans un tableau
Posté : dim. 12 févr. 2012 21:20
par TT22
jchd a écrit :_StringEncrypt est désuet et à éviter à tout prix.
Pourtant il fonctionne très bien
Juste une petite question, pourquoi est-il désuet ? Est-ce parce qu’il crypte mal ou de façon peu sécurisé ?
Re: [..] interpréter fichier .txt dans un tableau
Posté : lun. 13 févr. 2012 00:59
par jchd
Re: [..] interpréter fichier .txt dans un tableau
Posté : lun. 13 févr. 2012 13:09
par TT22
@jchd : Effectivement, j'utiliserais les fonctions _Crypt à l'avenir

Re: [..] interpréter fichier .txt dans un tableau
Posté : mer. 15 févr. 2012 17:28
par chucky17
Saalut tout le monde !
bon déjà, excusez moi du retard !
sinon, merci beaucoup, ça encrypte/décrypte niquel !
à la prochaine sur le forum !
