|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : février 2008 Messages : 97 ![]() |
Bonjour,
J'ai un vieux programme TP7 qui se promène entre le mode texte et le mode graph et qui fonctionne bien actuellement seulement en utilisant DosBox 0.74 Mais qui fonctionne dans un seul sens avec Free Pascal sans DosBox : oui je peux entrer en mode graphique, mais quand je reviens en mode texte, tous les caractères sont illisibles J'ai bien écrit CloseGraph et RestoreCRTMode à la fin du programme Mais ça ne change rien. |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() Roland ChastainInscription : décembre 2011 Messages : 687 ![]() |
De mon côté (Windows 7 x32) le code suivant s'exécute correctement :
Code :
__________________
L'Art est long et le Temps est court. |
||
|
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() Inscription : février 2008 Messages : 97 ![]() |
Ton code fonctionne merveilleusement bien sur mon ordi.
Mais pratiquement inutilisable vu qu'en mode texte j'utilise des GotoXY pour placer le texte et beaucoup d'autres procédures et fonctions de l'unit CRT qui est incompatible avec l'unit WinCRT J'utilise souvent la procédure ClrScr pour nettoyer l'écran et ammener le curseur tout en haut à gauche A moins que l'unit WinCRT possède des fonctions et procédures équivalentes. En modifiant ton code, La phrase ne s'écrit pas complètement à la sortie du mode graphique Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Roland ChastainInscription : décembre 2011 Messages : 687 ![]() |
Je pense à une autre solution qui serait de remplacer l'unité Graph par l'unité WinGraph.
J'ai fait l'essai avec le code que tu as posté. Je n'ai changé que cette ligne : Et, surprise, ça fonctionne ! (Je joins un exécutable.) Je ne sais pas si cela marcherait avec ton programme mais ça vaut peut-être la peine d'essayer. Les deux unités ayant une interface presque identique, il n'y aurait peut-être que quelques modifications à faire. Et les possibilités de WinGraph sont bien supérieures !
__________________
L'Art est long et le Temps est court. |
|
|
10
|
|
|
#5 |
|
Membre du Club
![]() Inscription : février 2008 Messages : 97 ![]() |
Finalement, j'ai trouvé l'unit WinGraph sur le web.
Cà fonctionne parfaitement avec le petit programme. Mais cà bloque dans mon gros programme quand j'entre dans la fenêtre graphique. Je dois quitter par la fenêtre texte |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() ![]() Roland ChastainInscription : décembre 2011 Messages : 687 ![]() |
Le mieux, c'est peut-être de continuer à utiliser DosBox, non ?
S'il y a une application que tu utilises régulièrement, tu peux te servir d'un fichier de commande. Pour ma part j'en ai quelques-uns que j'ai placés directement dans mon menu Démarrer. Voici le contenu de Vikings.bat : Code :
__________________
L'Art est long et le Temps est court. |
||
|
|
00
|
|
|
#7 | |
|
Membre du Club
![]() Inscription : février 2008 Messages : 97 ![]() |
Citation:
Oui tout mes vieux programmes Borland aussi anciens de 1990 fonctionne parfaitement sous DosBox, mais pas en utilisant les 64 bit du I7 Même Basica d'IBM version 1983 fonctionne parfaitement sous DosBox Depuis que j'utilise Free Pascal 2.6, impossible de retourner en arrière. J'adore tout les nouveaux types de nombre (Int64, QWord, etc...) et la mémoire de 4G facilement utilisable pour mes Array non pointeur En Array par pointeur, je gagne 50% plus de vitesse mais en limitant la mémoire des Array utilisé à 1G En gros, tout mes programmes fonctionne 5 fois plus rapidement sur Free Pascal que sur BP7 En attendant de trouver la recette miracle pour marier le mode texte et le mode graphique en utilisant les pleines performances; je sépare mes programmes compilé soit 100% en mode texte ou 100% en mode graphique De plus, je ne suis plus esclave des BGI de Borland, tout programme compilé en mode Release, sont portable sur tout mes anciens ordis |
|
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : avril 2002 Messages : 2 275 ![]() |
Bonjour,
Il ne faut tout de même pas oublier qu'un programme quand il est compilé, avec un certain niveau de langage, n'a de chance de marcher qu'avec les autres composants du même niveau ou de la même époque... Autrement dit, un programme écrit et compilé avec Turbo Pascal en environnement DOS n'a plus beaucoup de chances de tourner correctement avec un environnement Windows 7 64 bits, surtout si ce programme fait des choses plus supportées (comme le graphisme en mode pur et dur). La compatibilité a ses limites. Le mieux c'est de passer aux interfaces fenêtrées, qui existent déjà depuis une bonne quinzaine d'années dans le monde Windows.
__________________
M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal |
|
|
00
|
|
|
#9 | |||
|
Membre du Club
![]() Inscription : février 2008 Messages : 97 ![]() |
Citation:
Reste que je suis enchanté de Free Pascal 2.6 que j'ai découvert il y a 3 semaines Je ne comprends pas pourquoi je n'avais pas regardé plus à fond FPC 2.4 il y a trois ans Maintenant je peu compiler des applications graphiques full HD 1920x1080 Truc presque impensable autrefois Certain que pour le moment, je n'ai pas trouvé la facon idéale de connecter entre les deux modes dans le même programme. Mais tout fonctionne parfairement en 64 bits séparément dans les deux modes Simplement ce petit test me convient amplement côté mémoire utilisable Code :
|
|||
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : février 2008 Messages : 97 ![]() |
Finalement, j'ai trouvé une béquille pour utiliser les commandes du clavier en mode graphique.
Je ne fais que mettre la fenêtre texte du programme par dessus la fenêtre graphique dans un coin. Et je peu presque tout faire Voici l'exécutable zippé d'un petit programme que j'ai cuisiné en fin de semaine. Il dit simplement combien de fois plus rapide qu'un IBM-PC 8088 que votre ordinateur exécute mon petit programme. C'est bien utile quand je veu savoir quel gain vitesse je peu obtenir avec un moderne I7 sous Windows 7 http://transgarp.dyndns.org/div/sig.zip |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com