IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Conversion fonction Javascript vers Delphi


Sujet :

Langage Delphi

  1. #1
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut Conversion fonction Javascript vers Delphi
    SVP j'ai un bout de code que veux traduire en Delphi si quelqu'un peu m'aider merci.
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    function target_sum(a, k, x) {
        if (k == a.length) return [];
        if (a[k] == x) {
            return [ [a[k]] ];
        } else {
            var s = target_sum(a, k + 1, x); // not using a[k]
            var t = target_sum(a, k + 1, x - a[k]); // using a[k]
            for (var i = 0; i < t.length; ++i) {
                t[i].unshift(a[k]); // a[k] is part of the solution
                s.push(t[i]); // merge t[] into s[]
            }
            return s;
        }
    }
    var s = target_sum([1, 4, 5, 2, 7, 8, -3, -5, -6, 9, 3, -7, -1, 5, 6], 0, 0);
    for (var i = 0; i < s.length; ++i)
        console.log(s[i].join(","));

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    ce n'est pas intéressant comme question.

    si j'ai bien compris, la question est d'obtenir les liste des nombres issues de la liste données dont la somme vaux 0

    exemple 4 + 2 - 6
    ou encore 3 - 7 - 1 + 5

    javascript trouve 436 expressions

  3. #3
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut
    Mais si vous pouvez m'aider ça sera sympa de votre part

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    quel est le but ?

  5. #5
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut
    C'est pour un lettrage de compte ou je dois éliminer les lignes avec une somme des débits et crédits = 0. Merci de votre soucis.

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    la traduction est presque directe, il faut juste typer les variables, j'utilise ici la déclaration en ligne de Sydney

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    function target_sum(a: TArray<Integer>; k, x: Integer): TArray<TArray<Integer>>;
    begin
      if k = Length(a) then
        Exit(nil);
      if a[k] = x then
      begin
        SetLength(Result, 1, 1); // Result := [a[k]]; n'est pas supporté
        Result[0, 0] := a[k];
        Exit;
      end;
      var s := target_sum(a, k + 1, x);
      var t := target_sum(a, k + 1, x - a[k]);
      for var i := 0 to Length(t) - 1 do
      begin
        Insert(a[k], t[i], 0); // unshift
        Insert(t[i], s, Length(s)); // push
      end;
      Result := s;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      var s := target_sum([1, 4, 5, 2, 7, 8, -3, -5, -6, 9, 3, -7, -1, 5, 6], 0, 0);
      AllocConsole;
      for var i := 0 to Length(s) - 1 do
      begin
        for var j := 0 to Length(s[i]) - 1 do
        begin
          Write(s[i, j], ',');
        end;
        WriteLn;
      end;
    end;

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 097
    Points : 41 081
    Points
    41 081
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    il doit certainement y avoir un moyen sans passer par ce genre de fonction.
    Qui dit lettrage dit certainement lecture dans une table quelconque une interrogation par SQL est-elle possible ?
    De toute façon il y a chargement des données pour la pièce comptable donc certainement récupération des montants débits et crédits.
    je ne vois pas pourquoi mettre ces montant dans un "target_sum"

  8. #8
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut
    Justement après plusieurs élimination par requêtes SQL des débits et crédits égaux il me reste des lignes ou je n'ai pas pû éliminer qui représentent une somme de débits avec une autre somme de crédits. C'est pour cela que j'ai eu recours à une telle fonction.

  9. #9
    Membre confirmé Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Points : 593
    Points
    593
    Par défaut Merci infiniment
    Vous me sauvez la vie merci infiniment

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion type C vers Delphi
    Par castorcharly dans le forum Langage
    Réponses: 9
    Dernier message: 14/11/2016, 15h26
  2. conversion fonction asp vers php 5
    Par baderahmed dans le forum ASP
    Réponses: 0
    Dernier message: 18/01/2011, 16h32
  3. [PHP-JS] Conversion fonction de temps PHP vers javascript
    Par Flynt dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/04/2008, 17h46
  4. Réponses: 1
    Dernier message: 11/05/2007, 18h18
  5. Comment appeler une fonction JavaScript depuis Delphi ?
    Par Alfred12 dans le forum Web & réseau
    Réponses: 4
    Dernier message: 17/06/2005, 18h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo