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

Free Pascal Discussion :

[FreePascal] Interpréter des commandes Linux


Sujet :

Free Pascal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 47
    Points : 17
    Points
    17
    Par défaut [FreePascal] Interpréter des commandes Linux
    Bonjour à tous

    Voila je débute sous Pascal, je commence à lire les tutoriels qui sont du reste très bien fait

    Mais voila je me pose une question:
    Comment peut on mettre une interprétation d'une commande linux, pour quel soit excuter lors de l'exécution du script?
    Dans un script Bash il "suffit" de mettre un cd ou un cat

    Merci d'avance pour votre aide

  2. #2
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Bonjour,

    Pour exécuter des commandes externes, il suffit d'utiliser la procédure Exec. Il y a un exemple d'utilisation dans la FAQ : http://pascal.developpez.com/faq/

    @++
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    Merci pour ta réponse aussi rapide

    Donc j'ai saisi un bout de code pour tester, il doit m'ouvrir un fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    program essais
    BEGIN
               SwapVectors;
                Exec('cat monfichier', ' ') ;
                SwapVectors;
    END.
    Mais lors de la compilation, j'ai une message d'erreur

    audiences.pas(3,1) Fatal: Syntax error, ";" expected but "BEGIN" found
    audiences.pas(3,1) Fatal: Compilation aborted

    Je sais pas trop d'où cela vient, d'un ";" pourtant il y sont non?

    Merci d'avance

    @+

  4. #4
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    Merci bien, même pas vu trop nul

    Par contre j'ai de nouveau une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ree Pascal Compiler version 2.0.2 [2005/11/26] for i386
    Copyright (c) 1993-2005 by Florian Klaempfl
    Target OS: Linux for i386
    Compiling daudience.pas
    daudience.pas(3,12) Error: Identifier not found "SwapVectors"
    daudience.pas(3,23) Error: Illegal expression
    daudience.pas(4,13) Error: Identifier not found "Exec"
    daudience.pas(4,41) Error: Illegal expression
    daudience.pas(5,13) Error: Identifier not found "SwapVectors"
    daudience.pas(5,24) Error: Illegal expression
    daudience.pas(7) Fatal: There were 6 errors compiling module, stopping
    daudience.pas(7) Fatal: Compilation aborted
    Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
    Il reconnait pas la fonction Swapvectors je crois , j'ai installé la bibliothèqye contenu dans freepascal pourtant

    Si quelqu'un à la solution je veux bien

    Merci

  6. #6
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Il faudrait peut-être mettre le bon uses ?
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  7. #7
    Membre éclairé

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Points : 773
    Points
    773
    Par défaut
    pour swapvectors on peut lire dans la doc :
    SwapVectors


    Declaration:
    Procedure SwapVectors ;

    Description:
    SwapVectors swaps the contents of the internal table of interrupt vectors with the current contents of the interrupt vectors.

    This is called typically in before and after an Exec call.


    Errors:
    Under LINUX this call does nothing, as the interrupt vectors are managed by the kernel.
    bref ça n'a pas l'air très utile sous linux

    Quand à l'utilisation de exec,
    c'est une commande incluse dans l'unité dos, il faut donc ajouter comme te l'a indiqué wormful_sickfoot
    Bonne continuation...

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 47
    Points : 17
    Points
    17
    Par défaut
    Re

    Excusez moi j'étais parti la semaine dernière

    Donc en effet j'ai bien mis :

    J'ai donc plus d'erreur pendant la compilation mais par contre lorsque j'exècute le programme, rien ne se passe

    Il devrait m'afficher les lignes du fichier non?

    Merci de nouveau pour votre aide [/code]

  9. #9
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Bonjour,

    Le nom de l'exécutable et ses paramètres doivent être spécifiés séparément. Il faut aussi récuperer le code d'erreur pour voir ce qui s'est passé...

    @++
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer des commandes Linux
    Par rambc dans le forum Général Python
    Réponses: 10
    Dernier message: 24/04/2010, 10h44
  2. questionnaire sur des commandes linux
    Par mimietoile dans le forum Administration système
    Réponses: 1
    Dernier message: 10/09/2008, 00h33
  3. Utiliser des commandes linux dans un shell
    Par Info_76 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 20/03/2008, 12h03
  4. interface graphique pour des commandes linux
    Par A7med dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 24/10/2007, 16h49
  5. Peut-on utiliser des commandes linux avec PERL
    Par undercrash dans le forum Linux
    Réponses: 2
    Dernier message: 01/03/2007, 14h12

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