Le
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
benoit
Le #26542469
M.V.
Le 6 avril 2020 à 23 h 24, Benoît a pris le temps d'écrire :
On peut voir ?

https://www.cjoint.com/data/JDgvctLsv5l_Users-PB-Desktop-formule-v2.xlsx

Heu… c'est quoi ce classeur ? Rien à voir avec la choucroute !

Sur la base du fichier de Connexion_2.
Et de toute manière c'est le script que tu as réalisé (?) et qui te
permet d'obtenir ce que tu prétends qui m'intéresse bien sûr.

Ok, pas compris.
Ce qui est « drôle » est que BBedit gère les linefeeds au lancement,
mais pas après.

Je t'ai indiqué très clairement ce qu'il fallait changer pour résoudre
le problème. Ça aussi tu l'as déjà oublié ?
J'en conclus que de script il n'y a pas : me trompé-je ?

Pour l'instant et sur la base du script que tu avais mis dans la
discussion :
property Con : 0
property timeUnactive : current date
set filePath to (path to (desktop folder) as string) &
"Connexion_Benoit.txt"
set filePathQuoted to quoted form of POSIX path of filePath
do shell script "touch " & filePathQuoted
on idle
try
do shell script "curl -s http://checkip.dyndns.org"
set IP_address to the result
set text item delimiters to "Current IP Address:"
set IP_address to first word of text item 2 of IP_address
set dateFull to (date string of (current date)) & tab & (time
string of (current date))
if Con = 0 or IP_address ≠ IP_address_old then
set IP_address_old to IP_address
set Con to 1
set ipStatus to "active" as string
-- Début envisagé d'une sous-routine
set text item delimiters to linefeed
set oldFile to (do shell script ("cat " & filePathQuoted))
set old_list to oldFile's every paragraph
set oldFile to old_list as text
set delayUnactive to ((current date) - timeUnactive)
set str to dateFull & tab & "la connexion est " & ipStatus &
tab & IP_address & tab & delayUnactive & linefeed & oldFile
set timeUnactive to current date
do shell script "echo " & quoted form of str & " > " &
filePathQuoted
-- Fin de la sous-routine
end if
set text item delimiters to ""
on error
set dateFull to (date string of (current date)) & tab & (time
string of (current date))
if Con = 1 then
set Con to 0
set ipStatus to "désactivé" as string
set IP_address to ""
-- Début envisagé d'une sous-routine
set text item delimiters to linefeed
set oldFile to (do shell script ("cat " & filePathQuoted))
set old_list to oldFile's every paragraph
set oldFile to old_list as text
set str to dateFull & tab & "la connexion est " & ipStatus &
tab & IP_address & tab & delayUnactive & linefeed & oldFile
set timeUnactive to current date
do shell script "echo " & quoted form of str & " > " &
filePathQuoted
-- Fin de la sous-routine
end if
end try
-- return 5 pour la phase de test, 15 ou 30 plus tard
return 5
end idle
Maintenant j'ai un problème : le script boucle et écrit toutes les 5
secondes et pas uniquement si le statut change. Ce doit être parce que
je modifie moi-même IP_adress. Je regarde ça.
n.b.1 : Ton script 2 continue de tourner sans pb, mais ce que j'aime
dans ce que je fais actuellement, c'est de refaire de l'AppleScript,
chose que j'avais abandonné depuis un bail ; sauf des scripts simples
comme renommer des listes de fichiers dans le Finder. Et puis utiliser,
pour la première fois, une sous-routine. Genre comment passer des
variables à la sous-routine, je suppose que c'est du genre « on my
SousRoutine (variable1, variable2...) ». Je travaille dessus demain.
n.b.2 :
--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoît chez leraillez.com
Publicité
Poster une réponse
Anonyme