Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cours Apprenez à coder avec JavaScript

    11 juin 2017 à 19:40:41

    Edelyne a écrit:

    Bonjour à tous !

    J'en suis au chapitre "Manipulez les chaînes de caractères", et après de nombreuses heures à ramer, je commence quelque peu à m'arracher les cheveux :') 

    J'ai suivi l'exercice qui vise à la réalisation du programme mot.js, permettant d'analyser une chaine de caractère saisie par l'utilisateur. La partie qui me pose réellement soucis est la conversion du mot en Leet Speak. J'ai finit par regarder la correction, mais malgré ça, mon programme ne fonctionne pas... pouvez-vous m'indiquer qu'est-ce que je devrais corriger ?

    Je vous en remercie par avance !


    /* NOMBRE DE CARACTERES */
    
    function nbCaractères(mot){
    	return mot.length;
    }
    
    /* MINUSCULE */
    
    function minuscule(mot){
    	return mot.toLowerCase();
    }
    
    /* MAJUSCULE */
    
    function majuscule(mot){
    	return mot.toUpperCase();
    }
    
    /* NOMBRE DE VOYELLES */
    
    function nbVoyelles(mot){
    	return nbCaractères-mot.replace(/[aeiouy]+/g, '').length;
    }
    
    /* NOMBRE DE CONSONNES */ 
    
    function nbConsonnes(mot){
    	return nbCaractères - nbVoyelles;
    }
    
    /* INVERSER */
    
    function inverser(mot){
    	
    	var motInverse = "";
    	var nouvelleLettre;
    
    	for(var tour = 1; tour <= nbCaractères; tour ++){
    		nouvelleLettre = mot[nbCaractères - tour];
    		motInverse = motInverse + nouvelleLettre;
    	}
    
    	return motInverse;
    }
    
    /* PALINDROME */
    
    function palindrome(mot){
    
    	var messagePalindrome;
    
    	if(mot === motInverse){
    		messagePalindrome = "Le mot " + mot + " est bien un palindrome.";
    	}
    	else{
    		messagePalindrome = "Le mot " + mot + " n'est pas un palindrome.";
    	}
    
    	return messagePalindrome;
    }
    
    
    /* LEET SPEAK */
    
    function convertirEnLeetSpeak(mot){
    	
    	var motLeet = "";
    
    	for(var i = 0; i <= mot.length; i ++){
    		var lettre = mot[i];
    		motLeet = motLeet + trouverLettreLeet(lettre);
    	}
    
    	return motLeet;
    
    }
    
    
    /* LETTRE LEET */
    
    function trouverLettreLeet(lettre) {
    
    	var lettreLeet = lettre;
    	
    	switch(lettre.toLowerCase()){
    		
    	case "a" :
    		lettreLeet = "4";
    		break;
    
    	case "b" :
    		lettreLeet = "8";
    		break;
    
    	case "e" :
    		lettreLeet = "3";
    		break;
    
    	case "L" :
    		lettreLeet = "1";
    		break;
    
    	case "o" :
    		lettreLeet = "0";
    		break;
    
    	case "s" :
    		lettreLeet = "5";
    		break;
    
    	}
    
    	return lettreLeet;
    }
    
    var saisieUtilisateur = prompt("Quel mot souhaitez-vous étudier ?");
    
    var nbCaractères = nbCaractères(saisieUtilisateur);
    var messageNbCaractères = "Le mot " + saisieUtilisateur + " contient " + nbCaractères + " caractère(s)";
    
    var minuscule = minuscule(saisieUtilisateur);
    var messageMinuscule = "Le mot " + saisieUtilisateur + " " + "s'écrit en minuscule " + minuscule;
    
    var majuscule = majuscule(saisieUtilisateur);
    var messageMajuscule = "Le mot " + saisieUtilisateur + " " + "s'écrit en majuscule " + majuscule;
    
    var nbVoyelles = nbVoyelles(saisieUtilisateur);
    var messageNbVoyelles = "Le mot " + saisieUtilisateur + " " + "contient " + nbVoyelles + " voyelles";
    
    var nbConsonnes = nbConsonnes(saisieUtilisateur);
    var messageNbConsonnes = "Le mot " + saisieUtilisateur + " " + "contient " + nbConsonnes + " consonnes";
    
    var motInverse = inverser(saisieUtilisateur);
    var messageMotInverse = "Le mot " + saisieUtilisateur + " " + "inversé est " + motInverse + "!";
    
    var messagePalindrome = palindrome(saisieUtilisateur);
    
    var motLeetSpeak = convertirEnLeetSpeak(saisieUtilisateur);
    var messageLeetSpeak = "Le mot " + saisieUtilisateur + " en Leet Speak est " + motLeetSpeak + "!";
    
    
    /* ALERT */
    
    alert(messageNbCaractères);
    alert(messageMinuscule);
    alert(messageMajuscule);
    alert(messageNbVoyelles);
    alert(messageNbConsonnes);
    alert(messageMotInverse);
    alert(messagePalindrome);
    alert(messageLeetSpeak);



    -
    Edité par Edelyne il y a environ 7 heures

    Bonjour,

    Dans ta fonction convertirEnLeetSpeak(mot), ta boucle for fait un tour de trop... Çà t'aide ?

    Cdlt

    • Partager sur Facebook
    • Partager sur Twitter
      11 juin 2017 à 20:14:54

      Ça fait plus que m'aider, ça a tout résolu !

      Merci beaucoup !! Dire que j'ai passé des heures à tout modifier, re-modifier et re-re-modifier x'D

      Bonne soirée !

      • Partager sur Facebook
      • Partager sur Twitter
        11 juin 2017 à 21:28:34

        Edelyne a écrit:

        Bonjour à tous !

        J'en suis au chapitre "Manipulez les chaînes de caractères", et après de nombreuses heures à ramer, je commence quelque peu à m'arracher les cheveux :') 

        /* LEET SPEAK */
        
        function convertirEnLeetSpeak(mot){
        	
        	var motLeet = "";
        
        	for(var i = 0; i <= mot.length; i ++){
        		var lettre = mot[i];
        		motLeet = motLeet + trouverLettreLeet(lettre);
        	}
        
        	return motLeet;
        
        }
        

        -
        Edité par Edelyne il y a environ 9 heures


        Bonsoir, il y a un tour en trop avec la boucle for dans la fonction convertirEnLeetSpeak(), essaie comme ça : 

        for(var i = 0; i < mot.length; i ++)



        -
        Edité par n1col4s 11 juin 2017 à 21:29:37

        • Partager sur Facebook
        • Partager sur Twitter
        "In chess, it's called Zugzwang, when the only viable move is not to move."
          15 juin 2017 à 14:25:48

          erreur de sujet

          -
          Edité par Christophe13011 16 juin 2017 à 10:57:55

          • Partager sur Facebook
          • Partager sur Twitter
            15 juin 2017 à 14:57:06

            Bonjour,

            Je viens d'écrire le code de l'exercice CALCULATRICE du chapitre 5.

            Il fonctionne, mais comparé au corrigé, il y a une grosse différence, à savoir que je n'ai pas déclaré de variable "resultat" dans ma fonction.

            Pouvez-vous me dire si mon code est "propre" et si j'aurais dû déclarer la variable absolument et si oui pourquoi .

            Merci de vos réponses,

            Jeanne

            // MON CODE
            function calculer(a, operation, b) {
            	switch (operation) {
            		case "+" :
            			return a + b;
            		break;
            
            		case "-" :
            			return a - b;
            		break;
            
            		case "*" :
            			return a * b;
            		break;
            
            		case "/" :
            			return a / b;
            	}
            }
            
            console.log(calculer(4, "+", 6));
            console.log(calculer(4, "-", 6));
            console.log(calculer(2, "*", 0));
            console.log(calculer(12, "/", 0));
            
            
            // CORRIGE
            
            function calculer(operandeGauche, operation, operandeDroite) {
                var resultat;
                switch (operation) {
                case "+":
                    resultat = operandeGauche + operandeDroite;
                    break;
                case "-":
                    resultat = operandeGauche - operandeDroite;
                    break;
                case "*":
                    resultat = operandeGauche * operandeDroite;
                    break;
                case "/":
                    resultat = operandeGauche / operandeDroite;
                    break;
                }
                return resultat;
            }
            
            console.log(calculer(4, "+", 6)); // Doit afficher 10
            console.log(calculer(4, "-", 6)); // Doit afficher -2
            console.log(calculer(2, "*", 0)); // Doit afficher 0
            console.log(calculer(12, "/", 0)); // Doit afficher Infinity



            • Partager sur Facebook
            • Partager sur Twitter
              15 juin 2017 à 20:09:38

              Bonjours a tous ! J'aurais s'il vous plait besoin de votre aide pour un exercice que je n'arrive pas a faire... j'ai beau chercher je ne comprend pas mon erreur !

              Merci de votre aide !

              var choixUtilisateur = prompt("Choisissez-vous pierre, feuille, ou ciseaux ?");
              var choixOrdi = Math.random();
              if (choixOrdi < 0.34) {
                  choixOrdi = "pierre";
              } else if(choixOrdi <= 0.67) {
                  choixOrdi = "feuille";
              } else {
                  choixOrdi = "ciseaux";
              } console.log("Ordinateur : " + choixOrdi);
              var comparer = function(choix1, choix2) {
                  if (choix1 === choix2) {
                      return "Egalité !";
                  }
                
                  else if (choix1 === "Pierre") {
                      if (choix2 === "ciseau") {
                          return "pierre gagne"
                      }
                      else {
                          return "feuille gagne"
                      }
                  }
                else if (choix1 === "feuille") {
              if (choix2 === "pierre") {
                  return "feuille gagne"
              }
              else {
                  return "ciseau gagne"
              }
               else if (choix1 === "ciseau") {
                      if (choix2 === "pierre") {
                          return "pierre gagne"
                      }
                      else {
                          return "ciseau gagne"
                      }
                  }
              }
              }

              -
              Edité par ThomasOliver1 15 juin 2017 à 20:37:11

              • Partager sur Facebook
              • Partager sur Twitter
                15 juin 2017 à 20:51:08

                ThomasOliver1 a écrit: > j'ai beau chercher je ne comprend pas mon erreur !

                Bonjour,

                tu declares une fonction comparer() que tu n'utilises jamais.

                Et il y a un probleme d'accolade pour ton dernier else if

                ps: attention à l'indentation :)

                -
                Edité par csei 15 juin 2017 à 21:06:13

                • Partager sur Facebook
                • Partager sur Twitter
                  15 juin 2017 à 21:16:10

                  merci ! mais pour la fonction comparer() je sais ! je n'ai pas terminer le code il manque une ligne ! tu as repondu a ma question ! mais je ne comprend pas ce que je doit faire avec les accolades... j'ai pourtant pris garde de tout fermer comme il faut ! ce serais donc un probleme d'indentation ? mais mon code devrais fonctionner quand meme non ?

                  ps: je t'avoue ne pas bien comprendre l'indentation des accolades avec if/else

                  je te met le code en entier :

                  var choixUtilisateur = prompt("Choisissez-vous pierre, feuille, ou ciseaux ?");
                  var choixOrdi = Math.random();
                  if (choixOrdi < 0.34) {
                      choixOrdi = "pierre";
                  } else if(choixOrdi <= 0.67) {
                      choixOrdi = "feuille";
                  } else {
                      choixOrdi = "ciseaux";
                  } console.log("Ordinateur : " + choixOrdi);
                  var comparer = function(choix1, choix2) {
                      if (choix1 === choix2) {
                          return "Egalité !";
                      }
                    
                      else if (choix1 === "Pierre") {
                          if (choix2 === "ciseau") {
                              return "pierre gagne"
                          }
                          else {
                              return "feuille gagne"
                          }
                      }
                    else if (choix1 === "feuille") {
                  if (choix2 === "pierre") {
                      return "feuille gagne"
                  }
                  else {
                      return "ciseau gagne"
                  }
                   else if (choix1 === "ciseau") {
                          if (choix2 === "pierre") {
                              return "pierre gagne"
                          }
                          else {
                              return "ciseau gagne"
                          }
                      }
                  }
                  }

                  comparer(choixUtilisateur, choixOrdi);

                  -
                  Edité par ThomasOliver1 15 juin 2017 à 21:17:42

                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 juin 2017 à 21:47:40

                    ThomasOliver1 a écrit: >

                    ce n'est pas l'indentation le probleme mais avec un code indenté correctement tu peux voir ce qui cloche plus rapidement :)

                    tu as 4 accolades fermantes à la fin. tu ne devrais en avoir que 3. coupes en une et colle la juste avant ton dernier else if

                    tu as écris :

                     else if (choix1 === "ciseau") {
                            if (choix2 === "pierre") {
                                return "pierre gagne"
                            }
                            else {
                                return "ciseau gagne"
                            }
                        }
                    }
                    }
                    

                    et ca devrait ressembler à :

                     } else if (choix1 === "ciseau") {
                            if (choix2 === "pierre") {
                                return "pierre gagne"
                            }
                            else {
                                return "ciseau gagne"
                            }
                        }
                    }
                    

                    -
                    Edité par csei 16 juin 2017 à 10:10:16

                    • Partager sur Facebook
                    • Partager sur Twitter
                      19 juin 2017 à 2:09:37

                      Bonjour,

                      Je suis nouveau ici et j'ai un problème ... j'ai réalisé l'activité 1 de ce cours que j'ai soumise aux autres élèves mais ils m'ont tous mis des mauvaises notes car ils n'arrivaient pas à ouvrir le programme alors qu'il fonctionnait bien chez moi ... (mais je pense avoir compris l'erreur : en voulant compresser j'ai sorti les fichiers de leur dossiers respectifs et du coup le fichier .html ne trouvait surement plus le chemin jusqu'au fichier .js)

                      Sauf que voilà, en ayant remis mes fichiers dans leur petit dossier respectifs (html et js) ça ne marche plus du tout ...

                      Pourriez-vous m'aider s'il vous plaît ? Et sauriez-vous s'il serait possible de renvoyer mon activité pour avoir une vraie note ?

                      Merci pour votre aide !

                      Edit : au temps pour moi, le problème venait du fichier .js et non pas du .html, j'avais rajouté une ligne et mis deux " à la fin sans faire exprès ... sauriez-vous du coup s'il serait possible de renvoyer mon activité ? ou juste me dire rapidement si ça convient ... (ça marche bien chez moi en tout cas :) )

                      <!doctype html>
                      <html>
                      
                      <head>
                          <meta charset="utf-8">
                          <title>Jeu de devinette</title>
                      </head>
                      
                      <body>
                          <script src="../js/devinette.js"></script>
                      </body>
                      
                      </html>

                      /* 
                      Activité : jeu de devinette
                      */
                      
                      // NE PAS MODIFIER OU SUPPRIMER LES LIGNES CI-DESSOUS
                      // COMPLETEZ LE PROGRAMME UNIQUEMENT APRES LE TODO
                      
                      console.log("Bienvenue dans ce jeu de devinette !");
                      alert("Attention vous n'avez que 6 coups pour trouver le bon nombre !\nPrêt ?");
                      
                      // Cette ligne génère aléatoirement un nombre entre 1 et 100
                      var solution = Math.floor(Math.random() * 100) + 1;
                      
                      var choix=0;
                      var nbCoups=0;
                      var win=0;
                      while (choix !== solution && nbCoups<=5) {
                          choix=Number(prompt("Choisissez un nombre entre 1 et 100"));
                          nbCoups++;
                          if (choix<solution) {
                              console.log("C'est plus que " + choix);
                          } else if (choix>solution) {
                              console.log("C'est moins que " + choix);
                          } else {
                              console.log("Bravo ! Vous avez trouvé en " + nbCoups + " tentatives !");
                              console.log("La solution était bien " + solution);
                              win=1;
                          }
                          }
                      if (win===0) {
                          console.log("Vous avez perdu ... la solution était " + solution);
                          }




                      -
                      Edité par yuipo1 19 juin 2017 à 2:44:35

                      • Partager sur Facebook
                      • Partager sur Twitter
                        19 juin 2017 à 20:54:47

                        Bonjour !
                        Voilà j'essai de faire un slide en js , côté slide, j'ai le visuel que je voulais, il me reste à l'animer avec le js, et faire défiler les images.. j'ai trouvé ce code sur w3school pour le slide, seulement e ne comprends pas bien les différentes étapes de ce script.. 
                        Alors voilà si quelqu'un pouvait me le commenter ou m'expliquer les étapes différentes du processus.. Merci beaucoup! 
                        var slideIndex = 1;
                        showSlides(slideIndex);
                        
                        function plusSlides(n) {
                          showSlides(slideIndex += n);
                        }
                        
                        function currentSlide(n) {
                          showSlides(slideIndex = n);
                        }
                        
                        function showSlides(n) {
                          var i;
                          var slides = document.getElementsByClassName("mySlides");
                          var dots = document.getElementsByClassName("dot");
                          if (n > slides.length) {slideIndex = 1}    
                          if (n < 1) {slideIndex = slides.length}
                          for (i = 0; i < slides.length; i++) {
                              slides[i].style.display = "none";  
                          }
                          for (i = 0; i < dots.length; i++) {
                              dots[i].className = dots[i].className.replace(" active", "");
                          }
                          slides[slideIndex-1].style.display = "block";  
                          dots[slideIndex-1].className += " active";
                        }
                        et le html 
                        <body>
                        
                        <div class="slideshow-container">
                        
                        <div class="mySlides fade">
                          <div class="numbertext">1 / 3</div>
                          <img src="img_nature_wide.jpg" style="width:100%">
                          <div class="text">Caption Text</div>
                        </div>
                        
                        <div class="mySlides fade">
                          <div class="numbertext">2 / 3</div>
                          <img src="img_fjords_wide.jpg" style="width:100%">
                          <div class="text">Caption Two</div>
                        </div>
                        
                        <div class="mySlides fade">
                          <div class="numbertext">3 / 3</div>
                          <img src="img_mountains_wide.jpg" style="width:100%">
                          <div class="text">Caption Three</div>
                        </div>
                        
                        <a class="prev" onclick="plusSlides(-1)">&#10094;</a>
                        <a class="next" onclick="plusSlides(1)">&#10095;</a>
                        
                        </div>
                        <br>
                        
                        <div style="text-align:center">
                          <span class="dot" onclick="currentSlide(1)"></span> 
                          <span class="dot" onclick="currentSlide(2)"></span> 
                          <span class="dot" onclick="currentSlide(3)"></span> 
                        </div>
                        Voilà voilà merci encore! 
                        • Partager sur Facebook
                        • Partager sur Twitter
                          19 juin 2017 à 21:38:22

                          VictorPolfliet a écrit: > Alors voilà si quelqu'un pouvait me le commenter

                          Salut,

                          var slideIndex = 1; // on initialise la variable slideindex à un pour afficher la premiere image...
                          showSlides(slideIndex); // dans la fonction showSlide
                           
                          // cette fonction correspondent aux fleches avancer et reculer
                          function plusSlides(n) {
                            showSlides(slideIndex += n);
                          }
                           
                          function currentSlide(n) {
                            showSlides(slideIndex = n);
                          }
                           
                          // ici la functio principale
                          function showSlides(n) {
                            var i;
                            var slides = document.getElementsByClassName("mySlides"); // on recupere toutes les images (avec la classe mySlides)
                            var dots = document.getElementsByClassName("dot"); // ici on recupere tous les points qui servent de repere (correspondant à l'image en cours)
                            if (n &gt; slides.length) {slideIndex = 1}   // si i est superieur au nombre d'images on repasse à l'image numero 1
                            if (n &lt; 1) {slideIndex = slides.length} // si au contraire on fait defiler dans l'autre sens et si on arrive en dessous de un on affiche la derniere image
                            for (i = 0; i &lt; slides.length; i++) { // ici on boucle et on met un display none sur toutes les images
                                slides[i].style.display = "none"; 
                            }
                            for (i = 0; i &lt; dots.length; i++) { // on retire la classe active sur le point correspondant à l'image qui a fini de s'afficher
                                dots[i].className = dots[i].className.replace(" active", "");
                            }
                            slides[slideIndex-1].style.display = "block"; // on met un display block pour afficher l'image
                            dots[slideIndex-1].className += " active"; // tu active le point correspondant
                          }
                          

                          Good ?

                          -
                          Edité par csei 20 juin 2017 à 6:31:46

                          • Partager sur Facebook
                          • Partager sur Twitter
                            19 juin 2017 à 22:08:34

                            bonsoir!

                            Dans l'ensemble oui je comprends le principe mais je me vois mal demain la réécrire de tête ou en refaire une dans le même genre sans aide.. j'ai un peu de mal à trouver ce genre d'algorithme par moi même mais e débute vraiment sur javascript.. j'espère que ca viendra! :)

                            • Partager sur Facebook
                            • Partager sur Twitter
                              19 juin 2017 à 22:48:15

                              VictorPolfliet a écrit: > j'espère que ca viendra

                              Je ne m'en fais pas pour ca. Il faut pratiquer et encore pratiquer. Faire des tuto, pleins de tuto. Et etudier un bout de code comme tu le fais est un bon debut. Les automatismes et la logique viendront au fur et à mesure. Enfin c'est ce que je constate avec ma maigre experience XD

                              -
                              Edité par csei 19 juin 2017 à 22:48:32

                              • Partager sur Facebook
                              • Partager sur Twitter
                                20 juin 2017 à 22:24:09

                                Bonsoir! 

                                Alors j'ai quand même un truc que j'ai du mal à appréhender dans ce bout de code ci dessus.. c'est l'index..

                                dans un premier temps on définit une variable index et sa valeur 1; var slideIndex = 1;

                                et enfait après e comprends mais sans trop comprendre les manipulations faites avec l'index, par exemple slides[index-1] etc.. Voilà si quelqu'un peut me re expliqué un peu plus !:)

                                Merci!

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  21 juin 2017 à 8:38:18

                                  Bonjour!

                                  Je ne suis pas sûr de te comprendre.

                                  Tu as var slideIndex = 1;

                                  Puis slide[index-1]?

                                  C'est dans quelle situation exactement?

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    21 juin 2017 à 10:20:34

                                    Bam92 a écrit: > C'est dans quelle situation exactement?

                                    VictorPolfliet a écrit: > et enfait après e comprends mais sans trop comprendre les manipulations faites avec l'index, par exemple slides[index-1] etc.. Voilà si quelqu'un peut me re expliqué un peu plus !:)

                                    Salut,

                                    c'est parce que slide[] est un tableau, enfin plus precisement un HTMLCollection (https://developer.mozilla.org/fr/docs/Web/API/HTMLCollection)

                                    Toutes les images sont recuperees dans un tableau (var slides = document.getElementsByClassName("mySlides");)

                                    Les images (slideIndex) sont numérotés "1,2,3" mais représenté dans le tableau par un index différent "0,1,2". C'est le principe du tableau, donc forcement l'image 1 correspond à l'index 0 dans le tableau (slideIdex -1 = 0, le compte est bon XD).

                                    -
                                    Edité par csei 21 juin 2017 à 10:31:41

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      21 juin 2017 à 19:01:13

                                      Merci chrismuzikos  pour ton aide et tes précisions ! :) je comprends mieux!
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        28 juin 2017 à 18:10:00

                                        Bonjour,

                                        je suis en train d'effectuer le dernier exercice du cours ==> apprenez à coder avec javascript

                                        Lorsque je debogue mon script voilà ce qu'il affiche :

                                        Mon problème c'est le undefined qui correspond à:

                                        _proto_ :Object

                                        Ne me donnez pas de code ... , dites moi seulement si j'ai merdé et où

                                        voici mon code==>

                                        Merci d'avance

                                        -
                                        Edité par cantonne 28 juin 2017 à 18:27:25

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          28 juin 2017 à 19:41:08

                                          cantonne a écrit:

                                          Mon problème c'est le undefined qui correspond à:

                                          _proto_ :Object

                                          Le problème vient du fait que tu appelles deux fois console.log() à la ligne 51, une 1ère fois dans la méthode personne.decrire() qui affiche correctement le contact, et le 2ème appel sur la ligne 51, qui affiche undefined. Le 2ème appel ne sert à rien.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          "In chess, it's called Zugzwang, when the only viable move is not to move."
                                            29 juin 2017 à 17:38:00

                                            merci de m'avoir apporté la solution aussi vite !!!

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              4 juillet 2017 à 16:42:08

                                              Bonjour à tous, 

                                              je souhaite créer un script pour Photoshop via ExtendScript Toolkit.

                                              La première étape consiste à faire la sélection des dossiers à traiter. Ces derniers contiennent entre 1 et 15 images qu'il va falloir traiter dossier par dossier.

                                              C'est l'équivalent d'un traitement par lot dans Photoshop.

                                              Le but ultime est de manipuler chacunes des images et des les compilées dans une unique image pour chacun des sous dossiers :

                                              dossier 1 : 1 image  = création d'une nouvelle image

                                              dossier 2 : 5 images = création d'une nouvelle image (contenant les 5 redimenssioner)

                                              dossier 3 : 8 images = création d'une nouvelle image (contenant les 8 redimenssioner)

                                              ....

                                              j'ai déjà créer un bout de code JS pour ouvrir la boite de dialogue de sélection (qui est à sélection unique ... :(  pour le moment)

                                              mais je n'arrive pas allez plus loin.

                                              Je débute seulement, donc encore pas mal de lacune.

                                              #target "photoshop"
                                              
                                              // boite de dialogue pour appeler dossier à traiter
                                              var inFolder = Folder.selectDialog ( "C'est ou que je bosse ?");
                                              if (myFolder = null) app.open (myFolder);

                                              Si qql'un peut me trouver une solution, je lui en serai reconnaissant à jamais :D



                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                4 juillet 2017 à 22:27:02

                                                Bonjour, je suis dans l'activité-1 et j'ai un souci avec un "if":

                                                var tentative = 1;
                                                var nombre = Number(prompt("Deviner un nombre entre 1 et 100, en 6 tentavives "));
                                                while ((nombre !== solution) && (tentative <= 6)) {    
                                                    if (nombre > solution){
                                                        console.log( + nombre + " est trop grand ");
                                                        nombre = Number(prompt(nombre + " c'est moins "));
                                                    }
                                                    if(nombre < solution) {
                                                        console.log( + nombre + " est trop petit ");
                                                        nombre = Number(prompt(" c'est plus "));
                                                    }
                                                     if ((nombre < 0) && (nombre > 100)) {
                                                        console.log( + nombre + " chiffre non valide ");
                                                        nombre = Number(prompt( " chiffre non valide "));
                                                    }
                                                     
                                                   else if (nombre === solution){
                                                       console.log("bravo vous avez gagné !");
                                                       alert("bravo vous avez gagné !");
                                                   }
                                                    
                                                    
                                                    }



                                                 ex : 150, j'ai en résultat "trop grand" au lieu de "chiffre non valide"

                                                svp sauvez ma pauvre vieille tête.

                                                merci d'avance

                                                -
                                                Edité par denisretailleau 5 juillet 2017 à 7:28:30

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  5 juillet 2017 à 16:39:23

                                                  denisretailleau a écrit: > ex : 150, j'ai en résultat "trop grand" au lieu de "chiffre non valide"

                                                  hello,

                                                  ça ne fait pas parti de l'énoncé. On demande juste si c'est plus ou moins. Si tu veux customiser quand même, ta condition est fausse déjà :

                                                  > (nombre < 0) && (nombre > 100)

                                                  le nombre ne peut pas être à la fois inférieur à 0 ET supérieur à 100. Il faudrait utiliser un OU.

                                                  Ensuite il faudrait que ça soit une condition d'entrée dans la boucle, ça ne sert à rien de vérifier si c'est égal à la solution ou si c'est plus petit ou plus grand si le chiffre est invalide des le départ.

                                                  J’espère que ça t'aidera.

                                                  -
                                                  Edité par csei 5 juillet 2017 à 16:40:22

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    5 juillet 2017 à 17:28:29

                                                    merci chrismuzikos effectivement cela m'aide, a vouloir trop bien faire, on s'entête !!!
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      10 juillet 2017 à 14:49:35

                                                      Hello all,

                                                      pas de solutions à mon problème ?

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        15 juillet 2017 à 0:00:22

                                                        Bonjour à vous, un truc tout bête : mon navigateur par exemple lorsque je fais grâce à mon code JS deux fenêtres pour inscrire du texte, il affichera bien le premier mais la deuxième fenêtre n'aura pas le texte.

                                                        Exemple :

                                                        var prenom = prompt("Dites-nous votre prénom.");
                                                        var nom = prompt("Dites-nous à présent votre nom"); 
                                                        
                                                        function direBonjour(prenom, nom) {
                                                            var message = ("Bonjour " + prenom + " " + nom + " !");
                                                            return message;
                                                        }
                                                        
                                                        console.log(direBonjour(prenom, nom));

                                                        Le code va très bien fonctionner. Cependant lors de la première fenêtre où inscrire le prénom, on aura bien le texte "Dites-nous votre prénom" alors que dans le seconde fenêtre, sa dépend des moments, on aura pas systèmatiquement le texte "Dites-nous à présent votre nom". C'est quelque chose de récurent depuis le début des cours sur le JS. C'est moi ou cela vient de mon navigateur ? J'utilise Firefox. Merci :)

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          17 juillet 2017 à 11:57:06

                                                          Bonjour a tous et toutes;

                                                          'ai mis sur pied un tableau HTML que je charge avec cette requette

                                                          xhr.onreadystatechange = function(){
                                                                             if(xhr.readyState == 4 && xhr.status == 200){
                                                                                  //alert('yes');
                                                                                  var response = xhr.responseText;
                                                                                  var lenders = JSON.parse(response) ;
                                                                                  var donnee=lenders.root_detail_groupe;
                                                                                  //console.log(lenders);
                                                           
                                                                                  for(i=0;i<=donnee.length;i++)
                                                                                  {
                                                                                  //document.getElementById('mytable').innerHTML+='<tr><td>'+donnee[i].nom+'</td><td>'+donnee[i].prenoms+'</td><td>'+donnee[i].telephone+'</td><td>'+donnee[i].email+'</td></tr>'; 
                                                                                  document.getElementById('mytable').innerHTML+='<tr><td>'+donnee[i].nom+'</td><td>'+donnee[i].prenoms+'</td><td><output id="telephone">'+donnee[i].telephone+'</td><td>'+donnee[i].email+'</td><td><input type="checkbox" id="check[]" name="check[]" value="'+donnee[i].telephone+'"></td></tr>';    
                                                                                  } 
                                                           
                                                                              }  
                                                           
                                                                          }

                                                          tout se passe bien jusque la ; mais lorsque l'utilisateur coche plusieurs case à cocher, je n'arrive pas a récupérer les numéros de téléphones correspondant.
                                                          je parviens déjà a avoir le code du groupe mais il me manque la liste des numéros selectionnés pour faire une boucle et les supprimer dans ma base de donnée.

                                                          supprimer_membres.onclick=function() {
                                                                  //alert('supprimer_membres');
                                                                  var code_groupe='<?php echo $code_groupe;?>';
                                                                  alert(code_groupe);
                                                              };

                                                          une fois de plus merci de votre soutient .


                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                          le boiteux qui suit le chemin devance le coureur qui s'en ecarte . http://www.etech-keys.com
                                                            19 juillet 2017 à 17:51:23

                                                            bonsoir à tous et toutes,

                                                            j'ai mis sur pied un progress bar qui doit normalement evoluer en fonction du nombre d'appel d'un fichier php qui me permet d'envoyer des sms.

                                                            mais le soucis c'est que mon progressbar ne reagit que lorsque tout est completement fini, bref il n'est pas synchroniser.

                                                            voici le code que j'utilise.

                                                            		var tableau=chaine.split(reg);
                                                            		var tab_length = tableau.length;
                                                            		var taux = Math.floor( 100/tab_length );
                                                            		 
                                                            		var percent = 0;
                                                            		for (var i=0; i<tab_length; i++) { 
                                                            			//alert(tableau[i]);
                                                            			destinataire=tableau[i]; // on affecte le numero en place au destinataire  
                                                            			 
                                                            			 
                                                                        if(destinataire.length == 9){
                                                                            // insertion dans le detail des transactions
                                                                            var xhr = getXhr()
                                                                            // Gestion de la programmation des Message. 
                                                                            if (ok_programmation.checked==true) 
                                                                            {
                                                                                //alert('date_programmation');
                                                                                xhr.open("POST","../ss/programmer_message_simple.php",false); 
                                                                                xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // permet l'encodage des POST
                                                                                xhr.send("&sender_id=" + sender_id + "&date_programmation=" + date_programmation + "&destinataire=" + destinataire + 
                                                                                            "&message=" + message + "&nombre_message=" + nombre_message); // On définit les variables et leurs valeurs
                                                                                //alert('oui') ; 
                                                                                if(parseInt(xhr.responseText) == 1){
                                                                                                
                                                                                  percent += taux;
                                                                                    
                                                                                    setTimeout(function() { 
                                                                                        $("#sr-only").html(percent + '% : sur '+i);
                                                                                    
                                                                                        $('#progress-bar').css("width", percent+ '%');
                                                                                    }, 5);
                                                                                }
                                                                            }
                                                                            else // Gestion des envoies Direct
                                                                            {
                                                                                xhr.open("POST","../ss/envoyer_message_simple.php",false); 
                                                                                xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // permet l'encodage des POST
                                                                                xhr.send("&sender_id=" + sender_id + "&destinataire=" + destinataire + "&message=" + message + "&nombre_message=" + nombre_message); // On définit les variables et leurs valeurs
                                                                                
                                                                                if(parseInt(xhr.responseText) == 1){
                                                                                                    
                                                                                  percent += taux;
                                                                                    
                                                                                    setTimeout(function() { 
                                                                                        $("#sr-only").html(percent + '% : sur '+i);
                                                                                    
                                                                                        $('#progress-bar').css("width", percent+ '%');
                                                                                    }, 5);
                                                                                }
                                                                            } // Fin  Gestion des envoies Direct
                                                                           
                                                                        } // Fin if len==9
                                                            		}
                                                            		

                                                            Merci pour votre coup de main

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            le boiteux qui suit le chemin devance le coureur qui s'en ecarte . http://www.etech-keys.com
                                                              24 juillet 2017 à 15:02:22

                                                              Tu ne regarde pas le retour de ta requête AJAX.
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Cours Apprenez à coder avec JavaScript

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown