[R] Changer les chiffres par d'autres aléatoire

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

[R] Changer les chiffres par d'autres aléatoire

#1

Message par silvere »

Bonjours :D
Je fait la requête d'un scripte qui permettrais, dans un fichier texte de modifier les chiffre par d'autres aléatoire.
Merci d'avance a cette âme charitable qui répondra a cette requête.
Bonne nuit au couche tard :p
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#2

Message par yohan8 »

Il faut lire ces chiffres dans tes fichiers textes ou peut-on les modifier directement ?

Dans ce cas tu n'as qu'a supprimer tes fichiers et en créer de nouveau en utilisant FileWrite avec un Random pour écrire tes chiffres aléatoire :?:

Ce sont des fichiers txt ou ini ?
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#3

Message par silvere »

On peut les modifier directement ;)
Fichier txt
Bah non car il y a pas que des chiffre il y a également des lettres et j'aimerais que les chiffre conserve leur place entre les lettres tout en les changeant aléatoirement
Merci :)
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#4

Message par yohan8 »

silvere a écrit :j'aimerais que les chiffre conserve leur place entre les lettres tout en les changeant aléatoirement
En voila une autre demande non précisé dans le premier post :p

Est-ce que tu connais la place exact de chaque lettre ? du genre [2 chiffres]A[3 chiffres]Z[1 chiffres]

T'as pas un exemple concret ? ;)
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#5

Message par silvere »

Sa me paraissais logique :mrgreen:
Non je ne connais pas les emplacement des chiffre ils changent a chaque fichier

Exemple :
► Afficher le texteFichier texte Entré
► Afficher le texteFichier texte Sotie
(ca) = chiffre aléatoire

Comprend-tu ? :P
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#6

Message par yohan8 »

J'étais pas très optimiste au début mais finalement c'est pas trop mal :D

Code : Tout sélectionner

FileWrite("test.txt","cducjnjfvoln2dsi5sd7ed8ed9ef5ef4ef2"&@CRLF)
$text = FileRead("test.txt")
For $i = 0 To 9
$text = StringReplace($text,String($i),"*")
Next
Do
$text = StringReplace($text,"*",Random(0,9,1),1)
Until @extended=0
FileWriteLine("test.txt",$text)
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#7

Message par jchd »

Je me planque maintenant, vais encore me faire enguirlander moi !
► Afficher le texte
Quel est le but, sans indiscrétion ?
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#8

Message par yohan8 »

Whaou la fonction customisé qui règle le problème en une ligne :shock:

Code : Tout sélectionner

$text = Execute("'" & StringRegExpReplace($text, "\d", "' & Random(0, 9, 1) & '") & "'")
J'ai jamais su exploiter ces fonction StringRegExp.. Image
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#9

Message par jchd »

Il ne tient qu'à toi d'apprendre.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#10

Message par jguinch »

@jchd : franchement excellent !
C'est super simple, mais fallait y penser.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#11

Message par jchd »

C'est un peu devenu une seconde nature avec le temps, une verrue au cerveau en quelque sorte.
Plus sérieusement -et Thierry ne peut qu'acquiescer- les expressions régulières ont un défaut majeur, c'est leur aspect cryptique qui fait gémir le néophyte.
Bon, c'est un défaut très relatif quand on considère que c'est un langage de programmation fort spécialisé et qu'on le compare à APL ou Forth.

Leur expressivité et les possibilité de manipulation sont très appréciables et sont d'ailleurs un pillier fondamental d'un langage tel que Perl (et pour cause !), et il est difficile de nier que Perl a eu une influence importante.

Sous une notation concise et parfaitement précise, elle permettent souvent de réaliser des manipulations non triviales ou des filtrages stricts, dont l'équivalent en langage hôte (AutoIt ou autre) s'avère souvent pénible. Cependant il faut éviter de vouloir tout faire avec car on peut facilement créer une usine à gaz fragile, mais cette remarque s'applique aussi bien à de nombreux contextes.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#12

Message par Tlem »

jchd a écrit :et Thierry ne peut qu'acquiescer- les expressions régulières ont un défaut majeur, c'est leur aspect cryptique qui fait gémir le néophyte.
Certes, mais au delà de cet effet de bord, il est un effet encore plus pervert. C'est celui de la maitrise globale du motif en fonction de la donnée.
En effet, la puissance des expressions permet de faire en une ligne ce qu'il faudrait faire en plusieurs lignes avec les fonctions de traitement par chaîne.
Celui qui a la maitrise de réglage du motif de l'expression arrivera sans nul doute à se dépatouiller plus ou moins rapidement des exceptions liées aux données à traiter.
Maintenant, celui qui sait faire ca ne passera probablement pas ici pour demander de l'aide sur ce type de traitement.

Malheureusement, ce nest pas le cas de la très grande majorité des demandes du forum et surtout, je trouverais un peu limite "d'obliger" un membre à ce mettre à l'expression régulière sous prétexte que celle ci est bien supérieure au traitement par chaîne. C'est un peu comme si je donnais comme conseil de passer au C++ au lieu de AutoIt car ce dernier est lent le fichier compilé est peu sécurisé !!!

Le traitement par chaîne a pour avantages de bien cerner chaque étape du traitement de la donnée. Une fois celle ci déterminée et maîtrisée dans tous ses aspects, alors oui, la transformation du traitement par un expression régulière permettra un gain de temps sur une grosse masse de données.
Maintenant, si le traitement est réalisé sur une quantité limitée de données, est ce que le temps de réflexion et de mise au point et d'adaptation d'un motif d'une expression régulière sera plus rapide qu'un traitement pas a pas que lon maîtrisera plus facilement, là j'en suis nettement moins sûr. ^^

Je précise bien que cette réflexion est valable pour des traitements plus ou moins lourds. Il est clair qu'en la circonstance, le traitement est tellement simplement qu'il ne laisse pas beaucoup de place à l'anicroche (quoi que ...).
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#13

Message par yohan8 »

Peut-être que la rédaction d'un tutoriel pourrais nous aider à nous lancer dans l'utilisation de cette fonction.
Il est vrai que dans la plupart des cas on se débrouille avec les fonctions de traitement par chaîne mais lorsque je vois que certains réussissent à synthétiser mon code par une simple ligne, je n'ai que l'envie de maitriser à mon tour ces expressions régulières.

Il ne tient qu'à moi d'apprendre. Mais très peu de sujet l'aborde et la doc anglaise n'est pas très parlante.
Avec un peu de temps et beaucoup de volonté il serait possible d'en arriver à une telle maîtrise.
Mais avec un coup de pouce de ceux qui possède le savoir et la maitrise du sujet, nous serions beaucoup plus à nous lancer dans la découverte, l'apprentissage et la perfection de l'utilisation de cette fonction.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#14

Message par mikell »

Même si je suis globalement d'accord avec toi les "je sais ce qui est bon pour vous" ont toujours eu tendance à me faire dresser les poils des bras (tu t'en doutes) et priver les gens de la possibilité de découvrir la puissance des expressions régulières n'est pas forcément un choix judicieux
En effet l'utilisateur accrochera ou n'accrochera pas, mais ce sera son choix à lui
L'intérêt d'un topic comme celui-ci est justement de proposer les 2 solutions, puisque la solution 'classique' de yohan8 marche très bien

EDIT
@yohan8
Il ya de très bon tutoriels déjà existants comme http://www.rexegg.com/ ou http://www.regular-expressions.info/tutorial.html
Après quand on tombe sur des exemples dans le forum il ne faut pas hésiter à exiger des explications :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
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#15

Message par jguinch »

@yohan8 : tu peux commencer par lire le tutode notre ami mikell.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#16

Message par Tlem »

mikell a écrit :les "je sais ce qui est bon pour vous" ont toujours eu tendance à me faire dresser les poils des bras (tu t'en doutes) et priver les gens de la possibilité de découvrir la puissance des expressions régulières n'est pas forcément un choix judicieux
Même réflexion pour moi mais dans l'autre sens. Comment veux tu maîtriser un expression régulière si déjà tu ne maîtrise pas la réflexion en version chaîne. ;-)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#17

Message par mikell »

Ah, mais ya les fonctions et puis ya leur usage, donc en fait ça dépend surtout du niveau de difficulté de la question posée
Par exemple la réponse de yohan8 c'est une certaine gymnastique intellectuelle, + le fait de penser à utiliser @extended
Quelqu'un capable de pondre un code comme ça, AMHA il est mûr pour les regex :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
Tlem
Site Admin
Site Admin
Messages : 11791
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#18

Message par Tlem »

Les futures questions de yohan8 nous montreront ce qu'il en est. :-D
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
yohan8
Niveau 6
Niveau 6
Messages : 245
Enregistré le : mer. 07 déc. 2011 22:34
Localisation : Rhône
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#19

Message par yohan8 »

La rentré qui arrive et déjà du travail d'imposé :p
Si le temps me le permet, c'est promis je m'y mettrais :)
Avatar du membre
silvere
Niveau 8
Niveau 8
Messages : 532
Enregistré le : sam. 24 sept. 2011 22:56
Status : Hors ligne

Re: [..] Changer les chiffres par d'autres aléatoire

#20

Message par silvere »

Merci a tous !
Ca me conviens très bien :)
Désolé pour la réponse tardive je n'avais plus accès a internet :cry:
Pour les curieux comme @jchd ( :P ) cela me sert pour modifier des exercice types de maths afin de révisé avant la rentrée
Quand le mensonge prend l'ascenseur, la vérité prend l'escalier. Elle met plus de temps, mais elle fini toujours par arriver.
Répondre