IPB

Bienvenue invité ( Connexion | Inscription )

> Programmation

Il est interdit de poster directement à la racine de ce forum.
Veuillez créer votre topic dans le sous-forum approprié.

 
Reply to this topicStart new topic
> changer un caractere, dans le nom d'un dossier
Options
Tordek
posté 4 Aug 2004, 12:46
Message #1


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 477
Inscrit : 29 Jun 2004
Lieu : Castres
Membre no 20 580



Salut a tous je voudrais savoir comment on pourais changer un caractere dans le nom d'un dossier par un autre caractere et etc avec les autre caractere.Merci


--------------------
Alfeur for ever
Go to the top of the page
 
+Quote Post
schlum
posté 4 Aug 2004, 13:02
Message #2


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 447
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



QUOTE(Tordek @ 4 Aug 2004, 13:46)
Salut a tous je voudrais savoir comment on pourais changer un caractere dans le nom d'un dossier par un autre caractere et etc avec les autre caractere.Merci
[right][snapback]799109[/snapback][/right]

Euh tu pourrais préciser un peu ? huh.gif Dans un programme ? Quel langage ? Qu'est-ce que tu veux faire exactement ? Comprends rien sad.gif


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
Tordek
posté 4 Aug 2004, 13:12
Message #3


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 477
Inscrit : 29 Jun 2004
Lieu : Castres
Membre no 20 580



A ouai c'est vrai ce n'est pas parceque c'est clair dans ma tete que ce le sera dans la votre.Dans applescript je veut pouvoir changer les caractère du nom d'un dossier par d'autre caractere mais cela sans changer directement le nom c'est a dire changer par example le caractere 1 pui le dernier caractere et tans que j'y suis comment changer les caractere d'un fichier avec la commande Open for acces toujour dans applescript


--------------------
Alfeur for ever
Go to the top of the page
 
+Quote Post
f_cam
posté 4 Aug 2004, 13:22
Message #4


Moderating Daemon
*****

Groupe : Modérateurs
Messages : 6 345
Inscrit : 22 Feb 2004
Lieu : Yvelines/Cambridge (GB), dans mon pantalon
Membre no 15 207



Donc tu veux récupérer le nom d'un dossier et ensuite manipuler cette chaîne de caractères?


--------------------
G5 Bi 2GHz rev A, ATI X800 XT
Alu 17" rev A
MacBook core duo 1.83 GHz
Go to the top of the page
 
+Quote Post
Tordek
posté 4 Aug 2004, 13:31
Message #5


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 477
Inscrit : 29 Jun 2004
Lieu : Castres
Membre no 20 580



Voila c'est axactement sa


--------------------
Alfeur for ever
Go to the top of the page
 
+Quote Post
Tordek
posté 4 Aug 2004, 19:17
Message #6


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 477
Inscrit : 29 Jun 2004
Lieu : Castres
Membre no 20 580



En fait il me faudrais celement connaitre une commande pour ne pas changer le nom mais juste un caractere dans le nom d'un dossier


--------------------
Alfeur for ever
Go to the top of the page
 
+Quote Post
Fredo d;o)
posté 4 Aug 2004, 23:07
Message #7


Adepte de Macbidouille
*

Groupe : Membres
Messages : 236
Inscrit : 12 May 2003
Membre no 7 543



QUOTE(Tordek @ 4 Aug 2004, 19:17)
En fait il me faudrais celement connaitre une commande pour ne pas changer le nom mais juste un caractere dans le nom d'un dossier

Tel que tu le demandes, ça n'existe pas en AS pur (peut-être avec du shell, mais je ne suis pas calé pour l'affirmer), en somme, pour changer un caractère pour un autre dans le nom d'un dossier (ou fichier d'ailleurs) tu es obligé de manipuler la chaîne de caractères puis de changer entièrement le nom du dossier par le nouveau...

Heu... huh.gif ché-pas-si-chui-clair-là blink.gif

Au fait, plus clairement, il faut faire un simple "chercher/remplacer"... voici une piste :
CODE

tell application "Finder"
set Doss to (choose folder) --On choisi un dossier
set Nom to name of Doss --On récupère son nom
--On note le caractère à remplacer
set CarOld to text returned of (display dialog "Indiquez le caractère à remplacer :" default answer "")
--On note le caractère de remplacement
set CarNew to text returned of (display dialog "Indiquez le caractère de remplacement :" default answer "")
--On fait le chercher/remplacer
set text item delimiters of AppleScript to CarOld
set Lst to text items of Nom
set text item delimiters of AppleScript to CarNew
set Nom to Lst as text
set name of Doss to Nom --On applique le nouveau nom au dossier
end tell

wink.gif


--------------------
Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)
Go to the top of the page
 
+Quote Post
Tordek
posté 5 Aug 2004, 10:15
Message #8


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 477
Inscrit : 29 Jun 2004
Lieu : Castres
Membre no 20 580



Merci mais je pence avoir presceque trouvé le moyen pour le faire il suffi de déterminer une variable qui est le debut du mot (donc qui s'arete avan le caractere en question) de déterminer le nouveau caractere pui de déterminer la fin.Mais je pence que je ne me suis pas exactement bien exprimé en fait je veut pouvoir changer tous les caractere du nom d'un dossier chaqun leur tour dans un repeat.Hier soir j'ai presque trouvé comment faire mais mon script ne change que les 2 premier caractere puis me dit "Imposssible de rendre les donné dnas le type atendu" en surlignan la ligne ou j'indique le nom de mon dossier et j'en ai eu marre je trouverais bien un moyen auter que dans applescript merci quand meme


--------------------
Alfeur for ever
Go to the top of the page
 
+Quote Post
Fredo d;o)
posté 5 Aug 2004, 10:29
Message #9


Adepte de Macbidouille
*

Groupe : Membres
Messages : 236
Inscrit : 12 May 2003
Membre no 7 543



Et si tu postait ici ton bout de code ?
On pourrais peut-être te donner un coup de main, non ?
wink.gif


--------------------
Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)
Go to the top of the page
 
+Quote Post
Tordek
posté 5 Aug 2004, 10:34
Message #10


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 477
Inscrit : 29 Jun 2004
Lieu : Castres
Membre no 20 580



Ouais c'est vrais donc voici mon code :
CODE

property NR : 1
set x to choose folder
tell application "Finder"
set y to name of x
set w to ("" & y)
set z to count y
repeat z times
 set y to name of x
 set z to count y
 set w to ("" & y)
 set C to character NR of y
 set n to ASCII number C
 set ajouter to 10
 set NC to ASCII character (n + ajouter)
 if NR = 1 then
  set debu to "$"
 else
  set debu to get text of characters 1 thru NR of w
 end if
 set lz to (z - 1)
 if NR = lz then
  set fin to "$"
 else
  set fin to get text of characters (NR + 1) thru z of w
 end if
 set name of x to debu & NC & fin
 set NR to NR + 1
end repeat
end tell
set NR to NR - NR + 1

Vous l'aurez compris en fait sa change un caractere pas un caractere aléatoire dans le nom du dossier.C'est pour cripter le nom d'un dossier si on a pas de mot de passe


--------------------
Alfeur for ever
Go to the top of the page
 
+Quote Post
Fredo d;o)
posté 5 Aug 2004, 12:39
Message #11


Adepte de Macbidouille
*

Groupe : Membres
Messages : 236
Inscrit : 12 May 2003
Membre no 7 543



QUOTE(Tordek @ 5 Aug 2004, 10:34)
C'est pour cripter le nom d'un dossier si on a pas de mot de passe

Et bein alors, il fallait le dire plus tôt smile.gif biggrin.gif

Bon, pas trop bien compris ce que ton code cherchait à faire (prend l'habitude de nommer tes variables d'une manière un peu plus explicite que des simples lettres, j'ai passé une démi heure à essayer de comprendre dry.gif )...

Enfin, voici une petite solution que je viens de faire (vite fait, je n'ai malheureusement pas trop le temps de fignoler aujourd'hui) : EncryptDecrypt (9 ko).

Mais l'essentiel du code, c-à-d les routines d'encryptage et de décryptage, ont été faites par quelqu'un d'autre, il s'agit de Serge S., et tu peut trouver ses routines, et bien d'autres, dans l'espace dédié à AppleScript sur son site web : AS Vanilla.

Quant à l'utilisation de ce petit script, c'est assez simple :

1. Fait un glisser/déposer des éléments que tu veux crypter sur l'icône du script :

user posted image

2. Une boîte de dialogue va apparaître te demandant d'inscrire la clef de cryptage (choisi quelque chose de pas trop compliqué, ça serait bête que tu l'oublies par la suite) :

user posted image

3. Enfin, clique sur le bouton "Encrypter", et voilà le résultat :

user posted image

Pour décrypter les noms, c'est exactement la même opération mais en cliquant sur le bouton "Décrypter" et en fournissant bien-sûr exactement la même clef de cryptage (ça me paraît tellement évident que je me demande pourquoi je le dis !? huh.gif )...

En tout cas, si tu veut utiliser le script d'une autre manière, pas de problème, le code est OpenSource, c-à-d que tu peut l'éditer et l'utiliser, l'adapter, etc. dans tes propres projets...
Seule condition, c'est que tu fasse mention dans le code de ton script des auteurs originaux (Merci smile.gif ).

Voilô wink.gif

Ce message a été modifié par Fredo d;o) - 5 Aug 2004, 12:43.


--------------------
Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)
Go to the top of the page
 
+Quote Post
Tordek
posté 5 Aug 2004, 13:03
Message #12


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 477
Inscrit : 29 Jun 2004
Lieu : Castres
Membre no 20 580



Merci beaucoup sa m'evitera de perdre mon temps a chercher le script pour les variable c'est parceque je ne soulias pas tro perdre de temps a écrire des variable super longue.En tous cas cela m'aide bien.


--------------------
Alfeur for ever
Go to the top of the page
 
+Quote Post
f_cam
posté 5 Aug 2004, 13:21
Message #13


Moderating Daemon
*****

Groupe : Modérateurs
Messages : 6 345
Inscrit : 22 Feb 2004
Lieu : Yvelines/Cambridge (GB), dans mon pantalon
Membre no 15 207



Tu gagnes peut-être quelques secondes à taper des noms plus court, mais là prochaine fois tu perdra bien plus de temps en essayant de comprendre ton code.


--------------------
G5 Bi 2GHz rev A, ATI X800 XT
Alu 17" rev A
MacBook core duo 1.83 GHz
Go to the top of the page
 
+Quote Post
Fredo d;o)
posté 5 Aug 2004, 13:51
Message #14


Adepte de Macbidouille
*

Groupe : Membres
Messages : 236
Inscrit : 12 May 2003
Membre no 7 543



QUOTE(f_cam @ 5 Aug 2004, 13:21)
Tu gagnes peut-être quelques secondes à taper des noms plus court, mais là prochaine fois tu perdra bien plus de temps en essayant de comprendre ton code.

Je ne l'aurais pas dit mieux !

Donc, conseil à suivre smile.gif

wink.gif


--------------------
Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)
Go to the top of the page
 
+Quote Post
Tordek
posté 5 Aug 2004, 14:59
Message #15


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 477
Inscrit : 29 Jun 2004
Lieu : Castres
Membre no 20 580



Je sais maintenant je définit bien mes variable.Pour le code je n'aurais en fait pas pencé a utiliser une routine (car je ne savais pas les faire!!!!) je vais peut etre me créer ma propre routine pour me simplifier la chose


--------------------
Alfeur for ever
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 28th March 2024 - 10:12