Este sitio web usa cookies de terceros para analizar el tráfico y personalizar los anuncios. Si no está de acuerdo, abandone el sitio y no siga navegando por él. ×


14.11. Incluir los BGI en el EXE.

Un último comentario: si alguien usa Turbo Pascal, pero no le gusta eso de que estén los ficheros con extensión .BGI por ahí siempre y depender de ellos, puede incluirlos en el fichero EXE.  Demos un repasito rápido a la forma de hacerlo:

Primero debemos convertir el BGI en OBJ, que es algo que ya sí se podrá incluir dentro del EXE. Para conseguirlo, tecleamos:

binobj egavga.bgi egavga EgaVgaDriver

(BINOBJ es una utilidad que se incluye con las últimas versiones de Turbo Pascal).  El formato en general es

BINOBJ  NombreBgi  NombreObj  NombrePúblico

Y para incluir este OBJ en el EXE, un programa sencillo sería:

 {--------------------------}
 {  Ejemplo en Pascal:      }
 {                          }
 {    Incluye BGI en el EXE }
 {    (antes se debe usar   }
 {    Binobj)               }
 {    BGIEXE.PAS            }
 {                          }
 {  Este fuente procede de  }
 {  CUPAS, curso de Pascal  }
 {  por Nacho Cabanes       }
 {                          }
 {  Comprobado con:         }
 {    - Turbo Pascal 7.0    }
 {--------------------------}

 program BGIEXE;  { Introducir los BGI en el .EXE }

 uses Graph;       { Las funciones gráficas, claro }

 var
   GraphDriver, GraphMode, Error : integer;

 procedure EgaVgaDriver; external;   {  El driver, en el EXE }
 {$L EGAVGA.OBJ }
 begin
                                         { Compruebo que el BGI está bien }
   if RegisterBGIdriver(@EgaVgaDriver) < 0 then
     begin
     writeln('No se pudo inicializar el modo VGA');
     halt(1);
     end;
   GraphDriver := VGA;                     { Paso a VGA }
   GraphMode := VGAHi;                     { Modo 640x480x16 }
   InitGraph(GraphDriver, GraphMode, '');
   if GraphResult <> grOk then             { Si hay error, paro }
   begin
     writeln('No se pudo pasar a modo gr fico');
     halt(1);
   end;
   Line(0, 0, 639, 479);
   Readln;
   CloseGraph;
 end. 

Y si quereis ver cómo hacer gráficos desde Turbo Pascal sin necesidad de usar los BGI, mirad la "Ampliación 2" del curso, orientada principalmente al modo MCGA/VGA 320x200, 256 colores.

Por cierto, que también tenemos la posibilidad de usar otros BGI distintos de los que proporciona Borland.  Por ejemplo, es fácil encontrar en alguna BBS o en CdRoms de shareware algún BGI para modos de 256 colores, o de mayor resolución en una SuperVGA.  Si os llega a interesar, mirad la ayuda sobre la orden "InstallUserDriver".