Jump to content

Clem

Membres
  • Content Count

    3832
  • Joined

  • Last visited

  • Days Won

    83

Clem last won the day on December 2 2019

Clem had the most liked content!

About Clem

  • Rank
    3200
  • Birthday 07/09/1956

Contact Methods

  • AIM
    clemhoff9756
  • Skype
    clemhoff

Profile Information

  • Gender
    Homme
  • Location
    Alsacistan

FileMaker Profile

  • FM
    FMPA 17, iOS Antic
  • OS
    OSX 10.13.4 | Win 7.x, 10.x
  • FBA
    --Non membre--

Recent Profile Visitors

28303 profile views
  1. Clem

    Fmp, Script Ical

    Bonsoir, Le document, bien que sommaire et très (très) vieux, une fois converti au format .fmp12 est opérationnel si, dans l'onglet "Privilèges Etendus" trouvé dans "Fichier/Gérer/ Sécurité…" tu autorises le privilège "fmextscriptaccess" (Autoriser Apple Event et ActiveX à exécuter des opérations FileMaker). Ensuite, selon ton sytsème d'exploitation, il te faudra suivre les boites de dialogue de "sécurité" te demandant d'accepter que l'app "FileMaker" prenne le contrôle de l'app "Calendar".
  2. Bonjour, Si tu es sûr de toutes tes options SMTP, il faut à mon avis également intervenir sur un réglage de sécurité de ton compte Google… Connectes-toi à ton compte par l'un de ces points d'entrée https://www.google.com/settings/security/lesssecureapps https://myaccount.google.com/security et active l'option "Autoriser les applications moins sécurisées"
  3. Bonjour, les anti-slash sont utilisés dans un Terminal lorsque tu écris un script multilignes. Ils n'ont pas cours dans la définition des options cURL de FMP. Dans un premier temps, récupère le header renvoyé (l'option -D) afin d'analyser ce qui ne va pas Gestion erreurs [ Oui ] Définir variable [ $_url ; TON URL ] Définir variable [ $_key ; TA CLE ] Insérer depuis URL [ Sélectionner ; Avec boîte de dialogue: Oui/Non ; VARIABLE ou RUBRIQUE ; $_url ; Options cURL : "-X GET -H \"x-api-key:" & $_key & "\" -S -D $_dump" Définir variable [ $_httpStatus; Valeur : Definir ( [ line1 = ObtenirValeur ( $_dump ; 1 ) ; split = Substituer ( line1 ; " " ; ¶ ) ]; ObtenirNombre ( ObtenirValeur ( split ; 2 ) ) )] Si [ Ent ($_httpStatus / 100 ) <> 2 ] Ouvrir boîte dial. person. [ Titre : "HEADER" ; Message : $_dump ; Bouton par défaut : “OK”, Valider : “Oui” ] Interrompre script Fin de si
  4. … ou, (ne connaissant rien de ta structure) si tu as 5 rubriques Set1, Set2, Set3 etc… retenant les valeurs, tu peux écrire le calcul suivant : Definir ( [ l = Liste ( Set1 ; Set2 ; Set3 ; Set4 ; Set5 ) ; l_TriDesc = SortValues ( l ; -2 ) ; // tri au format Nombre (2); Descendant (-) top3 = Debut ( l_TriDesc ; Position ( l_TriDesc ; ¶ ; 1 ; 3 ) - 1 ) // Extraction de 3 premières valeurs triées ]; Evaluation ( Substituer ( top3 ; ¶ ; "+" ) ) )
  5. Bonjour, Si tu utilises une liaison ATHLETE/SETS un simple calcul ExecuterSQL combinant les commandes ORDER BY et FETCH FIRST n ROWS ONLY fait amplement l'affaire. Il faut cependant prêter attention au fait que si tu utilises le mot "set" en temps que nom de rubrique ou de table, tu es obligé de protéger ce mot par des guillemets car ce mot est un mot réservé dans le langage SQL. SCORES.fmp12
  6. Bonjour, personnellement j'aime pas trop me casser la tête avec ce genre de problématique et souvent colle l'utilisateur devant un webviewer où seule l'option d'interaction est sélectionnée. Pour mimer la rubrique, un CSS minimal est appliqué et le "vice" parfois poussé à empêcher l'utilisateur de copier le contenu du wv. "data: text/html," & "<html><head><style> body { font-family: Arial, Helvetica, sans-serif; font-size: 12px; } *.noselect { /* Variantes CSS de 'user-select' selon navigateurs | Options: none, text, toggle, element, elements, all, inherit */ -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } </style></head><body><p class='noselect'>" & Substituer ( OT::RUBRIQUE ; ¶ ; "<br/>" ) & "</p></body></html>"
  7. Bonsoir, tu peux aussi t'en sortir sans variable(s), ni globale(s)… en sélecionnant "NON" dans le pas de script "Afficher enreg/requête/page [ Suivant(e) ] " et de contrôler l'erreur 101 (Enreg manquant). A vue de nez un truc dans l'esprit … : Gestion erreurs [Oui] Afficher enreg/requête/page [ Premièr(e) ] Boucle Fin de boucle si [ Obtenir ( DernièreErreur ) = 101 ] Ouvrir boîte dial. person. [ Message : "Y/N"; Bouton par défaut : “OK”, Valider : “Oui”; Bouton 2 : “NO”, Valider : “Non” ] Si [ Obtenir (DernierChoixMessage) = 1 ] Exécuter script [ < SCRIPT ACTION> ] Fin de si Afficher enreg/requête/page [ Suivant(e); Sortie après dernière: Non ] Fin de boucle
  8. bonjour, Tu peux aussi t'en sortir en utilisant une combinaison de fonctions JSON ( en n'oubliant pas que les index sont basés sur 0 ) DeleteValue ( valueList ; index ) Definir ( [ vlAsArray = JSONSetElement ( "" ; "array" ; "[\"" & Substituer ( valueList ; ¶ ; "\",\"" ) & "\"]" ; 4 ) ]; Si (index >= 0 ; JSONListValues ( JSONDeleteElement ( vlAsArray ; "array[" & index & "]" ) ; "array" ) ; valueList ) )
  9. Clem

    Emettre Evènement

    Bonjour, Cela ne fonctionne pas parce que ton chemin contient des espaces, donc chaque élément situé entre deux espaces est considéré comme autant arguments que l'exécutable "explorer" ne sait pas interpréter. Pour résoudre ton problème, il faut protéger ton chemin en l'échappant avec des guillemets doubles. Mais our le coup la fonction Citation ne fait pas l'affaire car elle rajoute des antislashs aux endroits où il ne faut pas (surtout sur les chemins résaux) …et ainsi fausse le calcul du chemin qui te renvoie systématiquement au dossier par défaut. Donc pour utiliser Emettre événement a bon escient ( avec l'option "Activer l'application de destination cochée ) dans l'option "Calcul" tu peux poser: Emettre événement [ "aevt"; "odoc"; "explorer.exe /root," & "\"" & C24 MAINTENANCE::chemin d'accès & "\"" ] Explorer accepte entre autres les options "/root" qui permet d'ouvrir l'objet spécifié dans une vue fenêtre. "/select" qui permet d'ouvrir une fenêtre avec le dossier, le fichier ou l'application spécifié sélectionné. Tu peux aussi (mais pas obligé cf Apophis000) utiliser la commande "Ouvrir URL" et comme il s'agit d'un protocole il est de très bon ton de préfixer le chemin avec "file://" Ouvrir URl [Avec boîte de dialogue:Non; "file://" & C24 MAINTENANCE:: chemin d'accès] PS: A terme il serait aussi souhaitable que tes noms de tables et de rubriques ne contiennent ni accents, ni apostrophes et autres caractères"réservés" qui compliquent la communication avec le système voire avec certaines fonctions FMP.
  10. Bonjour, Pour arrondir un nombre au vingtième ( 5 cents ) le plus proche utilise: Ent( Nombre * 20 + 0,5) / 20
  11. Une possibilité parmi tant d'autres… Definir ( [ l = ObtenirTexte ( OT::RubMedia ) ; n = DecompteValeurs ( l ) ; fmPath = ObtenirValeur ( l ; n ) ]; Cas ( n > 1 ; Fin ( fmPath ; Longueur ( fmPath ) - Position ( fmPath ; "/" ; 1 ; Occurrences ( fmPath ; "/" ) ) ) ; n = 1 ; "Référence image attendue." ; "" ) )
  12. Bonjour, tu n'obtiens que le nom du fichier parce que ton média est inséré en "dur" dans la rubrique conteneur. Pour obtenir son chemin par extraction/calcul, le média doit être inséré en temps que référence ou stocké en externe.
  13. Bnsoir, en partant du principe que la rubrique (de préférence globale) ds laquelle tu colles le texte récupéré se nomme "rubriqueTexteCopié", que ce texte copié ne comporte pas de ligne(s) vide(s) les 6 lignes de script devraient t'aider à ventiler tes données… Définir variable [ $_void; Valeur :Definir ( [ $_index = 0 ; $_step = 1 ; $_count = DecompteValeurs ( ot::rubriqueTexteCopié ) ]; $_void )] Boucle Fin de boucle si [ Definir ( [ $_index = $_index + $_step ] ; $_index > $_count )] Définir variable [ $_thisValue; Valeur : Definir ( [ thisLine = ObtenirValeur ( ot::rubriqueTexteCopié ; $_index )]; SupprimerTypeEspace ( Fin ( thisLine ; Longueur ( thisLine ) - Position ( thisLine ; ":" ; 1 ; 1 ) ) ; 0 ; 3 ) )] Définir rubrique par nom [ Cas ( $_index = 1 ; ObtenirNomRubrique ( ot::nom ) ; $_index = 2 ; ObtenirNomRubrique ( ot::prenom ) ; $_index = 3 ; ObtenirNomRubrique ( ot::ddn ) ; $_index = 4 ; ObtenirNomRubrique ( ot::ss ) ; $_index = 5 ; ObtenirNomRubrique ( ot::adresse ) ; "" ); $_thisValue ] Fin de boucle
  14. Bonsoir, Sauf erreur de ma part, le MDN (Message Disposition Notification) "Disposition-Notification-To" accompagné d'éventuelles options dans "Disposition-Notification-Options" doit être passé dans cURL au niveau du Header; et cette option -H ou --header est bien dispo dans cURLFMP… Il existe aussi d'autres MDN moins conventionnels à essayer: X-Confirm-Reading-To Read-Receipt-To Return-Receipt-Requested Generate-Delivery-Report Selon la directive RCF 2822 qui décrit le format d'un message internet, chaque élément du header doit être terminé par les caractères CRLF
  15. Bonjour, Je ne sais pas sous quelle version FMP tu évolues, mais en paramétrant ta rubrique conteneur via l'Inspecteur/Données/Formatage des données/ en Conteneur interactif , tu obtiendras les mêmes fonctionnalités qu'une vidéo dans un webviewer; à moins que tu ne cherches à avoir un contrôle sur le WV en utilisant CSS et/ou JavaScript. Extrait Glossaire : Les conteneurs interactifs sont rendus à l'aide des technologies de navigateur Web utilisées par le Web Viewer.
×
×
  • Create New...