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 :

Compilation d'une unité écrite pour Turbo Pascal [Free Pascal]


Sujet :

Free Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 26
    Par défaut Compilation d'une unité écrite pour Turbo Pascal
    Bonjour tout le monde.

    J'ai deux simples questions :

    -les unités faites pour turbo pascal sont-elles utilisables pour free pascal ? (je cherche à compiler ces unités ; d'ailleurs merci à l'auteur s'il passe par là)

    -et comment fait-on pour compiler ces unités ?

    Merci d'avance pour vos réponses.

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par zilbou Voir le message
    -les unités faites pour turbo pascal sont-elles utilisables pour free pascal ? (je cherche à compiler ces unités ; d'ailleurs merci à l'auteur s'il passe par là)

    -et comment fait-on pour compiler ces unités ?
    Bonjour ! En principe, Free Pascal peut compiler les unités écrites pour Turbo Pascal. Cependant, les unités proposées sur la page que vous indiquez ont été écrites spécialement pour le système d'exploitation DOS, avec des morceaux en assembleur : donc il est probable que ces unités ne soient pas utilisables en l'état. Quel est votre système d'exploitation ?

    Autrement, pour essayer de compiler une unité, il n'y a rien de particulier à faire. Vous pouvez par exemple commencer par un programme vide, avec le nom de l'unité après le mot-clé uses, et essayer de compiler le programme. Il sera bon d'utiliser la directive de compilation {$MODE TP} (à ajouter aussi dans l'unité).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    program Essai;
     
    {$MODE TP}
     
    uses Unite;
     
    begin
    end.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 26
    Par défaut
    Ah merci pour l'éclaircissement.

    Puisque c'est impossible avec ces unités, j'ai pu m'arranger avec graph déjà définie (cependant, qu'est-ce qu'une directive de compilation ?).

    Mais un autre problème est apparu : lors de l'éxécution du programme, le compilateur m'informe "invalid file {chemin/monprogramme}.exe". Il se trouve que j'avais déplacé juste le fichier.pas sans le .exe sur un autre ordinateur. Pourtant, j'avais déjà déplacé des fichier .pas sans toucher au .exe sans qu'il y ait de problèmes, l'application étant recrée automatiquement.
    J'ai essayé de ramener l'ancien fichier .exe (mais j'ai modifié mon programme après déplacement) et de le mettre dans le même dossier mais toujours le même problème ...

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    Une directive de compilation, c'est une instruction qui modifie le comportement du compilateur. Elle est placée entre des accolades et commence par le caractère "$".

    Par exemple voici un programme qui affiche la valeur maximale du type integer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    program Exemple1;
     
    begin
      WriteLn(
        High(integer) // 2147483647
      );
     
      Write('Appuyez sur la touche Entr'#130'e... ');
      ReadLn;
    end.
    Maintenant le même code, mais avec la directive {$MODE TP}, qui est faite pour compiler du code écrit pour Turbo Pascal. Le code est le même, mais le programme donne un résultat différent, parce que le mode de compilation change la définition du type integer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    program Exemple2;
     
    {$MODE TP}
     
    begin
      WriteLn(
        High(integer) // 32767
      );
     
      Write('Appuyez sur la touche Entr'#130'e... ');
      ReadLn;
    end.
    Pour le reste, j'avoue que je ne vois pas trop quel est le problème que vous rencontrez. Que voulez-vous faire exactement ?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 26
    Par défaut
    Je souhaite simplement éxécuter mon programme mais je reçois le message "invalid filename d:\documents ... \monprogramme.exe"

  6. #6
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par zilbou Voir le message
    Je souhaite simplement éxécuter mon programme mais je reçois le message "invalid filename d:\documents ... \monprogramme.exe"
    Désolé, je ne vois pas. Je n'ai jamais rencontré cette erreur.

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

Discussions similaires

  1. [Turbo Pascal] Unité USB : Support de la norme USB 1.1 pour Turbo Pascal 7
    Par forum dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 08/04/2014, 08h21
  2. [Turbo Pascal] Un plugin Eclipse pour Turbo Pascal
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 0
    Dernier message: 07/02/2011, 07h57
  3. [Turbo Pascal] K-Tools - Bibliothèque d'unités d'objets Turbo Pascal 6 et 7
    Par Alcatîz dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 06/11/2010, 14h58
  4. [Turbo Pascal] Cours, tutoriels, sources, utilitaires, téléchargements pour Turbo Pascal
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 0
    Dernier message: 27/01/2009, 20h53
  5. Ligne de commande pour Turbo Pascal?
    Par GeffD dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 24/02/2004, 12h25

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