| Apartado anterior | Apartado siguiente |
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".
| Apartado anterior | Apartado siguiente |