Page 1 sur 1

[R] Fichier texte comme base de données

Posté : dim. 06 déc. 2009 19:16
par Oxygene31
Bonjour à tous,

J'aimerais que mon script écrive aléatoirement des phrases depuis une liste.
Je pourrais faire une GUI avec 50 inputs, faire un random qui viendrait choisir un des GuiCtrlRead de ces inputs puis finir par un Send.
Mais je souhaite avoir une interface ergonomique.

Je pensais donc à mettre mes phrases dans un tableau exel (ligne par ligne).
Ce fichier exel me servirait de base de données.
Ensuite depuis autoit j'aimerais venir chercher aléatoirement une des lignes de mon fichier exel, la stocker dans une variable pour ensuite faire mon Send.


J'ai vu qu'on pouvait convertir un fichier exel en CSV
Après conversion j'ai vu qu'on pouvait lire ligne / ligne le fichier CSV (FileReadLine)
Ensuite j'ai vu qu'on pouvait chercher des caractères et les mettre dans un array (StringSplit)

Cependant je n'arrive pas combiner ces éléments pour faire mon script.

Re: [..] Excel et AutoIt

Posté : dim. 06 déc. 2009 22:19
par Dididj
Un simple fichier texte peu faire l'affaire...

1) Tu mets tes phrases dans ton fichier txt ( une phrase par ligne ).
2) Tu fais un Random.
3) Tu lis la ligne ( en fonction de ce que le Random te renvoie ) avec FileReadLine.
4) Tu mets le reste du script :D

Dididj

Re: [..] Excel et AutoIt

Posté : lun. 07 déc. 2009 00:20
par Oxygene31

Code : Tout sélectionner

$file= FileOpen("test.text",0)
$i=Random(1,3,1) ;3phrases par exemple

Func envoyer()
    If $i= 1 Then
        $ligne = FileReadLine($file,1)
        Send($ligne)
    EndIf   
    
    If $i= 2 Then
        $ligne = FileReadLine($file,2)
        Send($ligne)
    EndIf   
    
    If $i= 3 Then
        $ligne = FileReadLine($file,3)
        Send($ligne)
    EndIf   
EndFunc

envoyer()
 
Un script dans le genre c'est bon ?

Re: [R] Excel et AutoIt

Posté : lun. 07 déc. 2009 00:44
par Oxygene31

Code : Tout sélectionner

$file= FileOpen("test.txt",0)
$i=Random(1,3,1) ;3phrases par exemple

Func envoyer()
    If $i= 1 Then
        $ligne = FileReadLine($file,1)
        Send($ligne)
    EndIf   
    
    If $i= 2 Then
        $ligne = FileReadLine($file,2)
        Send($ligne)
    EndIf   
    
    If $i= 3 Then
        $ligne = FileReadLine($file,3)
        Send($ligne)
    EndIf   
EndFunc

envoyer()
 

J'ai fait le test dans un bloc note et ça écris bien une des 3 phrases au hasard :D
Merci c'est vrai que c'est plus simple

Re: [..] Excel et AutoIt

Posté : lun. 07 déc. 2009 01:22
par Tlem
Si votre sujet est résolu, merci de l'indiquer dans le titre de votre premier message.

Re: [..] Excel et AutoIt

Posté : lun. 07 déc. 2009 12:50
par Oxygene31
Ouep :D
j'avais pas vu que j'vais fait un double post en fait (j'avais mis résolu mais pas dans mon 1er message du coup)

Re: [R] .text comme base de donée

Posté : lun. 07 déc. 2009 13:25
par Habibsbib
Je poste sur un sujet résolu, pour économiser de la place, pour éviter de re-poster en Aide générale, puisque c'est le même sujet, et je demande cela : est-ce que la commande FIleRead marche aussi avec les fichiers qui n'ont pas une extension .txt mais qui sont ouvrables par le Bloc Note ? Merci de me répondre.

Re: [R] .text comme base de donée

Posté : lun. 07 déc. 2009 16:09
par Dididj
Oui.
Si non tu peux testé ca prend 30 sec a tout cassé :D