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

 Delphi Discussion :

Delphi rad studio 11 : importer une fonction javascript dans delphi


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Août 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 104
    Points : 53
    Points
    53
    Par défaut Delphi rad studio 11 : importer une fonction javascript dans delphi
    Bonjour chers tous,
    je souhaite utiliser dans delphi/rad studio 11, une fonction définie dans javascript
    est-ce possible? si oui, comment s'y prendre?
    Le but étant d'utiliser ou d'adapter ladite fonction dans delphi.
    je ne sais vraiment pas comment m'y prendre.
    un exemple ou un lien pour mieux comprendre serait la bienvenue.

    Merci d'avance pour votre aide,
    Cordialement,
    Dibak

  2. #2
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 346
    Points : 3 124
    Points
    3 124
    Par défaut
    Bonjour,

    tu peux essayer CodeConverter

    A+
    Charly

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Quel est ton vrai besoin ?

    Est-ce que ton besoin est réellement d'utiliser une fonction javascript dans un page particulière ou est-ce que tu as uniquement besoin du calcul effectué par cette fonction ?

  4. #4
    Membre du Club
    Inscrit en
    Août 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 104
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par popo Voir le message
    Quel est ton vrai besoin ?

    Est-ce que ton besoin est réellement d'utiliser une fonction javascript dans un page particulière ou est-ce que tu as uniquement besoin du calcul effectué par cette fonction ?
    Merci Popo d'avoir bien recentré la question: j'ai uniquement besoin du calcul effectué par cette fonction.

    exemple:
    j'ai une fonction RacineCarrer(X) définie dans javascript dans le fichier FunctionCommune.js.

    moi j'ai envie d'appeler cette fonction dans Delphi dans le but de Calculer Y := RacineCarrer(4)
    et je m'attends à ce que Y soit égal a 2.

    Comment faire référence à cette fonction RacineCarrer dans Delphi alors qu'elle est définie dans Javascript

    Un lien d'un exemple serait la bienvenue.

    Cordialement,
    Dibak

  5. #5
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 044
    Points : 40 962
    Points
    40 962
    Billets dans le blog
    62
    Par défaut
    Racine carré ! pas forcément un bon exemple
    Nom : Capture.PNG
Affichages : 130
Taille : 19,1 Ko

    ou alors y:=exp(1/n*ln(x)); sans passer par Java !

    Bien sûr, attention à la division par 0, mais ça, c'est une autre histoire
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Tout simplement utilsier la routine sqrt native à Delphi

    Edit : Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    program Project3;
     
    {$APPTYPE CONSOLE}
     
    uses
      SysUtils;
     
    begin
      Writeln(FloatToStr(Sqrt(4))); // <= Affiche 2
      Readln;
    end.
    Edit : C'est du Delphi 7 mais cette routine existe toujours dans RAD Studio 11.
    https://docwiki.embarcadero.com/Libr...en/System.Sqrt

  7. #7
    Membre du Club
    Inscrit en
    Août 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 104
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par popo Voir le message
    Tout simplement utilsier la routine sqrt native à Delphi

    Edit : Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    program Project3;
     
    {$APPTYPE CONSOLE}
     
    uses
      SysUtils;
     
    begin
      Writeln(FloatToStr(Sqrt(4))); // <= Affiche 2
      Readln;
    end.
    Edit : C'est du Delphi 7 mais cette routine existe toujours dans RAD Studio 11.
    https://docwiki.embarcadero.com/Libr...en/System.Sqrt
    Merci de vos interventions, mais ce n'était pas ce que je voulais.
    je pense que c'est moi qui pose mal le problème
    Voici un lien qui pose bien le problème et ce que je veux.


    sauf que quand j'applique la fonction appelée, ici "moment" est toujours inconnue.
    enfin je tiens a préciser que je suis dans Delphi RAD Studio 12/TMS web core.

    Toutes mes excuses pour cette grande omission de précision.
    Peut être que je ne suis pas dans le bon forum, vous voudriez bien me conseiller/m'indiquer s'il vous plait.
    Dibak

  8. #8
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Dans la vidéo, cela montre comment appeler du javascript pour finalement placer le résultat de l'appel dans un label.
    Si ton but est bien de calculer une racine carré, alors tu n'as pas besoin de passer par Javascript.

    Ceci reprend le même code que la vidéo.
    J'ai enlevé tout ce qui ne sert à rien et ajouté l'appel à la routine Delphi qui fait le job nativement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.WebButton1Click(Sender: TObject);
    var
        num, computed : Integer; 
    begin
        num := 4;
        computed := Sqrt(num);
        WebLabel1.Caption = FloatToStr(computed);
    end;

  9. #9
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Citation Envoyé par dibak Voir le message
    j'ai uniquement besoin du calcul effectué par cette fonction.

    exemple:
    j'ai une fonction RacineCarrer(X) définie dans javascript dans le fichier FunctionCommune.js.

    Il semble évident que le sujet n'est pas de faire un Racine Carré en Delphi, c'est bien trop trivial.
    Avec cet exemple, vous orientez mal la discussion

    Alors si l'objectif n'était que de faire une Racine Carré, vous devriez plutôt apprendre à lire une documentation
    Mais si l'objectif était de lancer un calcul plus complexe que vous ne savez pas porter en Delphi ou parce le besoin vous oblige à utiliser JavaScript, là il y a peut être un sujet.


    Quel est le besoin réel d'utiliser un JavaScript ?
    Est-ce un simple JavaScript, autant l'injecter dans un WebBrowser

    D'ailleurs il ne faut pas confondre dans TMS web core le Server et le Client, il est évident que l'on fourni un JS pour qu'il soit exécuté coté client donc dans le Navigateur et non côté Server.
    TMS web core transforme le DFM Delphi en son équivalent HTML + JS + CSS

    "Moment" n'est jamais disponible en Delphi, est utilisé par le WebBrowser qui reçoit le code JS (via la balise ASM) et c'est TMS web core qui est capable de faire le lien entre la variable Delphi Time et la variable JS Time, leur lien contient une mécanique complexe que vous ne voyez pas.


    Est-ce plutôt un JavaScript comme un Node JS, dans ce cas, pourquoi ne pas installer Nodes sur le server (voir NPM Install) et invoquer en ligne de commande directement le script, ce dernier fournira son retour sur les Pipes de la Console.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  10. #10
    Membre du Club
    Inscrit en
    Août 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 104
    Points : 53
    Points
    53
    Par défaut
    Salut a tous, merci de m'avoir accompagné dans cette aventure "de chercher a utiliser une fonction javascript dans Delphi".
    j'ai fini par comprendre comment cela marche et j'ai expérimenté l'utilisation d'une fonction javascript dans delphi avec succès.
    encore une fois de plus, merci.
    Cordialement,
    Dibak.

  11. #11
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Et la solution était donc ?

    Executer par Delphi ou wia le Browser ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  12. #12
    Membre du Club
    Inscrit en
    Août 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 104
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Mais si l'objectif était de lancer un calcul plus complexe que vous ne savez pas porter en Delphi ou parce le besoin vous oblige à utiliser JavaScript, là il y a peut être un sujet.
    C'est bien dit ShaiLeTroll,
    Désolé de vous revenir. je croyais avoir trouvé une solution au problème en fait je me suis trompé ou mieux emballé. ce n'était donc qu'une illusion que d'avoir résolu le problème. mon problème demeurre intacte

    je tiens à preciser que j'ai un besoin plus complexe qui m'oblige à utiliser Javascript dans Delphi/TMS web Core
    c'est pourquoi je vais pas a pas pour comprendre comment appeler une fonction Javascript étant dans Delphi/TMS web Core

    exemple simple:
    j'écris une fonction simple de javascript dans un fichier nommé "testfile.js" dont voici le contenu:
    function myFunction(a, b) {
    return a * b;
    }
    maintenant je viens dans Delphi/TMS web Core, j'y ecris le code :
    procedure TForm3.WebButton3Click(Sender: TObject);
    var
    ResultFunction: integer;
    begin
    asm
    ResultFunction= myFunction(4, 3);
    end;

    end;
    j'ai bien pris soins d'inserer dans le fichier html de ma form, le code suivant:
    <script src="testfile.js" ></script>

    resultat:
    ERROR
    Uncaught ReferenceError: myFunction is not defined | ReferenceError: myFunction is not defined at Object.WebButton3Click

    cordialement,
    Dibak.

  13. #13
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Une fonction javascript dans un évènement onClick
    Par Lomig dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/01/2007, 21h52
  2. [DOM] lancer une fonction javascript dans un lien HTML
    Par cortex007 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/11/2006, 21h11
  3. passer une fonction javascript dans un bouton
    Par zthibaut dans le forum Flash
    Réponses: 3
    Dernier message: 06/11/2006, 12h37
  4. Réponses: 2
    Dernier message: 03/04/2006, 18h38
  5. Réponses: 3
    Dernier message: 21/02/2006, 18h05

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