Programación General > Pascal

 Pequeño Ejemplo

(1/2) > >>

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:&#092;tp&#092;bgi&#092;');  

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa