Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pascal :PPPPPP
Seth
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


Czy moze ktos bawil sie w Pascalu w tryb SVGA256 ?
Nasz zacofany program uczelniany programowania w Pasacalu zmusil mnie do napisania programu z wykorzystaniem tylko graph tongue.gif i teraz mam pewien problem. Otoz inicjujac ten tryb jeszcze wczoraj wszystko dzialalo, a dzisiaj juz nie - mimo, ze nic nie zmienialem laugh.gif

Czesc kodu odpowiedzialna za inicjacje grafiki to:
Kod
PROGRAM GrDemo;

USES

  Crt,

  Graph;



VAR

  GraphDriver : integer; { Sterownik graficzny }

  GraphMode   : integer; { Tryb graficzny }

  Page: byte; { Numer strony graficznej }



{ Detekcja sterownika VGA256 }

FUNCTION DetectVGA256 : integer;

VAR

  DetectedDriver : integer;

  SuggestedMode  : integer;



BEGIN

  DetectGraph(DetectedDriver, SuggestedMode);



  IF (DetectedDriver = VGA) OR (DetectedDriver = MCGA) THEN

  BEGIN

    DetectVGA256 := 1; {640x480}

  END

  ELSE

  BEGIN

    DetectVGA256 := grError;

  END;

END;



{ Inicjajca trybu graficznego

  TODO: kontorla bledow }

PROCEDURE  Initialize;

VAR

  PathToDriver   : string;



BEGIN

  DirectVideo := False;

  PathToDriver := 'e:tpsvga';   { Sciezka do driverow graficznych }

  GraphDriver := InstallUserDriver('Svga256',@DetectVGA256);

  InitGraph(GraphDriver, GraphMode, PathToDriver);

  IF GraphResult <> grOK THEN

  BEGIN

    writeln('Error');

  END;

END;



{ Opoznienie }

PROCEDURE Pause;

BEGIN

  delay(100000);

  delay(100000);

  delay(100000);

  delay(100000);

END;



{ Zapobiega migotaniu obrazu }

PROCEDURE WaitRetrace; ASSEMBLER;

ASM

  mov dx,3DAh

  @@loop1: in al,dx; and  al,8; jnz @@loop1;

  @@loop2: in al,dx; and  al,8; jz @@loop2

END;



{ Przeskakiwanie po stronach }

PROCEDURE PageFlipping;

BEGIN

  IF Page = 1 THEN

  BEGIN

    SetVisualPage(0);

    SetActivePage(1);

    Page := 0;

  END

  ELSE

  BEGIN

    SetVisualPage(1);

    SetActivePage(0);

    Page := 1;

  END;



  ClearDevice;

  WaitRetrace;

  Pause;

END;



{ Glowna czesc programu }

BEGIN

  Initialize;



  outtextxy(10,10,'sdfsdf');



  repeat

  until keypressed;



  CloseGraph;

end.


Czy ktos moze mi powiedziec co do cholery jest nie tak !?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 11:47