[R] Lancer une appli depuis le systray & modif d'un .ini
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Lancer une application placé dans le systray
J'ai désinstallé Cobian mais si je me rappelle bien, il y a 2 ou 3 petits fichiers de config dans un sous-dossier du répertoire d'installation
Faudrait nous poster ces fichiers
Faudrait nous poster ces fichiers
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Lancer une application placé dans le systray
Je ne cherche en rien à vous énerver ou de faire mon script à ma place mais seulement d'avoir les bonnes fonctions à utiliser.
Mais si me répondre vous ennuie alors ne regarder pas mon sujet!!
Pour le reste voici le fichier de configuration Cobian :
Les éléments de couleurs sont à modifier.
En VB, on créé un variable qui va ouvrir le documents puis on va recherche le mot puis le modifier.
Mais selon le type de fichier ca ne marche pas forcément.
En autoit, je ne sais pas.
A moins d'ouvrir le fichier et d'automatiser la fonction remplacer? ou existe-t'il une autre solution?
Je ne demande pas de me faire le script mais me dire les bonnes fonctions à utiliser.
J'ai trouvé la fonction StringReplace mais comment puis-je dire à mon script de relire les fichiers pour modifier le reste?
Mais si me répondre vous ennuie alors ne regarder pas mon sujet!!
Pour le reste voici le fichier de configuration Cobian :
► Afficher le texte
En VB, on créé un variable qui va ouvrir le documents puis on va recherche le mot puis le modifier.
Mais selon le type de fichier ca ne marche pas forcément.
En autoit, je ne sais pas.
A moins d'ouvrir le fichier et d'automatiser la fonction remplacer? ou existe-t'il une autre solution?
Je ne demande pas de me faire le script mais me dire les bonnes fonctions à utiliser.
J'ai trouvé la fonction StringReplace mais comment puis-je dire à mon script de relire les fichiers pour modifier le reste?
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Lancer une application placé dans le systray
#Include <File.au3>Loulou63 a écrit :Je ne demande pas de me faire le script mais me dire les bonnes fonctions à utiliser
_ReplaceStringInFile() pour les lignes concernées
PS: vous devriez être cool avec le patron il est sanguin (d'autant que là admettez qu'il n'a pas tout à fait tort)

" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Lancer une application placé dans le systray
Je pense être respectueux des autres. Et je n'apprécie pas qu'on m'envoie chier pour un oui ou pour un nom.
Je respecte le travail de chacun et qu'on respecte mes demandes.
Merci en tout cas pour ta réponse. Je vais regarder ta solution. Cette commande va tourner jusqu'à ce qu'une modification se fasse. Je vais trouver un truc pour que le script effectue les modifications en 1 seul fois. Peut-être un while avec le nombre modifications. Je vous tiendrai au courant.
Je respecte le travail de chacun et qu'on respecte mes demandes.
Merci en tout cas pour ta réponse. Je vais regarder ta solution. Cette commande va tourner jusqu'à ce qu'une modification se fasse. Je vais trouver un truc pour que le script effectue les modifications en 1 seul fois. Peut-être un while avec le nombre modifications. Je vous tiendrai au courant.
- PandiPanda
- Membre émérite
- Messages : 656
- Enregistré le : mar. 19 juil. 2011 14:03
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Lancer une application placé dans le systray
Pourquoi vous n'utilisé simplement pas le FileRead() et le FileWrite() ?
il vous suffirai de lire le contenu du fichier, la stockée dans une variable, effectuer les actions que vous voulez, et vous réecrivez le fichier?
le problème avec _ReplaceStringInFile() est qu'il ouvre et ferme le fichier pour chaque "remplacement"
enfin je pense
il vous suffirai de lire le contenu du fichier, la stockée dans une variable, effectuer les actions que vous voulez, et vous réecrivez le fichier?
le problème avec _ReplaceStringInFile() est qu'il ouvre et ferme le fichier pour chaque "remplacement"
enfin je pense

La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Re: [..] Lancer une application placé dans le systray
Je restais sur mon problème de modifications de fichiers par vbs que je me suis dit que la fonction FileRead d'AutoIT n'allait pas marcher.
Mais la fonction FileRead arrive à lire les 2 fichiers de config en entier.
Savez-vous si on peux effectuer plusieurs modifications en ouvrant qu'une fois le fichier. Si vous ne le savez pas, ce n'est pas un souci. Je testerai et je vous ferai un retour.
Mais la fonction FileRead arrive à lire les 2 fichiers de config en entier.
Savez-vous si on peux effectuer plusieurs modifications en ouvrant qu'une fois le fichier. Si vous ne le savez pas, ce n'est pas un souci. Je testerai et je vous ferai un retour.
- PandiPanda
- Membre émérite
- Messages : 656
- Enregistré le : mar. 19 juil. 2011 14:03
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Lancer une application placé dans le systray
En utilisant le FileOpen() je pense que vous n'ouvrez qu'une seule fois le fichier pour lecture/écriture
mais pas sûr
pour les remplacements vous avez tout une gamme de choix
mais pas sûr

pour les remplacements vous avez tout une gamme de choix

La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Lancer une application placé dans le systray
Prudent le panda mais de fait la prudence est de rigueur...PandiPanda a écrit :mais pas sûr![]()

Avec _ReplaceStringInFile() c'est la fonction qui fait les manoeuvres délicates à ta place (moins de risque de se planter)Fichier d'aide a écrit :When reading and writing via the same file handle, the FileSetPos() function must be used to update the current file position.
......
Using FileSetPos() it is possible to both read and write to the same file. When attempting to read and write to the same file, always call FileFlush() between each write and read operation.
Moving the pointer to the middle of the data can be used to overwrite data.
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- Tlem
- Site Admin
- Messages : 11796
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Lancer une application placé dans le systray
Si vous l’étiez, vous m’auriez écouté.Loulou63 a écrit :Je pense être respectueux des autres. Et je n'apprécie pas qu'on m'envoie chier pour un oui ou pour un nom.
Je vous ai déjà fait 3 remarques gentillettes, donc au bout d'un moment il est normal que je soit plus clair dans mes propos !
Et je ne pense pas vous avoir envoyé chier à un quelconque moment. C'est jusque que pour que l'on puisse vous aider, c'est à vous de faire ce qu'il faut pour nous donner les éléments et non à nous de pleurer des indices sur ce que vous voulez faire.
Ce forum est le travail de plusieurs personnes.Loulou63 a écrit :Je respecte le travail de chacun et qu'on respecte mes demandes.
En dupliquant les messages des autres dans vos réponses, vous rendez le sujet moins clair et plus dur à suivre, sans compter la place occupée inutilement dans la base de donnée.
Sinon, pour en revenir à vos moutons. Les solutions qui vous ont été apportées me semble une bonne ébauche, mais vous allez vite vous retrouver confronté à d'autres problèmes.
Je vous propose quelque chose de plus simple.
1 - Vous dupliquez le fichier de configuration (pour pouvoir travailler tranquillement dessus, mais ce n'est pas obligatoire).
2 - Vous rajoutez une ligne en début de fichier ([Config]). Hé oui, votre fichier de configuration, ressemble étrangement à un fichier .ini, sauf qu'il n'à pas de section. Donc créez là, comme cela vous pourrez utiliser les fonctions des fichiers .ini.
3 - Modifiez tranquillement vos options avec IniWrite().
4 - Supprimez la première ligne, puis remplacez le fichier original par celui modifié (si vous avez utilisé une copie du fichier original).
5 - Hé voilà, c'est aussi simple que ça.
Edit : Voilà ce que cela donne en code AutoIt :
► Afficher le texte
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é".
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é".
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Lancer une application placé dans le systray
Ha oué oué, pas con l'histoire du fichier ini... didiou j'lavais pô vu
Un coup de IniReadSection,
Une fonction String dans une boucle For pour reconnaître la ligne,
Un coup de IniWrite pour la modifier...
Limpide

Un coup de IniReadSection,
Une fonction String dans une boucle For pour reconnaître la ligne,
Un coup de IniWrite pour la modifier...
Limpide

" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- Tlem
- Site Admin
- Messages : 11796
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Lancer une application placé dans le systray
Et même plus simple que vous pensez (voyez le code).
Cela évitera de fabriquer son propre Wrapper ...
Cela évitera de fabriquer son propre Wrapper ...
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é".
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é".
Re: [..] Lancer une application placé dans le systray
Il est vrai que je peut être tête en l'air mais ça n'a pas pour but d'agacer.
Voila pour cette parenthèse qui est close pour moi.
Merci pour vos solutions qui me ravie. Je ne savez pas qu'une fonction existait spécialement pour un type de fichier précis. C'est parfait. Je vais en faire de même pour le fichier .lst en le transformant en .ini puis en .lst à la fin ca va me faire gagner du temps.
J'ai mis de coté le tutoriel car pour de choses à faire coté professionnel. Mais je m'y remettrai dès que cette charge sera terminé. Et cette fois-ci, j'aiderai les autres
Voila pour cette parenthèse qui est close pour moi.
Merci pour vos solutions qui me ravie. Je ne savez pas qu'une fonction existait spécialement pour un type de fichier précis. C'est parfait. Je vais en faire de même pour le fichier .lst en le transformant en .ini puis en .lst à la fin ca va me faire gagner du temps.
J'ai mis de coté le tutoriel car pour de choses à faire coté professionnel. Mais je m'y remettrai dès que cette charge sera terminé. Et cette fois-ci, j'aiderai les autres

- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Lancer une application placé dans le systray
Hé ben, reprendre le boulot me réussit pasTlem a écrit :Et même plus simple que vous pensez (voyez le code).

J'avais (aussi) zappé le IniWrite appliqué d'emblée...

Tlem s'est laissé aller... très joli scriptLoulou63 a écrit :Je ne demande pas de me faire le script ...

" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )