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 : 583
    Points
    583
    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(","));
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

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

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

    Informations forums :
    Inscription : novembre 2002
    Messages : 8 017
    Points : 25 965
    Points
    25 965
    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
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  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 : 583
    Points
    583
    Par défaut
    Mais si vous pouvez m'aider ça sera sympa de votre part
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

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

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

    Informations forums :
    Inscription : novembre 2002
    Messages : 8 017
    Points : 25 965
    Points
    25 965
    Par défaut
    quel est le but ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  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 : 583
    Points
    583
    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.
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

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

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

    Informations forums :
    Inscription : novembre 2002
    Messages : 8 017
    Points : 25 965
    Points
    25 965
    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;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    12 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 12 707
    Points : 34 290
    Points
    34 290
    Billets dans le blog
    52
    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"
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  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 : 583
    Points
    583
    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.
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

  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 : 583
    Points
    583
    Par défaut Merci infiniment
    Vous me sauvez la vie merci infiniment
    <On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**

+ 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