[R] Formater un script avec des numeros de lignes

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

[R] Formater un script avec des numeros de lignes

#1

Message par lerin57 »

Bonjour à tous,

Je viens à vous pour une nouvelle problematique.

Dans le cadre d'un projet de création de mails outlook préformatés, j'ai, sur les bon conseils de membres de forum, créé des corps de message basé sur des fichiers html.

Avec l'aide d'un editeur html simplifié (KOMPOZER), je crée mon corps html.c
devant ensuite distribuer ces modeles avec le script qui va générer le message en fontion de champs input déja remplis), j'ai privilégié plutot un script qui me permet de les générer automatiquement.

exemple :
corps html :
► Afficher le texte
A l'aide d'un tableur comme excel, je fait ensuite un script qui me permettra de générer le modele :
► Afficher le texte
Excel me permet De générer les variables $Ln01 à $Ln18.

L'inconvénient (si je puis dire) c'est que mes modèles de corps de message peuvent changer régulièrement.
Je voudrais donc creer un script commençant par ceci :
► Afficher le texte
... Je colle le code source dans le champ $HtmlCode et je génére ensuite un script tout pret.

Mon principal inconvénient est de trouver la fonction adequate qui me permettrait de générer, pour chaque lignes de mon code html, la variable $LnXX = ' (ou XX correspond au n° de chaque ligne) au début et une quote " ' " à la fin.

Je suppose que l'on peut utiliser dans un premier temps un compteur du type _GUICtrlEdit_GetLineCount pour le champs $HtmlCode, afin de compte le nombre lignes.

Mais après, que pourrais je utiliser pour formater chaque ligne ? ... une fonction stringformat ?

J'ai lu dans l'aide la manière de l'utiliser, mais je ne suis pas sûr de correctement l'adapter.

en vous remerciant par avance pour votre aide.
Modifié en dernier par lerin57 le ven. 19 févr. 2010 19:53, modifié 3 fois.
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

Re: [..] Formater un script avec des numeros de lignes

#2

Message par lerin57 »

Bonjour,

J'ai déja une piste :
► Afficher le texte
Mais je bloque encore sur le type de focntion a employer pour formater chaque ligne.

De plus , pour une question de norme, je voudrias créer les première lignes au format $Ln01, $Ln02 ...

Si quelqu'un a des suggestions. :?:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formater un script avec des numeros de lignes

#3

Message par Tlem »

Pourquoi vouloir traiter vos modèles ligne par ligne ?
Ne pouvez-vous pas remplacer par une suite de caractères définit les champs qui doivent être modifiés et traiter le modèle comme un tout.
Il vous suffit lors de la récupération du modèle de remplacer chaque champ 'générique' par la valeur à attribuer. ;)
► Afficher le texteExemple
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é".
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

Re: [..] Formater un script avec des numeros de lignes

#4

Message par lerin57 »

Bonjour, Tlem.

C'est, à la base, l'approche qui est prévue.

Toutefois, je privilégie l'aspect de créer des modeles génériques à l'aide d'un scripts pour les raisons suivantes :

- le script et les modeles doivent etre distribués sur plusieurs postes.
- en cas de disparition de modele html, celui ci doit pouvoir etre régénéré rapidement (par un bouton que j'ai ajouté dans mon script de base).


Il est vraix que je pourrais me contenter de distribuer mes modeles html avec l'executable (au format zip par exemple),
Celui ci se chargerais de renseigner les valeur cibles dans les modeles html, mais ces modeles sont susceptible de changer tres régulièrement, ils se comptent par dizaine,

De plus je tient à rester dans une logique purement Autoit.

Je reconnais que mes motivation peuvent sembler farfelue, mais je suis persuadé que le principe de générer plusieurs ligne de code préformaté pourra m'aider sur d'autre fonction à l'avenir.

Si vous avez une piste, je suis preneur.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formater un script avec des numeros de lignes

#5

Message par Tlem »

Hé bien justement, ce que je vous ais suggéré correspond à votre demande.
Vous pouvez choisir d'intégrer totalement le texte de votre modèle dans votre script (pas très pratique) ou tout simplement faire vos différents fichiers modèle que vous rajoutez à la compilation avec la commande FileInstall().

Mais que ce soit l'un ou l'autre vous avez l'avantage d'avoir l'intégralité du modèle et non une partie qui, si le nombre de ligne change va devenir plus ou moins complexe à gérer.

La solution du FileInstall() vous permettra en cas de modification du modèle, de ne changer que le fichier concerné et à compiler le script (pas besoin de remettre les mains dans le code :roll: ).
Un simple clic sur un bouton et hop vos modèle sont extrait et utilisable (sinon vous pouvez passer par l'extraction dans le dossier temporaire ;) ).
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é".
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

Re: [..] Formater un script avec des numeros de lignes

#6

Message par lerin57 »

Bonsoir,

Et bien Tlem, je sent que je vais encore passer pour un ane :oops: , vu que je n'ai pas encore abordé cette commande.

Le pire, c'est que j'avais déja avancé dans mon script.
je le poste ici au cas ou cela intéresserait quelqu'un :
► Afficher le texte
Et je m'attelle de ce pas sur la fonction fileinstall().

Si cela ne vous dérange pas, je laisse le post en attente un jour ou deux.

En vous remerciant
Modifié en dernier par lerin57 le ven. 19 févr. 2010 19:54, modifié 1 fois.
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

Re: [..] Formater un script avec des numeros de lignes

#7

Message par lerin57 »

Bon et bien, on Oublie les deux jours.

La fonction FileInstall() fonctionne parfaitement.

Encore une fois, un tres grand merci à Tlem (et un petit coucou à Ayuckers qui m'a déja aidé dans mon projet).

J'espère ne pas avoir à vous embeter dans les prochains jours.

Bonne soirée à tous.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Formater un script avec des numeros de lignes

#8

Message par Tlem »

Juste pour info, vous pouvez utiliser plusieurs fois la commande FileInstall() pour le même fichier, il ne sera pas dupliqué dans la compilation, mais cela peut vous permettre de gérer une extraction en cas d'appui sur un bouton et une autre au lancement d'une autre action. ;)

Pour résumer : Si vous faites dans votre code plusieurs FileInstall() d'un fichier de 1Mo, votre script compilé ne grossira pas plus que si vous le faites une seul foi. ;)
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é".
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

Re: [R] Formater un script avec des numeros de lignes

#9

Message par lerin57 »

Merci pour le conseil.

A vrai dire, c'est de cette manière que je comptait l'employer.
Répondre