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

Autres IDE Pascal Discussion :

Lancer une application en plein écran


Sujet :

Autres IDE Pascal

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Lancer une application en plein écran
    Bonjour tous le monde,

    Je suis à l'IUT info de strasbourg et je dois faire un petit prog.

    Une petite question pour un projet:

    Voilà j'ai fait tout un petit jeu (othello) sous pascal que j'éxecute avec cmd.exe (il me cré un *.exe que je lance (il lance la fenetre normal de cmd)) et je voudrais savoir si je pouvais lancer l'application directement en plein écran ! car là je suis obligé d'appuyer sur ALT+ENTREE pour le faire !!
    je travail sous emacs et grâce au compilateur GPC
    j'ai des librairies telles que CRT,GPC,DOS .. mais impossible de trouver une fonction qui me lance la fenêtre en plein écran.
    sa sera sympa si quelqu'un pouvait me rendre ce petit service.
    Merci a tous
    + +

    PS : j'ai trouver des fonctions (ou procédures) telles que SetWindowSize avec 4 parametre de type INTEGER (entier) mais ceux ci ne marchent pas !!!

  2. #2
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    Salut,

    Ce problème a été abordé déjà mais j'ignore s'il l'auteur dudit sujet a finalement expliqué comment il avait procéder. Sinon, en modifiant les paramètres du fichier pif tu pourras mettre ton programme en plein écran.

    Une autre chose qui pourra peut être t'aider est de forcer une résolution en utiisat des routines assembleur (le mode 13h par exemple, et pour cela tu peux essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    mov ax,13
    int 10h
    Dans mes programmes, je faisais comme cela et je n'avais pas de problème de plein écran)

    A+

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Je vais essayer desuite je te tiens au courant !! c'est gentil !
    + +

  4. #4
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Je viens de tester ! j'ai mis les commandes dans mon programme principal tout au debut et il ne reconnait absolulment rien !
    pourtant j'import GPC et CRT !! donc soit j'importe pas la bonne librairie et je ne sais pas laquelle prendre soit je compile mal !
    ligne de commande de compile : gpc --automake -o Othello.exe projet.p
    à la toute première compile j'ai fait
    gpc -I\usr\include\ncurses --automake -o Abalone.exe projet.p

    donc voilà si je pouvais avoir plus de précision !
    c'est gentil merci

  5. #5
    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
    Eh oui, pas de pot, GPC attend de l'assembleur AT&T...

    Essaie d'insérer ça à la place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    asm
      movw $13, %ax
      int $10
    end;
    Sans garantie

    A+

  6. #6
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    c'est bizarre il me dit error before movw ! de plus je l'ai inséré a plusieur endroit juste après le begin de mon prog principale , juste après les import GPC & compagnie .... et tousjour la même érreure !!!
    il ne reconnait pas le "asm" !!!
    J'esper que qqun aura la réponse
    !!!
    + +
    Encore merci a toi
    + +

  7. #7
    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
    Bon... L'assembleur et DJGPP, tout un programme

    Essaie nous ça pour voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    asm('movw $13, %ax');
    asm('int $10');
    C'est la fête...

    A+

  8. #8
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bon on commence à avancer !! lol
    Il compile sans problème MAIS lors de l'éxécution =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    4 [main] Othello 772 Handle exception : exception : STATUS_ACCES_VIOLATION
     
    651 [main] Othello 772 open_stackdumpfile : dumping stack trace to Othello.exe.stackdump
    alors petite précision le premier chiffre (4) ne change jamais parcontre les trois autre varie !! sa peut allé de 100 a 1800 !!
    aucune signification pour moi !!!
    voilà si sa peut vous mettre sur la voie

  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
    Oh ? Une p'tite violation d'accès... Ca faisait longtemps. Chez moi, j'ai pas de violation. D'un autre côté, je ne change même pas de mode graphique. C'est vraiment un compilo que j'adore GPC. Si, si, vraiment.

    Bon, tu peux toujours tenter de sauver les registres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    asm('pusha');
    asm('movw $13, %ax');
    asm('int $10');
    asm('movw $03, %ax');
    asm('int $10');
    asm('popa');
    Et soyons fous.

    A+

  10. #10
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    sa ne change absolument rien !!


    tien si sa peut t'aider j'ai récupérer le fichier stackdump qu'il crée regarde :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Exception: STATUS_ACCESS_VIOLATION at eip=00416BDD
    eax=0043000D ebx=00000004 ecx=00000000 edx=000084D1 esi=00000000 edi=00000000
    ebp=0022FD78 esp=0022F080 program=C:\Documents and Settings\Joleboss\Bureau\Final\Othello.exe
    cs=001B ds=0023 es=0023 fs=0038 gs=0000 ss=0023
    Stack trace:
    Frame     Function  Args
    0022FD78  00416BDD  (00000001, 100516E0, 10050330, 00000000)
    0022FDA0  00417AAB  (00000001, 100516E0, 10050330, 71450000)
    0022FF40  61005018  (610CFEE0, FFFFFFFE, 00000020, 610CFE04)
    0022FF90  610052ED  (00000000, 00000000, 00000000, 80576C70)
    0022FFB0  0043F1D1  (00417A65, 037F0009, 0022FFF0, 77E5EB69)
    0022FFC0  0040103C  (00000000, 00000001, 7FFDF000, F1F2DCF4)
    0022FFF0  77E5EB69  (00401000, 00000000, 78746341, 00000020)
    End of stack trace
    voilà si sa peut t'aider
    thx
    + +

  11. #11
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 945
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 945
    Points : 59 442
    Points
    59 442
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Plutôt que d'inclure de l'ASM, n'existe-t-il pas un type similaire au type Registers de Turbo Pascal ainsi qu'une instruction Intr ?

    En TP, on pourrait écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Var Registres : Registers;
     
    Registres.AX:=$13;
    Intr($10,Registres);

  12. #12
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    j'ai essayer mais tentative échoué !! je sais que c t pour TP mais on ne sait jamais !! lol
    merci encore a tous !
    ps: bien entendu je reste tjrs tout ouïe !! lol j'adore ce mot !!!
    + +

  13. #13
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    ptete qu'on peut utiliser la procedure window(x1,y1,x2,y2); de l'unité crt nan ?

    enfin si celui ci marche... :S

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    si tu es sous gnu_pascal (d'apres ce que j'ai compris) ben quand tu définit ta fenetre graphique, faudrai la definir suivant la taille de ton écran
    si t'a un écran 800x600 par exemple, ben tu devra mettre (je te met juste le code pour l'affichage de l'écran):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    program affiche;
    uses grx;
    var fenetre,touche:integer;
    begin
    fenetre:=grsetmode(24,800,600,8,0,0);
    touche:=grkeyread;
    end.
    ainsi, le grx c'est la bibliotheque graphique, dans fenetre, le numéro 24 c'est le gr_width_height_bpp_graphics, le 800 et 600 ben c'est la taille de ta fenêtre, le 8 c'est le nombre de bits (c'est pour les couleurs) et le 0 et 0 ben ce n'est gérer que sous dos, c'est l'emplacement de ta fenetre graphique (quand tu es sous windows, ca le gère automatiquement), et finalement le touche:=grkeyread c'est pour que la fenetre ne se ferme que lorsqu'une touche est pressée (c'est l'équivalent du readln , mais le grkeyread c'est pour les fenetres graphiques).

Discussions similaires

  1. [PPT-2010] Exécuter une application en pleine écran sur un moniteur secondaire
    Par F@hrenheit dans le forum Powerpoint
    Réponses: 3
    Dernier message: 02/07/2013, 00h59
  2. Lancer une application lors de l'écran de login
    Par fabou3377 dans le forum Mobiles
    Réponses: 0
    Dernier message: 20/11/2007, 06h20
  3. Une application en plein écran
    Par Ric21 dans le forum Access
    Réponses: 2
    Dernier message: 13/02/2007, 18h35
  4. lancer une application au démarrage de WinXP
    Par Sph@x dans le forum Windows
    Réponses: 6
    Dernier message: 07/04/2004, 18h05
  5. Réponses: 2
    Dernier message: 05/12/2003, 11h37

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