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 :

Macro-langage dans Delphi.


Sujet :

Langage Delphi

  1. #1
    Membre du Club Avatar de ghost942
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 112
    Points : 50
    Points
    50
    Par défaut Macro-langage dans Delphi.
    Bonjour,

    J'ai developpé une application qui utilise une base de données assez importante. Cette appli est utilisée par plusieurs personnes. Ils peuvent appliquer de nombreux filtres (date,heure,nom etc). Je leur propose aussi
    quelques 'traitements' sur cette base de données mais j'aurais aimé pouvoir
    leur proposer des macros qu'ils pourraient developper eux meme, c'est a dire
    a partir d'un langage embarqué dans mon appli, et qui serait interpreté dedans. Un peu comme dans fastreport. Je ne sais pas si je suis très clair

    Qu'est ce qui existe comme solution?

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    en gros, tu veux leur proposer un langage genre PL/SQL simplifié pour qu'il puisse faire ce qu'ils veulent ( du moins dans les limites de l'interrogation) ...

    "Greatis TMS" ou "Dream Script", ... ça peut aller loin, trop complexe pour des utilisateurs normaux

    ou alors, leur proposer un éditeur SQL, tu n'auras pas à faire un parser complet, mais juste une fonction qui interdit les UPDATE, INSERT, ALTER, CREATE ... un petit assistant serait sympa, en quelques phases :

    - Un Ecran (Deux ListBox) pour selectionner les tables (jointure à calculer) (
    - Un Ecran (Deux ListBox) pour selectionner les champs à afficher (prévoir le aggrégat SUM, MIN ... et le Group BY à calculer)
    - ... des petits éditeurs dans l'esprit des assistants des formules Excel ... ultra standard, ...

    ou encore, il te demande de faire toi même leurs macros (en delphi) , et tu factures ... faut bien gagner sa vie ! Maintenant si c'est un FreeWare, tu peux aussi facturer du Service ... faut juste avoir les licences Borland pour cela (normalement, même gratuit, tu ne dois pas diffuser un programme sans la licence Professionnel, du moins je dis ça à l'époque de D7 maintenant avec Turbo et BSD cela a peut-être changé ...)

    ou encore, proposer des exportations de données, vers des outils comme STATA, ou Excel (macros VBA)

    Peu importe la solution, c'est une fonctionnalité qui sera chronophage :
    - Long à Developper pour un outil facile d'utilisation et bien sécurisé
    - Long à Former, apprendre à un utisateur comment utiliser un assistant c'est long, leur apprendre un langage de macro, ce n'est pas leur métier, c'est encore pire, ...
    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

  3. #3
    Membre du Club Avatar de ghost942
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 112
    Points : 50
    Points
    50
    Par défaut
    Je pensais a un langage autre que SQL justement!

    Oui je pourrais également fournir un exe adapté a chaque utilisateur, mais j'aimerai un truc plus souple qui nécessite pas un compilation de l'appli a chaque demande. que l'utilisateur puisse simplement faire ses macros dans
    son coin.

    En gros, mon appli fournirai les variables d'entrée (date,heure,lieu,catérogie,etc) et l'utilisateur fixerait des
    variables de sortie (trois pour etre précis) que je placerai ensuite en base de données.

    J'avais dans l'idée d'exporter cela par OLE vers une feuille excel/openoffice,
    que l'utilisateur ferait ses propres macro sur cette feuille, et qu'ensuite l'appli. viendrait lire le resultat pour le sauvegarder dans la base.

    Mais j'aurais aimé un truc plus souple, avec un langage "embarqué" si on peut dire...

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Créer son propre langage est possible, tient par exemple, moi j'avais fait un moteur de calcul simple genre tu écrit dans un Mémo et cela donnait le résultat, ben ce n'est pas si évident (et c'est une fonction standard en Windev 5.5 que j'ai voulu refaire en delphi) ...

    Tu peux donc faire ton propre langage de macro, mais ne te complique pas la vie pour la syntaxe ... d'ailleurs c'est un bon défi de développement, si on a le temps ... je pense que ma functionExplode te servira si tu le développe ton langage ...
    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

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Nous avons développé un/des langages propriétaires spécialisés pour permettre à des utilisateurs de programmer des scénarios applicatifs.
    Pour les prochain développements de ce type, la solution que nous envisageons est d'utiliser comme langage de base PHP (syntaxe simple pour un utilisateur) et d'utiliser php.exe en "stand-alone", c'est à dire non connecté à Apache, pour exécuter les commandes utilisateurs.

    Il faut évidemment créer et mettre à disposition de l'utilisateur les bibliothéques adaptées qui lui permettront de faire les appel au programmme Delphi via des objets COM des appels IP (PHP utilise les com de .net;vérifier pour les objets Com de l'API win32).

    Dans cette solution, PHP est utilisé comme un simple interpréteur gérant variables, objets, boucles, instructions conditionnelles, appels aux procédures, etc et pilotant l'application Delphi via la bibliothéque applicative.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  6. #6
    Membre du Club Avatar de ghost942
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 112
    Points : 50
    Points
    50
    Par défaut
    Oui, on peut developper également son propre langage embarqué mais cela dépasse le cadre de mon projet.

    Le php comme langage embarqué pourrait être génial...mais je pense que la, il faut avoir le php d'installé sur son pc.

    En tous les cas, merci pour vos réponses.

    Je viens de tomber par hasard avec google, sur le langage Ruby qui a la possibilité d'etre embarqué Je vais peut etre m'orienter sur ca... si ca reste 'simple' a integrer.

  7. #7
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mais je pense que la, il faut avoir le php d'installé sur son pc.
    Il est possible que l'environnement nécessaire puisse se limiter à PHP.exe et quelques fichiers textes de config.

    Peut-être une question à poser sur le forum PHP.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  8. #8
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 447
    Points : 24 849
    Points
    24 849
    Par défaut
    CodeGear bosse un outil pour et en Ruby
    Sinon, j'avais oublié, il y a aussi Python ...

    Il n'y aurait pas un "Delphi Script" gratuit ou pas cher autre que Greatis ou Dream ?
    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

  9. #9
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 152
    Points
    10 152
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Il n'y aurait pas un "Delphi Script" gratuit ou pas cher autre que Greatis ou Dream ?
    Si, il existe Pascal Script, qui est très puissant. Dommage qu'il soit un peu mal foutu dès qu'on veut faire quelque chose qui n'a pas été prévu directement par l'auteur.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  10. #10
    Membre du Club Avatar de ghost942
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 112
    Points : 50
    Points
    50
    Par défaut
    Interessant! Merci!

  11. #11
    Membre du Club Avatar de ghost942
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 112
    Points : 50
    Points
    50
    Par défaut
    Je l'ai installé sur mon delphi 7 ent. mais ca bugge.

    Quand je lance la compilation, Delphi ne répond plus

  12. #12
    Membre averti

    Homme Profil pro
    ingénieur, retraité
    Inscrit en
    Février 2007
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur, retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 230
    Points : 332
    Points
    332
    Par défaut
    Bonjour,

    Je vous signale l'article "Un composant de définition de requêtes" paru
    dans "Informatique & Développement" de juin 1999 (n° 2 & 3) qui semble résoudre votre problème.

    Personnellement j'affiche sur la fiche un MEMO donnant :
    la liste des champs ,
    les opérateurs à utiliser, dont * pour les comparaisons partielles,
    et un exemple.
    Evidemment il faut quelques connaissances de logique.

    P lautier

  13. #13
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    je pense que l'idée de faire un interpréteur de commandes a l'intérieur de ton programme n'est pas très conseillé pour de simple utilisateur sinon il te faudra écrire un bon help très explicite le mieux serai de faire un constructeur de requêtes avec une interface ou l'utilisateur choisira les champs a affiché et le type d'opération (égal, supérieur....) a l'aide de combo un bon exemple est le filtre d'Excel....

Discussions similaires

  1. Integrer du langage C dans delphi
    Par jean-tristan dans le forum Débuter
    Réponses: 8
    Dernier message: 30/04/2009, 12h46
  2. Arrêt de l'exécution d'une requête MySQL dans DELPHI.
    Par joelmarc dans le forum Bases de données
    Réponses: 9
    Dernier message: 11/10/2004, 16h11
  3. procédure stockée Oracle dans delphi 6
    Par UPNE387 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/05/2004, 09h47
  4. [Débutant] Modifs dans Delphi
    Par J-P-B dans le forum XMLRAD
    Réponses: 6
    Dernier message: 20/06/2003, 15h55

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