IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

La Commande Numérique sur la Production Bois

Date de publication : 06/03/2010. Date de mise à jour : 03/07/2011.


   

 


Open_gph.PAS


Open_gph.PAS


{==============  FICHIER DE EDNUM  =====================}
{ Unite Graphe Trace.pas  Usinage machines a c.n.       }
{ programmation Pascal                                  }
{ Copyright (S) 1997-2011                               }
{ programmeur du programme A.Ara                        }
{ 64150 Mourenx ville France.                           }
{ Licence d'utilisation accord dans un but démonstratif }
{ Unit open_gph.pas: graphiques EDnum c.n du bois       }
{=======================================================}

{$O+,F+}

Unit OPEN_GPH;

Interface

PROCEDURE Initialise_Graphique;

Implementation

Uses crt,graph,var_num,drives;

Type ResolutionPreference = (Lower, Higher);

Procedure Abort(Msg : string);
var Ch:Char;
begin
   Writeln(Msg, ': ', GraphErrorMsg(GraphResult));
   Writeln('Erreur - d''initialisation graphiques EGA/VGA.');
   Writeln('pour d''éventuelles modifications consulter:');
   Writeln('A.ARA programming');
   Writeln(' ');
   Writeln('64150 Mourenx ville - France.');
   Ch:=Readkey;
   Halt(1);
end;


PROCEDURE TestGraphError(GraphErr: integer);
var ch:Char;
begin
  if GraphErr <> grOk Then
    begin
       Writeln('Erreur graphique : ', GraphErrorMsg(GraphErr));
       Writeln('Erreur - d''initialisation graphiques EGA/VGA.');
       Writeln('pour d''éventuelles modifications consulter:');
       Writeln('A.ARA programming');
       Writeln(' ');
       Writeln('64150 Mourenx ville - France.');
       Ch := ReadKey;
       Halt(1);
    end;
end;


PROCEDURE Initialise_Graphique;
var
    Err, I        : integer;
    StartX, StartY: integer;
    Resolution	  : ResolutionPreference;
    s             : STRING;
  ch:Char;

begin
  
   {**Register all the drivers**}

   if RegisterBGIdriver(@EGAVGADrive) < 0 then Abort('EGA/VGA');

   Resolution := Lower;
   Resolution := Higher;
   Ch := ' ';
   GraphDriver := Detect;
   DetectGraph(GraphDriver, GraphMode);
   TestGraphError(GraphResult);
  
   CASE GraphDriver OF
{1}    CGA  : begin
                MaxDelta:=7;
                GraphDriver := CGA;
                GraphMode   := CGAC1;
              end;

{2}    MCGA : begin
                MaxDelta:=7;
                CASE GraphMode of
                  MCGAMed, MCGAHi: GraphMode:= MCGAC1;
                end;
              end;

{3}    EGA  : begin
                MaxDelta := 16;
                if Resolution = Lower Then GraphMode := EGALo
                else
                  GraphMode := EGAHi;
              end;

{4}    EGA64: begin
                MaxDelta := 16;
                if Resolution = Lower Then GraphMode := EGA64Lo
                else
                 GraphMode := EGA64Hi;
              end;

{7}     HercMono: MaxDelta := 16;
{5}     EGAMono	: MaxDelta := 16;

{10}     PC3270	: begin
                    MaxDelta := 7;
                    GraphDriver := CGA;
                    GraphMode := CGAC1;
                  end;

{8}     ATT400	: CASE GraphMode OF
                     ATT400C1,
                     ATT400C2,
                     ATT400Med,
                     ATT400Hi  : begin
                                    MaxDelta  := 7;
                                    GraphMode := ATT400C1;
                                 end;
                  end;{*case*}

{9}     VGA : begin
                 MaxDelta := 16;
              end;
   end;{**case**}
	  
   if RegisterBGIdriver(@EGAVGADrive) < 0 then Abort('EGA/VGA');
   if RegisterBGIfont(@LittStyle) < 0 then Abort('Small');

   InitGraph(GraphDriver, GraphMode, '');
   TestGraphError(GraphResult);

   SetTextStyle(DefaultFont, HorizDir, 1);

   CrtYmax:=GetMaxY div 16;
   MAX_X := Graph.GetMaxX;
   MaX_Y := Graph.GetMaxY;

   for i:=1 To 81 DO CrtX[i]:=i*8;
   CrtX[0]:=3;
   for i:=1 TO 31 DO CrtY[i]:=i*16;
   CrtY[0]:=3;

end; {**De Procedure Init**}

end.

   

 

 

Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2011 A. Ara. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.