Salut a tous,
je veux sauvegarder le code d'une fonction dans une base de données, a ce stade j'ai pas de problème, mais je ne sais pas comment exécuté ce code si j'en ai besoin de l'inserer dans mon unité ?
Salut a tous,
je veux sauvegarder le code d'une fonction dans une base de données, a ce stade j'ai pas de problème, mais je ne sais pas comment exécuté ce code si j'en ai besoin de l'inserer dans mon unité ?
Le compilateur ne sait pas aller chercher le code dans une base.
Si tu te charges de l'extraire vers un fichier, tu peux toujours utiliser la directive d'inclusion dans ton unité
regarde l'aide pour la syntaxe exacte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part {$i lefichier}
Slt,
mon besoin est le suivant:
je exécuté ce qui trouve entre le Begin .... end;
ce qui est entre les deux est sauvegardé dans une base de donnée, suite au choix de l'utilisateur je vais insérer une code qui est déja prés dans ma base de donnée ! est ce que j'ai toujour besoin d'utilisé cette directive ??
Salutation
tu peux enregistrer le contenu de ta fonction dans un fichier *.pas, puis le compiler (sous forme de dll peut être ?) par dcc32.exe via un ShellExecute, mais dans ce cas tu sera obligé de distribuer le fichier dcc32.exe avec ton application, ce qui risque poser un problème de licence![]()
autrement tu va devoir utiliser ou créer un système de script
est-ce que l'utilisateur de ton programme sera amené pour voir créer du code de manière libre, ou est-ce que tu lui laisse le choix entre un nombre limité de fonctions ?
Ben tu devras rentrer non pas le texte source mais bien un fichier DLL dans ta BD, sinon ton code ne pourra jamais être exécuté
Tu peux aussi voir les composants Pascal Script, qui sont réellement fabuleux pour faire exécuter du code Pascal à la volée![]()
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.
Bonjour,
Une solution consisterait à créer un fichier source partagé entre tous les utilisateurs. Puis, définir dans ce fichier, des sections $IFDEF userX ... $ENDIF pour chaque utilisateur et inclure le fichier dans le source via une directive $INCLUDE.
Chaque utilisateur aura juste à modifier la section userX correspondant à son nom, puis à insérer son nom userX dans les options du projet (Conditional defines) avant de recompiler.
tu ne pourrais pas résoudre ce problème en utilisant une variable à laquelle une valeur sera affectée par une entrée de l'utilisateur ?Envoyé par DAGADA
exemple :
ou alors je n'ai rien compris !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var variable:integer; begin variable := InputBox('demande de valeur', 'veuillez entrer votre valeur', '0'); if valeur > StrToInt(variable) then ... else ... end;![]()
une solution intéressante pourrai être de combiner l'utilisation des composants pascal scripts et la fourniture de quelques modèles que l'utilisateur pourra choisir et modifier
Je ne connaissais pas du tout Pascal script .. merci pour ce lien![]()
Partager