Jump to content

Recommended Posts

Posted (edited)

Boas

Preciso de ajuda tenho o Pascal IDE for Windows for i386 instalado.

Saquei ja varios programas que deveriam funcionar com a unit GRAPH.

Tudo funciona Menos os comandos ReadKey e Keypressed.

Nao consigo de maneira nenhuma por a funcionar.

Utilizo as Units CRT e Graph como ja me aconselharam, mas continua a nao funcionar.

Como resolvo isto

Ja pesquisei centenas de sites sobre pascal e nao encontro a soluçºão

Ajudem por favor

Obrigado

Program Change_To_Graphics;
Uses crt, graph; {Makes use of the graphics unit Graph.tpu}
Var
    gd, gm : integer;
Procedure DoSomething;
    Begin
      Repeat
        PutPixel(Random(GetMaxX),Random(GetMaxY), Random(GetMaxColor));
      Until Keypressed;
    End;
Begin
    gd:=9; {VGA} gm:=2; {Mode 640x480 using 16 colors}
    initgraph(gd,gm,'EGAVGA.bgi'); {initializes to graphics mode}
    {Do something} DoSomething;
    CloseGraph; {Finishes Graphics Session}
End.

Este exemplo tem que funcionar

mas quando carrego numa tecla nao faz nada

e deveria fazer.

Nao sei o q se passa

Edited by thoga31
GeSHi
Posted (edited)

Boas,

O problema está na tua linha de inicialização gráfica: initgraph(gd,gm,'EGAVGA.bgi'); {initializes to graphics mode}

Onde tens a string 'EGAVGA.bgi' deves colocar o caminho para o local ode estão os BGI's. Se estiver na mesma pasta coloca '' (Não são aspas, é pelica-pelica). No meu caso por exemplo tenho funciona assim 'c:\bp\bgi'

Vais ver que o programa funciona, pelo menos comigo funcionou.

Outra coisa, quando quiseres colocar código usa as tags, ou a ferramenta código.

Edited by passarito
Posted

Boas

Obrigado por responderes

Mas olha o seguinte 'c:\bp\bgi' esta pasta nao encontro, onde encontro os bgi

Esta versao nao tem nao encontro nenhuma pasta bgi no Pascal IDE for Windows for i386 instalado

Quanto as pelicas tenho assim foi ao colar é que ficou aspas.

Se souberes ajuda-me

Obrigado

A outra coisa

O programa funciona. o que nao funciona e o keypress e readkey

Obrigado

Posted

A minha linha era só orientativa, é onde eu tenho instalado o meu Pascal.

A questão aqui não é bem essa, é que tu estás a usar, salvo erro, o FPC (Free Pascal), não é? Bom, se sim, acho que não deves colocara nada, apenas pelica-pelica, assim:

initgraph(gd,gm,'');

Normalmente não uso esse Pascal, mas acho que assim deve resultar.

Depois diz qualquer coisa.

Posted (edited)

Eu uso o Borland Pascal 7, mas não to posso dar, é da empresa.

No entanto, mesmo que arranjes isso por aí pela Net, aqui há também quem ajude com o Free Pascal.

Edited by passarito
Posted

Notas sobre este tópico:

1) Não se pode perguntar "Que Pascal usas?" - Pascal só há um (vou ignorar a definição de "dialectos") - deve-se perguntar "Que compilador de Pascal usas?".

2) O ReadKey e o KeyPressed só costumam funcionar na consola e não na janela gráfica - necessitamos de outros métodos mais avançados para poder ter interacção directa com esta janela.

3) Para cada compilador, o terceiro parâmetro do método InitGraph muda.

@Manuel Agostinho Pinheiro, como estão as coisas com o programa, após a ajuda do @passarito? 🙂

Knowledge is free!

Posted

1) Não se pode perguntar "Que Pascal usas?" - Pascal só há um (vou ignorar a definição de "dialectos") - deve-se perguntar "Que compilador de Pascal usas?".

Essa parte técnica passa-me sempre ao lado, mas é bom ter alguam sempre atentento a esses promenores. 👍

Posted

Uma vez que já arranjaste o compilador da Borland, e se foi o de 64bits deveria correr o Windows 7, mas isso é algo que irei experimentar logo à noite....

Se não correr tens outra hipótese que te resolve os casos daqui para a frente. instala o DOSBox. http://www.dosbox.com/

Faz-te a emulação para os "bits antigos" e o Borland Pascal corre às mil maravilhas. Isso já eu experimentei!

Este DOSBox, é simples, não pesa no computador enquanto não estiver a correr e não ocupa espaço quase nenhum. É só vantagens 😉

Posted (edited)

Portanto quer dizer que a problemas com o Windows 7? Certo? Ou nao?

Não há problemas com o Windows 7. A única questão é que os comandos da unit CRT não funcionam na janela gráfica - só funcionam na consola. Ou seja, para que eles funcionem, terias ter ter a consola focada, e não a janela gráfica.

No DOSbox funciona já que, antigamente, o DOS não tinha janelas: assim, quando se "abria" a janela gráfica, a consola "desaparecia", pelo que todos os comandos eram executados a partir dessa área gráfica.

O problema é actualmente ser aberta uma janela à parte, e só numa delas - a consola - o programa "detectar" as teclas premidas pelo utilizador.

O meu sistema windows é 32 bits. Se arranjar o Borland 64 bits tambem funciona?

Não. Os programas 64 bits não correm num sistema 32 bits. São arquitecturas completamente distintas.

Por isso é que existem, nos programas disponíveis para download na net, as opções "32 bits", ou "x86", e "64 bits", ou "x64".

Edited by thoga31

Knowledge is free!

Posted

É assim, eu não sou o mais entendido nesse assunto... arranho umas coisas....

A meu ver, se o teu Windows é 32bits nem deverias necessitar do DOSBox.

Ja agora so uma coisa como vejo se é de 32 bit ou 64 o Borland ?

Não sei, só sei que arranjei na net um que no site dizia que era 64bits, mas do dizer ao ser vai muita coisa. É por isso é que o vou experimentar logo à noite.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.