[R] Gérer la date pour executer un fichier

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
darkworm
Niveau 1
Niveau 1
Messages : 14
Enregistré le : mer. 26 mars 2008 10:55
Status : Hors ligne

[R] Gérer la date pour executer un fichier

#1

Message par darkworm »

Bonjour,
Je suis débutant dans le monde d'autoIt et j'aimerais quelques astuces :oops:

Voila le problème :

*J'ai un fichier du type OpenOffice Calc (un tableur quoi) qui contient une colone avec une date (du 1er au 31) et la colone suivante qui contient un nombre de deux caractère(de 1 à 17)

*j'ai également 17 images toutes placées dans un dossier (C:\Documents and Settings\admin1\Mes documents\diaporama\modèles) prenant comme nom 1.odg par exemple.

*un dossier C:\Documents and Settings\admin1\Mes documents\diaporama\aujourd'hui

J'aimerais qu'en fonction du jour, il copie une image du dossier "modèles" dans le dossier "aujourd'hui" en la renomant main.odg

exemple :

nous sommes le "x" ème jour du mois. j'aimerai qu'au lancement du script, il lise automatiquement le caractère qui se trouve à la ligne "x" -colone 2 correspondant à une variable "y", et qu'il copie donc le fichier "C:\Documents and Settings\admin1\Mes documents\diaporama\modèles\y.odg" à l'endroit "C:\Documents and Settings\admin1\Mes documents\diaporama\aujourd'hui\main.odg"

Est ce possible ? :shock:
ca parrait balèze comme ca mais en fait il faut juste comprendre comment lire dans un tableau openoffice ... et à ce niveau la ... je suis largué XD

need help pliiiiiiiiiiiiiiz :oops:

merci d'avance
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [...] Gérer la date pour executer un fichier

#2

Message par ani »

je ne connait pas openoffice (sauf de nom), je vais regarder du coté anglais, si il n'existe pas une include qui comporterai les fonctions adéquate.

Faudra attendre les pro, :)
darkworm
Niveau 1
Niveau 1
Messages : 14
Enregistré le : mer. 26 mars 2008 10:55
Status : Hors ligne

Re: [...] Gérer la date pour executer un fichier

#3

Message par darkworm »

il y a une autre solution. L'enregistrer au format texte.
Je m'explique : au départ, il faudrait donc remplir un tableau. Puis en l'enregistrant, cela donnerai :

Code : Tout sélectionner

1 ; 7
2 ; 9
3 ; 5
4 ; 12
5 ; 14
etc...
ani a écrit :je ne connait pas openoffice (sauf de nom), je vais regarder du coté anglais, si il n'existe pas une include qui comporterai les fonctions adéquate.
J'aurai aussi pu le faire sur exel, seulement voila, le projet est d'ordre professionnel, et les directives ont étés simples : ne pas dépenser un centime.

voila pourquoi je suis partit sur l'idée d'OpenOffice ^^

Ca complique un peu les choses, gomenasai :oops:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Gérer la date pour executer un fichier

#4

Message par Tlem »

Sur le principe du fichier texte, cela devrait ressembler à ceci :

Code : Tout sélectionner

#include <file.au3>

$File = "test.txt"

Dim $aRecords
If Not _FileReadToArray($File, $aRecords) Then
   MsgBox(4096,"Erreur", " Erreur de lecture du fichier " & $File & "    Erreur N°" & @error)
   Exit
EndIf

$Var = StringSplit($aRecords[@MDAY],';')

$Src = "C:\Documents and Settings\admin1\Mes documents\diaporama\modèles\" & $Var & ".odg"
$Dst = "C:\Documents and Settings\admin1\Mes documents\diaporama\aujourd'hui\main.odg"

If Not FileCopy($Src, $Dst, 1) Then
   MsgBox(4096,"Erreur", " Erreur de copie du fichier " & $Var & ".odg")
   Exit
EndIf
En faisant simplement un fichier texte avec uniquement les valeurs de la deuxième colonne, vous pourrez remplacer le code par :

Code : Tout sélectionner

#include <file.au3>

$File = "test.txt"

Dim $aRecords
If Not _FileReadToArray($File, $aRecords) Then
   MsgBox(4096,"Erreur", " Erreur de lecture du fichier " & $File & "    Erreur N°" & @error)
   Exit
EndIf

$Src = "C:\Documents and Settings\admin1\Mes documents\diaporama\modèles\" & $aRecords[@MDAY] & ".odg"
$Dst = "C:\Documents and Settings\admin1\Mes documents\diaporama\aujourd'hui\main.odg"

If Not FileCopy($Src, $Dst, 1) Then
   MsgBox(4096,"Erreur", " Erreur de copie du fichier " & $aRecords[@MDAY] & ".odg")
   Exit
EndIf
Et enfin dernière possibilité, la génération d'un nombre aléatoire compris entre 1 et 17 (Puisque vous avez 17 images) qui permettra de ce passer des premières ligne de code :

Code : Tout sélectionner

$Src = "C:\Documents and Settings\admin1\Mes documents\diaporama\modèles\" & Random(1, 17, 1) & ".odg"
$Dst = "C:\Documents and Settings\admin1\Mes documents\diaporama\aujourd'hui\main.odg"

If Not FileCopy($Src, $Dst, 1) Then
   MsgBox(4096,"Erreur", " Erreur de copie du fichier " & $Var & ".odg")
   Exit
EndIf
Si ce script est lancé dans la session admin1, alors ont peut le résumer à ceci :

Code : Tout sélectionner

$Src = @MyDocumentsDir & "\diaporama\modèles\" & Random(1, 17 1) & ".odg"
$Dst = @MyDocumentsDir & "\diaporama\aujourd'hui\main.odg"

If Not FileCopy($Src, $Dst, 1) Then
   MsgBox(4096,"Erreur", " Erreur de copie du fichier " & $Var & ".odg")
   Exit
EndIf
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é".
darkworm
Niveau 1
Niveau 1
Messages : 14
Enregistré le : mer. 26 mars 2008 10:55
Status : Hors ligne

Re: [R] Gérer la date pour executer un fichier

#5

Message par darkworm »

Merci beaucoup, ca marche nikel :D
Répondre