Programación General > Pascal
Pequeño Ejemplo
Enko:
Es uno de los primero programas que hice en la unidad grafica de Turbo Pascal
--- Código: Text ---program demo;uses crt,graph,dos;const Xmax=640; Ymax=480; procedure inicializacion;var Gd, Gm: Integer;begin Gd := Detect; InitGraph(Gd, Gm, ''); if GraphResult <> grOk then Halt(1); randomize;end; procedure esperar;vartecleado:char;const esc=#27;begin repeat until keypressed; tecleado:=readkey; if tecleado = #0 then tecleado:=readkey; if tecleado = esc then halt(0) else cleardevice;end; procedure recuadro;var ViewPort : ViewPortType;begin cleardevice; setcolor(white); SetLineStyle(solidln, 0, NormWidth); GetViewSettings(ViewPort); with ViewPort do Rectangle(0, 0, x2-x1, y2-y1)end; procedure stars;begin repeat setbkcolor(0); putpixel(random(getmaxX-5) , random(getmaxY-5) , (white)) until keypressed; esperar;end; procedure lineas;begin repeat setbkcolor(0); setcolor(random(getmaxcolor)); line((getmaxX div 2) ,( getmaxY div 2) ,random(getmaxX-5) , random(getmaxY-5)); until keypressed; delay(1); esperar;end;procedure elipses;begin repeat setcolor(random(100)); ellipse(random(getmaxX-50),random(getmaxY-50),random(360),random(360),random(50),random(50)); until keypressed; delay(100); esperar;end;procedure tramado;var x,y:word;begin y:=1; x:=1; while y<480 do while x<640 do begin y:=y+20; x:=x+20; setcolor(lightblue); line(0,y,x,480); line(x,0,640,y); end; esperar; end;begin{cuerpo principal} inicializacion; recuadro; stars; recuadro; elipses; recuadro; lineas; tramado; readln; closegraph; end. espero que a alguien le sirva como ej.
La manera en que esta escrito es muy pobre ( eran mis comienzos no es para tanto che <_< ) Ahora mejore :P
Necesitaran la Graph.tpu
TempWin:
Gracias EugenioEnko. Es un ejemplo muy ilustrativo ;)
Sólo quería comentar una cosilla (para los que comienzan, como yo :D ):
En la parte del código donde se inicia el modo gráfico [ InitGraph(Gd, Gm, ''); ] hay que decir que entre las comillas debe ir el directorio en el que tenemos los archivos *.bgi. Por ejemplo, si nuestro directorio de Turbo Pascal es TP (en la raíz del disco duro) y dentro la carpeta que contiene los archivos que buscamos es BGI:
--- Código: Text --- InitGraph(Gd, Gm, 'C:\tp\bgi\');
Enko:
:P Temp Win
Si no pones el directorio de estos archivos el Tp toma en cuenta que esta en el DIRECTORIO ACTUAL.
Si lo vas a ejecutar en otra maquina simplemente coloca en el mismo directorio que el programa el fichero que necesites .
En mi caso es EgaVga.bgi
Si pones el directorio ( ej C:\TP\Bgi ) y lo ejecutas en otra maquina en este directorio tendra que estar este archivo sino el modo grafico no se inicia.
:rolleyes: Segun mi experiencia te recomiendo que no pongas nada y ubiques en el directorio actual( donde esta El programa a ejecutar. si lo ejecutas desde el Tp
colocalo en el directorio del mismo)
Enko:
:huh: ....me olvidaba , lo que tenes que cambiar de directorio son los ficheros *.bgi para iniciar modo grafico y *.chr para las distintas fuentes por supuesto solo los que utilices.
En mi caso EgaVga.bgi y ningun otro mas .( lo ubique en el directorio del Turbo.exe). asi puedo hacer :
InitGraph(Gd, Gm, '');
y si lo ejecuto en otra maquina , yo llevo el programa con la EgaVga.bgi en el mismo directorio.
:comp: A programar ?
TempWin:
Disculpen mi ignorancia en el post... :unsure:
Ahora ya sé un poquito más :)
Navegación
[#] Página Siguiente
Ir a la versión completa