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

Turbo Pascal Discussion :

Turbo Pascal et Windows 7 - 64 bits [Turbo Pascal]


Sujet :

Turbo Pascal

  1. #1
    Futur Membre du Club
    Profil pro
    En reconversion
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Turbo Pascal et Windows 7 - 64 bits
    Bonjour,
    J'ai développé il y a fort longtemps une appli en TP pour gérer mes comptes perso. J'ai réussi jusqu'ici à passer tous les changements de système d'exploitation, mais maintenant je tombe sur un os avec le dernier changement sur Windows 7 - 64 bits: j'ai installé l'émulateur DOSBOX, réussi à recompiler et ça marche presque, mais à l'exécution...
    - j'ai eu une erreur 202 (Stack overflow): j'ai mis la pile au maximum (65520), et ça permet d'aller un peu plus loin dans l'exécution, mais
    - l'erreur 202 se reproduit sur un autre appel de routine un peu plus loin
    Finalement je constate que tant que je fais que lire dans les fichiers ça se passe bien, mais dès que je veux écrire dans ces fichiers, ça plante.
    Est-ce que quelqu'un connait une solution ?
    Merci pour votre aide

  2. #2
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 058
    Points : 15 339
    Points
    15 339
    Billets dans le blog
    9
    Par défaut
    Bonjour ! Je sais que ce n'est pas vraiment la réponse à votre question mais, si c'était moi, je migrerais mon projet vers Free Pascal. Si ça se trouve, cela peut se faire facilement. Si vous êtes d'accord pour poster le code source de votre programme, personnellement je veux bien le regarder et je suis sûr que d'autres sont prêts aussi à vous aider.

    Autrement, je n'ai aucune idée de la façon de résoudre votre problème. Peut-être quelqu'un d'autre aura-t-il une idée ?
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  3. #3
    Futur Membre du Club
    Profil pro
    En reconversion
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Oui en effet, j'avais déjà tenté de passer sur Free Pascal la dernière fois que j'ai eu ce genre de problème: si je me souviens bien ça se compile sans problème mais cependant la lecture des fichiers n'est pas compatible ce qui fait que je ne peux pas relire mes fichiers de données.
    J'ai déjà fait un programme (Sorfich) qui écrit un fichier .csv, donc il faudrait que je ré-écrive la routine qui lit les fichiers, dans ce format.
    A moins qu'il y ait une solution plus simple et plus rapide ?
    Est-ce que Turo Pascal est définitivement incompatible avec Win7- 64bits ?

    PJ: les fichiers source
    Merci encore

  4. #4
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 058
    Points : 15 339
    Points
    15 339
    Billets dans le blog
    9
    Par défaut
    Il n'y a pas de pièce jointe à votre message !
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  5. #5
    Futur Membre du Club
    Profil pro
    En reconversion
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Désolé, ce n'est pas très intuitif. Cette fois je crois qu'elle y est

    Merci
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 058
    Points : 15 339
    Points
    15 339
    Billets dans le blog
    9
    Par défaut
    Bon, ça compile du premier coup ! C'est encourageant.

    Ensuite, si je lance l'application, j'ai un écran gris avec une ligne disant "ATTENTION ! Il n'y a pas de configuration définie." Je ne peux pas aller plus loin parce que je ne sais pas comment fonctionne le programme.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  7. #7
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 058
    Points : 15 339
    Points
    15 339
    Billets dans le blog
    9
    Par défaut
    Bonsoir ! Je viens de parcourir rapidement l'ensemble du code. Il me semble qu'aucune modification ne sera nécessaire. Dans un premier temps, je conseillerais de compiler en mode de compatibilité avec Turbo Pascal, en ajoutant dans le code la directive suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    program COMPTA;
    {$MODE TP}
    Je n'en suis pas sûr, mais avec ce mode de compilation il est possible que vous puissiez lire vos anciens fichiers.

    Je joins à mon message le programme compilé avec la dernière version de Free Pascal, si vous voulez l'essayer. Si vous pouviez fournir le fichier de configuration sans divulguer des informations personnelles, je voudrais bien essayer le programme de mon côté (si vous voulez).

    J'ai noté que le chemin des fichiers est écrit directement dans le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    const
      chemin: string = 'c:\mesdoc\percom\';
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  8. #8
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 404
    Points : 5 790
    Points
    5 790
    Par défaut
    salut

    attention a la longueur des string a changé
    il y a moyen selon certaine directive de revenir a 255 caractères mais
    le plus simple étant de les remplacer par shortstring
    sinon effectivement tu risque de ne pas pouvoir relire ton fichier
    de memoire l'entier a aussi changé il faut préfèrer Smallint

    le plus simple et de comparer les type ordinal de TP et de freepascal ou autre afin de pouvoir relire tes fichiers
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  9. #9
    Futur Membre du Club
    Profil pro
    En reconversion
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    J'ai essayé votre compte.exe, malheureusement ça plante dès le démarrage de l'exécution (écran blanc).
    Ci-joint un couple de fichiers (dans la directory PERCOM) qui permet de faire tourner l'appli (j'ai fait ça un peu vite, du coup ça n'évite pas le message d'incohérence au début, mais ça permet de tester).
    Il faut que la directory PERCOM soit au meme endroit que le compte.exe (j'ai l'impression que dans ce mode "emulation" il assimile TP7 à la racine)

    Anapurna merci pour cette piste concernant l'impossibilité de relire mes fichiers avec le programme recompilé sous FreePascal : je vais creuser ça
    Fichiers attachés Fichiers attachés

  10. #10
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 058
    Points : 15 339
    Points
    15 339
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Demont Voir le message
    Il faut que la directory PERCOM soit au meme endroit que le compte.exe (j'ai l'impression que dans ce mode "emulation" il assimile TP7 à la racine)
    Là je suppose que vous parlez du programme compilé avec TP7 et exécuté dans DOSBox. Est-ce que vous pourriez montrer la commande que vous utilisez pour lancer le programme dans DOSBox ?

    P.-S. Non, je suis bête, c'est TP7 lui-même que vous lancez dans DOSBox. Est-ce que vous pourriez montrer la commande ? Parce qu'effectivement il faut tenir compte de l'effet de la commande "mount".
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  11. #11
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 058
    Points : 15 339
    Points
    15 339
    Billets dans le blog
    9
    Par défaut
    Chez moi, avec les fichiers que vous avez envoyés, le programme fonctionne ! J'appuie sur Entrée pour sauter le message initial ("INCOHERENCE..."), après quoi j'ai un menu qui s'affiche. J'ai pu saisir une opération, et l'enregistrer.

    J'ai seulement modifié auparavant le chemin du dossier "percom" pour l'adapter à ma propre installation, et recompilé le programme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    const
      chemin: string = {'c:\mesdoc\percom\'}'c:\atelier\pascal\compta\percom\';
    J'ai aussi supprimé le contenu de la procédure Beep().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure beep(freq: word; duree: real);
    begin
      //sound(freq);
      //delay(trunc(duree * 50000));
      //nosound;
    end;
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  12. #12
    Futur Membre du Club
    Profil pro
    En reconversion
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    J’ai installé FPC (fpc-3.0.0.i386-win32.exe) et aussi fpc-3.0.0.i386-win32.cross.x86_64.exe (est-ce que c’était utile ?)
    J’ai mis le {$MODE TP} et recompilé mon programme (avec l’option Turbo Pascal compatible) : pas d’erreur, ça compile.
    Mais dès que je lance, ca plante (erreur SIGSEGV, runtime error 201 at $00403CFC $00E8FE $00418CD1), avant exécution de la première ligne et c’est pareil en mode debug, pas à pas, avant exécution du premier pas !

    Je n’arrive donc meme pas à le faire démarrer et je ne sais pas s’il lit correctement les fichiers.
    J’ai vérifié quand meme la cohérence des types entre TP et FPC dans les aides, mais je n’ai rien vu qui pourrait poser problème. J’ai quand meme mis la directive {$H+} pour qu’il prenne bien les « string » pour des « shortstring », mais ça ne change rien.

    Par contre, très bizarre, si je vide la directory PERCOM, il ne trouve plus les fichiers et affiche les messages d’errreur « pas de configuration definie » et « le fichier cmvt.fce n’existe pas dans…», et il semble avoir une exécution normale (sauf que je pense qu’il y a des bugs que je n’ai jamais corrigé puisque je ne suis jamais dans cette config).
    Mais très bizarre aussi, je ne peux pas exécuter ça en mode debug puisque ça plante au premier pas.

    Ci-joint les programmes avec un nouveau jeu de fichiers, cohérents cette fois, mais issus de la version TP (ss WinXP).
    Fichiers attachés Fichiers attachés

  13. #13
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 058
    Points : 15 339
    Points
    15 339
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Je crois que la directive {$H+} est une erreur. Sauf erreur de ma part, elle fait le contraire de ce que vous voulez.

    Pour travailler plus à mon aise j'ai fusionné tous vos fichiers en un seul et formaté le code. Je compile le programme et l'exécute sans plantage ; mais je ne peux pas aller très loin dans mes essais car je ne sais pas comment le programme fonctionne. (Je joins le fichier au cas où cela vous intéresse.)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // Fusionné tous les fichiers au moyen de l'outil DIPP
    // http://www.yunqa.de/delphi/products/dipp/index
    // et du fichier de commande DIPP.CMD
    // Supprimé caractère #26 dans Notepad++ (rechercher expression régulière '\x1A', remplacer par '')
    // Supprimé la directive {$H+}
    // Changé l'encodage du fichier (d'OEM en UTF-8 sans BOM) et le nom (de "COMPTE.PAS" en "compta.pas")
    // Changé la valeur de la variable chemin (de 'c:\mesdoc\percom\' en '.\percom\')
    // Supprimé le corps de la procédure beep()
    Et j'ai toujours le même message au début :

    Citation Envoyé par Roland Chastain Voir le message
    Chez moi, avec les fichiers que vous avez envoyés, le programme fonctionne ! J'appuie sur Entrée pour sauter le message initial ("INCOHERENCE..."), après quoi j'ai un menu qui s'affiche.
    Pour répondre à votre question, non vous n'avez pas besoin de la version "cross".
    Fichiers attachés Fichiers attachés
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  14. #14
    Futur Membre du Club
    Profil pro
    En reconversion
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    J'ai compilé sans problème votre compta.pas. Cependant à l'éxécution avec les 2 fichiers envoyés précédemment il se plante et je n'ai pas le temps de voir ce qu'il affiche.
    Je ne comprend pas pourquoi ca marche chez vous et pas chez moi
    Cependant si vous avez toujours le message INCOHERENCE, c'est qu'il ne lit pas correctement les 2 fichiers car justement maintenant ils devraient être cohérents.
    Au debuggage je vois qu'il lit correctement config.fic mais pas du tout cmvt.fce (les valeurs des codes date, des montants sont totalement farfelues)
    Ca confirme ce que j'avais déjà constaté lors de ma première tentative de portage sur FeePascal et ce que disait Anapurna sur la différence de certains types de variables.
    Je vais essayer de remplacer tous les string par des shorstring, mais j'ai peur que ca ne suffise pas. En particulier je n'ai pas trouvé grand chose dans les docs sur la longueur des types real
    Merci pour votre aide et pour votre patience !

  15. #15
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 058
    Points : 15 339
    Points
    15 339
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Demont Voir le message
    Je vais essayer de remplacer tous les string par des shorstring, mais j'ai peur que ca ne suffise pas. En particulier je n'ai pas trouvé grand chose dans les docs sur la longueur des types real
    Merci pour votre aide et pour votre patience !
    Inutile de changer les types. Le mode Turbo Pascal s'en charge pour vous !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    program test_tp_mode;
    {$MODE TP}
     
    begin
      WriteLn(SizeOf(string)); // 256
      WriteLn(SizeOf(shortstring)); // 256
      ReadLn;
    end.
    Pas de quoi pour l'aide.

    Citation Envoyé par Demont Voir le message
    J'ai compilé sans problème votre compta.pas. Cependant à l'éxécution avec les 2 fichiers envoyés précédemment il se plante et je n'ai pas le temps de voir ce qu'il affiche.
    Je ne comprend pas pourquoi ca marche chez vous et pas chez moi
    Moi non plus je ne comprends pas. Le programme essaie-t-il de lire les fichiers dès qu'il s'exécute (je veux sans que l'utilisateur choisisse aucune action) ?

    Pourriez-vous m'indiquer une procédure que je pourrais essayer, une opération à effectuer, avec les résultats qu'on est supposé obtenir ? Parce que là j'ai essayé de faire des choses avec des données fantaisistes : je n'obtenais aucun résultat mais je ne peux pas en conclure grand chose. En tout cas le programme ne se plantait pas.

    Notez bien que j'ai placé le dossier percom dans le dossier où se trouve compta.exe. Nous sommes d'accord là-dessus ?
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  16. #16
    Futur Membre du Club
    Profil pro
    En reconversion
    Inscrit en
    Mars 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mars 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Oui, percom dans la meme directory que compta.exe.

    Dans la mesure ou vous avez le message d'incohérence, c'est bien que le fichier cmvt n'est pas lu correctement.
    Le programme commence par lire la config (nb de comptes par classe, dans cnfg.fic) puis il commence la lecture des enregistrements des opérations dans cmvt.fce, et la ca plante plus ou moins rapidement.
    J'ai regardé (en debug) ce qu'il lisait dans le 1er enregistrement: les 2 codes date sont justes, puis le montant (type real) est totalement déconnant (2.4 10^59 !), les codes des comptes debit et crédit sont ensuite farfelus aussi. Ce sont donc bien les real écrit par TP qui ne sont pas relus correctement par FreePascal.
    La doc de TP dit que les real sont sur 6 octets, et celle de FP dit qu'ils sont dépendants du processeur mais soit de 4 ou de 8 octets: effectivement il y a un pb.
    Comment faire ?

  17. #17
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 058
    Points : 15 339
    Points
    15 339
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Demont Voir le message
    La doc de TP dit que les real sont sur 6 octets, et celle de FP dit qu'ils sont dépendants du processeur mais soit de 4 ou de 8 octets: effectivement il y a un pb.
    Comment faire ?
    Ah, là vous avez fait avancer le schmilblick. Eh bien, je ne connais pas la réponse.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  18. #18
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 058
    Points : 15 339
    Points
    15 339
    Billets dans le blog
    9
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  19. #19
    Membre éclairé

    Homme Profil pro
    Rédacteur technique (retraité)
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique (retraité)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 807
    Points
    807
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    Ah, là vous avez fait avancer le schmilblick. Eh bien, je ne connais pas la réponse.
    Le type Real sur 6 octets est le type réel "Historique" de Turbo Pascal. J'ai en ma possession un vieux manuel Turbo Pascal des années 1980 (pour PC-DOS, MS-DOS, CP/M-80 et CP/M-86) qui ne connaît que ce seul type Real sur 6 octets.
    A cette époque, les machines ne disposaient généralement pas de processeur arithmétiques flottants et le type Real était entièrement supporté par logiciel.

    Plus tard, avec la généralisation des co-processeurs flottants, les types normalisés IEEE754 sur 4 et 8 octets ont remplacé cet ancien type sur 6 octets.

    Toutefois, pour la compatibilité ascendante, le type sur 6 octets a été maintenu sous le nom de Real48.

  20. #20
    Membre éclairé

    Homme Profil pro
    Rédacteur technique (retraité)
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique (retraité)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 807
    Points
    807
    Par défaut
    Citation Envoyé par DomDA91 Voir le message
    Toutefois, pour la compatibilité ascendante, le type sur 6 octets a été maintenu sous le nom de Real48.
    Après vérification, le type Real48 existe bien dans l'unité System mais déclaré comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    type real48 = array[0..5] of byte;
    Ce qui permet de stocker des réels 6 octets mais pas de faire des calculs avec.

    Par ailleurs, pour convertir un Real48 en Double, l'unité System déclare :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function Real2Double(r : real48) : double;
     operator := (b:real48) d:double;
    Par contre il ne semble pas exister de routine qui fasse l'inverse (Double vers Real48).

    La doc de la RTL (unité Math) indique que cela est prévu uniquement pour pouvoir relire d'anciens fichiers Turbo Pascal (cf. "exemple" dans la doc de la fonction Real2Double).

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Turbo Pascal] Turbo Pascal sous Windows XP
    Par MichelR dans le forum Turbo Pascal
    Réponses: 21
    Dernier message: 17/03/2011, 11h10
  2. gerer l'imprimante en turbo pascal pour windows
    Par caolis dans le forum Documents
    Réponses: 1
    Dernier message: 12/10/2006, 15h41
  3. [Turbo Pascal] Installation de Turbo Pascal sous Windows XP
    Par serve dans le forum Turbo Pascal
    Réponses: 18
    Dernier message: 31/12/2003, 09h24
  4. tpw turbo pascal for windows
    Par tripper.dim dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 30/11/2003, 00h06

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