|
¿Como Iniciar El Modo Gráfico?
Es mucho mas simple de lo que parece, inicialmente debes invocar en la linea USES, la unidad GRAPH
Ejemplo:
Program mi_primer_grafico;
Uses crt, graph;
Luego debes declarar dos variables de tipo entero, el nombre de estas no importa algunos las llaman MANEJADOR_GRAFICO, MANEJADOR_DE_COLOR, en nuestro caso las voy a llamar GD, GM (Contracciones de Graphic detect y graphic mode)
Ejemplo:
Program mi_primer_grafico;
Uses crt, graph;
Var
Gd,gm : integer;
Una vez declaradas, en el cuerpo del programa principal o en un procedimiento se hace lo siguiente:
Gd:=DETECT;
La función DETECT autodetecta el tipo de tarjeta o controlador grafico que sirve para nuestro monitor.
Volviendo a nuestro ejemplo queda:
Program mi_primer_grafico;
Uses crt, graph;
Var
Gd,gm : integer;
Begin {PRINCIPAL}
Gd:=DETECT;
Ahora se procede a inicializar el modo gráfico, con la función
INITGRAPH(GD,GM,Ruta donde estan los archivos con extensión *.CHR, *.BGI);
Cabe anotar que si se usa Gd:=DETECT, la variable GM se inicializa automáticamente.
Turbo Pascal soporta gráficos para varios tipos de monitores con siete interfaces gráficas (*.BGI), estas se encuentran en la carpeta BGI de Turbo Pascal y son:
ATT.BGI
CGA.BGI
EGAVGA.BGI
HERC.BGI
IBM8514.BGI
PC3270.BGI
VESA16.BGI
Aunque en internet se puede encontrar la tarjeta SVGA256.BGI.
Los tipos de letras que incluye son:
GOTH.CHR
LITT.CHR
SANS.CHR
TRIP.CHR
TSCR.CHR
BOLD.CHR
EURO.CHR
LCOM.CHR
SCRI.CHR
SIMP.CHR
Si deseas mas infomación sobre las tarjetas de adaptador de video, los modos, sus dimensiones y colores que utiliza cada una presiona aquí.
Program mi_primer_grafico;
Uses crt, graph;
Var
Gd,gm : integer;
Begin {PRINCIPAL}
Gd:=DETECT;
Initgraph(GD,GM,C:\LENGUAJE\TURBO7\BGI);
Para evitar que el programa se bloquee si no encuentra los archivos con extensión *.CHR y *.BGI, se hace lo siguiente:
If Graphresult<>grok then halt(1);
Que significa "Si el resultado de la inicialización de graficas es diferente de GROK (Graphic Okey, Esto indica que no encontro en la ruta especificada los archivos con extensión *.BGI y *.CHR ) entonces PARE y Termine"
Program mi_primer_grafico;
Uses crt, graph;
Var
Gd,gm : integer;
Begin {PRINCIPAL}
Gd:=DETECT;
Initgraph(GD,GM,C:\LENGUAJE\TURBO7\BGI);
If Graphresult<>grok then
Begin
Writeln(No encuentro los archivos con extensión *.BGI y *.CHR);
Readln;{Hace una espera}
halt(1);{Termina}
End;{Final del If}
Bueno, si ya se invoco la unidad GRAPH.TPU, se encontro los archivos y todo lo demás, ya esta listo para trabajar en modo gráfico, ahora en nuestro ejemplo completemoslo para que pinte un circulo rojo, un rectangulo verde, una linea amarilla y un punto azul.
Observa atentamente la última instrucción del programa
Closegraph; Esta es obligatoria colocarla para cerrar el modo gráfico.
Program mi_primer_grafico;
Uses crt, graph;
Var
Gd,gm : integer;
Begin {Inicio del programa principal}
Gd:=DETECT; {Se autodetecta el tipo de tarjeta}
Initgraph(GD,GM,C:\LENGUAJE\TURBO7\BGI);
If Graphresult<>grok then
Begin
Writeln(No encuentro los archivos con extensión *.BGI y *.CHR);
Readln;{Hace una espera}
halt(1);{Termina}
End;{Final del if}
Setcolor(RED);{Fija el color en ROJO}
Circle(100,200,10);{Dibuja un círculo en la columna 100, fila 200, de radio 10}
Setcolor(GREEN);{Fija el color a VERDE}
Rectangle(10,10,200,300);{Dibuja un rectángulo desde la columna 10, fila 10, hasta la columna 200, fila 300}
Setcolor(YELLOW); {Fija el color a AMARILLO}
Line(0,0,GETMAXX,GETMAXY);{Pinta una linea desde la columna 0, fila 0, hasta el valor máximo que tengan las columnas (detectado por la función GETMAXX), y valor máximo que tengan las filas (detectado por la función GETMAXY)}
Putpixel(150,130,BLUE); {Pinta un puntito en la columna 150, fila 130 de color azul}
Readkey;
Closegraph;{Cierra el modo gráfico}
End.{Final del programa}
![]()
Regresar