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 10.4 Achitect : Installation de la librairie Pascal Script.


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut Delphi 10.4 Achitect : Installation de la librairie Pascal Script.
    Bonjour,
    j'espère que ma question est posée au bon endroit.

    Jusqu'à présent j'utilisais Delphi pour exporter des fichiers d'un server mainframe sous format Excel et je reformattais les données exportées via l'exécution de code VBA enregistré dans des fichiers XLSM.
    Les procédures de sécurité de mon entreprise ont changé et l'accès programmatique à des fichiers contenant du VBA (.XLSM,...) a maintenant été bloqué.
    Je recherche une solution de remplacement et je voudrais tester l'execution de code via PascalScript.

    je cherche donc a intégrer Pascal Script à mon environnement de développement qui se trouve dans une VM qui tourne en Windows 7.

    Je ne trouve désepérement pas la manière d'installer (surtout de compiler) le code pasCalScript que je trouve ici (ou ailleurs).

    Les faibles explications d'installation parlent toujours de fichiers .DPK a compiler qui ne se trouvent jamais dans le package.
    Exemple : "Ouvrez les fichiers suivants dans Delphi :
    PascalScript_Runtime.dpk
    PascalScript_Design.dpk".

    Le package comprend tout un tas de .DPK dont certains plantent déjà à l'ouverture, sans doute car la version de PascalScript est ancienne.

    Quelqu"un peut il me guider pour installer PascalScript sur ce Delphi 10.4, ou bien existe-t'il un autre systeme plus à jour pour ouvrir un fichier de code Delphi, le compiler à l'éxécution et l'exécuter ?

    Merci d'avance.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. :zen::ptdr:. Si vous êtes aidé, pensez à Voter.:ave:

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 457
    Par défaut
    Pour Delphi 10.4 et pour la distribution indiquée par votre lien, il n'y a qu'un seul paquet à installer : PascalScript_Core_D27.dpk
    Dans cette distribution il n'y a pas de paquet de runtime et de design.

  3. #3
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Citation Envoyé par Bernard B Voir le message
    Pour Delphi 10.4 et pour la distribution indiquée par votre lien, il n'y a qu'un seul paquet à installer : PascalScript_Core_D27.dpk
    Dans cette distribution il n'y a pas de paquet de runtime et de design.
    Merci Bernard, ca me permet de savoir quoi installer.
    Je viens de compiler le DPK avec succès, et je l'ai également installé.

    Je cale encore sur la modification du Library Path car il ne reconnait pas les composants uPSCompiler, uPSRuntime, uPSComponent alors que dans le path j'ai à la fois le chemin source et le chemin du package installé.
    Une suggestion ?

    merci encore
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. :zen::ptdr:. Si vous êtes aidé, pensez à Voter.:ave:

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 457
    Par défaut
    Normalement, le dpk installe tous ces composants :
    uPSC_extctrls in 'uPSC_extctrls.pas',
    uPSC_forms in 'uPSC_forms.pas',
    uPSC_graphics in 'uPSC_graphics.pas',
    uPSC_menus in 'uPSC_menus.pas',
    uPSC_std in 'uPSC_std.pas',
    uPSC_stdctrls in 'uPSC_stdctrls.pas',
    uPSCompiler in 'uPSCompiler.pas',
    uPSComponent in 'uPSComponent.pas',
    uPSComponent_COM in 'uPSComponent_COM.pas',
    uPSComponent_Controls in 'uPSComponent_Controls.pas',
    uPSComponent_DB in 'uPSComponent_DB.pas',
    uPSComponent_Default in 'uPSComponent_Default.pas',
    uPSComponent_Forms in 'uPSComponent_Forms.pas',
    uPSComponent_StdCtrls in 'uPSComponent_StdCtrls.pas',
    uPSDebugger in 'uPSDebugger.pas',
    uPSDisassembly in 'uPSDisassembly.pas',
    uPSPreProcessor in 'uPSPreProcessor.pas',
    uPSR_buttons in 'uPSR_buttons.pas',
    uPSR_classes in 'uPSR_classes.pas',
    uPSR_comobj in 'uPSR_comobj.pas',
    uPSR_controls in 'uPSR_controls.pas',
    uPSR_dateutils in 'uPSR_dateutils.pas',
    uPSR_DB in 'uPSR_DB.pas',
    uPSR_dll in 'uPSR_dll.pas',
    uPSR_extctrls in 'uPSR_extctrls.pas',
    uPSR_forms in 'uPSR_forms.pas',
    uPSR_graphics in 'uPSR_graphics.pas',
    uPSR_menus in 'uPSR_menus.pas',
    uPSR_std in 'uPSR_std.pas',
    uPSR_stdctrls in 'uPSR_stdctrls.pas',
    uPSRuntime in 'uPSRuntime.pas',
    uPSUtils in 'uPSUtils.pas',
    uPSC_buttons in 'uPSC_buttons.pas',
    uPSC_classes in 'uPSC_classes.pas',
    uPSC_comobj in 'uPSC_comobj.pas',
    uPSC_controls in 'uPSC_controls.pas',
    uPSC_dateutils in 'uPSC_dateutils.pas',
    uPSC_DB in 'uPSC_DB.pas',
    uPSC_dll in 'uPSC_dll.pas',
    Donc uPSCompiler, uPSRuntime, uPSComponent doivent être installés comme les autres, sauf s'il y a eu des erreurs lors de l'installation.
    Comme ils sont dans le même répertoire que les autres composants, il ne doit pas y avoir de problème de chemin pour la librairie spécifiquement pour ces 3 là.

    Je calle encore sur la modification du Library Path car il ne reconnait pas les composants...
    Qu'entendez vous par là ? Ils ne sont pas installés avec une erreur pendant l'install, ils n'apparaissent pas dans la palette des composants : est-ce que ce sont des composants visibles ?....

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 937
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 937
    Par défaut
    On ne sait pas exactement ce que tu comptes faire mais RemObjects Pascal Scripting demande pas mal de préparation pour être vraiment opérationnel. Il fournit un compilateur et quelques simplifications mais peu (voire aucune) fonction utilisable out-of-the-box. Il ne faut pas croire que tu vas prendre n'importe quel code Pascal et l'exécuter.

    Un simple ShowMessage doit être référencé par PSScript.AddFunction(@ShowMessage, 'procedure ShowMessage(const aMsg: string);'); avant de pouvoir être invoqué.

    Et là on est dans un cas simple, l'API MessageBox demanderait beaucoup plus si on veut respecter le prototype d'origine :
    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
    35
    36
    37
    38
    procedure TPSScript.OnCompile(Sender: TPSScript);
     
      procedure AddConst(const aName: AnsiString; aValue: cardinal; aType :AnsiString = 'LongInt');
      begin
        with Sender.Comp.AddConstant(aName, Sender.Comp.FindType(aType)) do
          Value.tu32 := aValue;
      end;
     
    begin
      Sender.Comp.AddTypeS('HWND', 'LongWord');
      Sender.Comp.AddTypeS('UINT', 'LongWord');
     
      AddConst('MB_OK', MB_OK);
      AddConst('MB_OKCANCEL', MB_OKCANCEL);
      AddConst('MB_ABORTRETRYIGNORE', MB_ABORTRETRYIGNORE);
      AddConst('MB_YESNOCANCEL', MB_YESNOCANCEL);
      AddConst('MB_YESNO', MB_YESNO);
      AddConst('MB_RETRYCANCEL', MB_RETRYCANCEL);
      AddConst('MB_ICONHAND', MB_ICONHAND);
      AddConst('MB_ICONQUESTION', MB_ICONQUESTION);
      AddConst('MB_ICONEXCLAMATION', MB_ICONEXCLAMATION);
      AddConst('MB_ICONASTERISK', MB_ICONASTERISK);
      AddConst('MB_USERICON', MB_USERICON);
      AddConst('MB_ICONWARNING', MB_ICONEXCLAMATION);
      AddConst('MB_ICONERROR', MB_ICONHAND);
      AddConst('MB_ICONINFORMATION', MB_ICONASTERISK);
      AddConst('MB_ICONSTOP', MB_ICONHAND);
      AddConst('IDOK', IDOK);
      AddConst('IDCANCEL', IDCANCEL);
      AddConst('IDABORT', IDABORT);
      AddConst('IDRETRY', IDRETRY);
      AddConst('IDIGNORE', IDIGNORE);
      AddConst('IDYES', IDYES);
      AddConst('IDNO', IDNO);
      AddConst('IDCLOSE', IDCLOSE);
     
      Sender.AddFunctionEx(@MessageBox, 'function MessageBox(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer;', cdStdCall);
    end;

  6. #6
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Merci Andnator pour ta réponse.
    Ce que je cherche à faire c'est un reformattage dynamique(variable) après export d'un fichier DB2 depuis un server vers un fichier excel.
    Le besoin est d'avoir un code "ouvert" , que je gère moi même puisqu'à l'origine je faisais cela en ouvrant via Delphi un fichier XLSM contenant du code VBA pour effectuer des reformattages divers après export : Exemples :
    * lecture des données d'une feuille et copie vers une autre en fonction de certains critères
    * Création / update de Pivot tables
    * mise en gras ou en couleur de certains champs
    * Suppression de certaines lignes....
    Nom : Capture d’écran 2025-07-29 145423.jpg
Affichages : 90
Taille : 300,6 Ko
    Etc...

    Je suis capable de coder cela en VBA et en Delphi, mais mon objectif idéal serait, comme actuellement avec mon export Delphi :
    1/ d'exécuter une requete SQL sur mon server DB2
    2/ D'exporter le resultat de cette requete dans un fichier excel variable avec une feuille de nom variable
    3/ D'exécuter du code de mise en forme après export , code variable car il se trouve dans un fichier externe à l'app Delphi.

    J'ai donc une seule APP delphi d'export vers Excel, et je voudrais une mise en forme après export à la carte, en fonction d'un script variable paramétrable.

    Est-ce que tu vois ce que je cherche à faire, tout en acceptant que c'est peut-être très compliqué voir pas possible ?
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. :zen::ptdr:. Si vous êtes aidé, pensez à Voter.:ave:

  7. #7
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par Godzestla Voir le message
    Merci Bernard, ca me permet de savoir quoi installer.
    Je viens de compiler le DPK avec succès, et je l'ai également installé.

    Je cale encore sur la modification du Library Path car il ne reconnait pas les composants uPSCompiler, uPSRuntime, uPSComponent alors que dans le path j'ai à la fois le chemin source et le chemin du package installé.
    Une suggestion ?

    merci encore
    Je l'ai téléchargé, ai copié le dossier source dans C:\ProgramData\pascalscriptMaster\Source; copié et installé comme toi et dans les exemples je renseigne le chemin
    de recherche sur C:\ProgramData\pascalscriptMaster\Source et le programme de test tourne (je suis avec Delphi 12.3

    Nom : Capture d’écran 2025-07-29 145146.png
Affichages : 114
Taille : 17,4 Ko

  8. #8
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Citation Envoyé par ALWEBER Voir le message
    Je l'ai téléchargé, ai copié le dossier source dans C:\ProgramData\pascalscriptMaster\Source; copié et installé comme toi et dans les exemples je renseigne le chemin
    de recherche sur C:\ProgramData\pascalscriptMaster\Source et le programme de test tourne (je suis avec Delphi 12.3

    Nom : Capture d’écran 2025-07-29 145146.png
Affichages : 114
Taille : 17,4 Ko
    Merci, je viens de faire une maip similaire et c'était bien là mon problème. le chemin a préciser.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. :zen::ptdr:. Si vous êtes aidé, pensez à Voter.:ave:

  9. #9
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Ca semble effectivement extrêmement complexe s'il faut référencer dans le code Delphi toutes les fonctions et procédures utilisées dans le Script.

    J'ai bien compris le problème ou pas du tout ?
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. :zen::ptdr:. Si vous êtes aidé, pensez à Voter.:ave:

Discussions similaires

  1. [Delphi][zeos] Problème d'installation du composant
    Par colfire_dev dans le forum Composants VCL
    Réponses: 4
    Dernier message: 13/01/2008, 12h50
  2. [Delphi 7 édition personnelle] Installation de ZeoLib
    Par SkyWalker dans le forum Composants VCL
    Réponses: 3
    Dernier message: 27/09/2007, 12h57
  3. Réponses: 14
    Dernier message: 27/08/2006, 19h47
  4. Réponses: 1
    Dernier message: 09/12/2005, 09h16
  5. [Delphi 2005] Pb d'installation d'un composant
    Par Vulcanos dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/05/2005, 22h07

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