jueves, 7 de abril de 2011

historia de pascal (programa)

PASCAL
Blaise Pascal (Clermont-Ferrand, Auvernia, Francia, 19 de junio de 1623 - París, 19 de agosto de 1662) fue un matemático, físico, filósofo y teólogo francés, considerado el padre de las computadoras junto con Charles Babbage. Fue un niño prodigio, educado por su padre, un juez local.
Sus primeros trabajos abarcan las ciencias naturales y aplicadas, donde realizó importantes contribuciones para la invención y construcción de calculadorasmecánicas, estudios de la teoría matemática de probabilidad, investigaciones sobre los fluidos y la aclaración de conceptos tales como la presión y el vacío, generalizando la obra de Evangelista Torricelli. También escribió en defensa del método científico.
Pascal fue un matemático de primer orden. Ayudó a crear dos grandes áreas de investigación, escribió importantes tratados sobre geometría proyectiva a los dieciséis años, y más tarde cruzó correspondencia con Pierre de Fermat sobre teoría de la probabilidad, influenciando fuertemente el desarrollo de las modernas ciencias económicas y sociales. Siguiendo con el trabajo de Galileo y de Torricelli, en 1646 refutó las teorías aristotélicas que insistían en que la naturaleza aborrece el vacío, y sus resultados causaron grandes discusiones antes de ser generalmente aceptados.
En 1646 su familia se convirtió al jansenismo, y su padre murió en 1651. Sin embargo, tras una profunda experiencia religiosa en el año 1654, Pascal sufrió una "segunda conversión". Abandonó las matemáticas y la física para dedicarse a la filosofía y a la teología, publicando en este periodo sus dos obras más conocidas: Las Lettres provinciales (Cartas provinciales) y Pensées (Pensamientos). Ese año también escribió un importante tratado sobre el triángulo aritmético. Entre 1658 y 1659 escribió sobre la cicloide y su uso en el cálculo del volumen de los sólidos.
Pascal tuvo una salud muy endeble a lo largo de toda su vida, y su muerte acaeció dos meses después de haber cumplido 39 años.






Historia de programa pascal
El lenguaje de programación Pascal apareció por primera vez en 1971, de la mano de Niklaus Wirth.
Wirh inventó el lenguaje como una forma de mejorar el por aquel entonces arcaico Algol. No es el primer lenguaje que Wirth diseña, posteriormente inventó el Modula-2 y el Oberon. Sin embargo, paradójicamente, esos dos lenguajes han sido ampliamente superados por el Extended Pascal y el Object Pascal. De todos esos lenguajes, Pascal es el que más éxito ha tenido.
Aunque nace a principios de los 70, Pascal cobra auténtica vida a partir de principios/mediados de los 80, popularizado por el fabuloso Turbo Pascal de MS-DOS para PC, y sobre todo el Apple Pascal. Pascal ha sido tan popular hasta mediados de los 90, que una gran parte (la mayor parte) de las aplicaciones desarrolladas para Mac estaban realizadas en Pascal, así como una enorme parte también de los programas de MS-DOS.
Todavía hoy, Pascal se enseña en las universidades como primer lenguaje, pues se trata de un lenguaje muy legible.
Fue Borland la que, hasta el Turbo Pascal 7, se encargó de la mayor parte de la evolución de este lenguaje. A mediados de los 90, con el boom de Windows y el renacimiento de los sistemas Unix (entre ellos Linux) como ordenadores servidores primero y luego como estaciones de trabajo, motivó que Pascal pasara a un segundo plano en sustitución de C.
En ese momento, prácticamente solo Delphi (Object Pascal para Windows) consiguió mantenerse en la brecha, pero conformándose con una pequeña parte del mercado solamente.
Casi todo el mundo intentó pasarse a C++. Fíjate que decimos intentó. C++ no consiguió calar del todo por su extrema complejidad. Su sistema de objetos, los macros, los crípticos nombres de funciones, los namespaces tan difíciles de manejar, los templates, la STL y otra serie de cosas, hicieron que rápidamente mucha gente pasara de querer usar esa herramienta que todo el mundo proclamaba que era tan potente, a buscar alternativas que fueran más simples y prácticas. Sun, la compañía del Java, se gasto una millonada en promocionar su lenguaje, y tuvo un gran éxito, sin duda debido no solo al dinero en publicidad, sino a la gente que escapaba escaldada del C++. En realidad, Java no es un lenguaje fácil de aprender (obliga a pensar en objetos desde el principio, algo que los novatos no llevan bien), pero comparado con C++, se podía considerar como algo sencillo.
Borland, una compañía con no tanto dinero como Sun, no pudo competir con Pascal, y se tuvo que conformar sacando su propia máquina virtual de Java. Pero Delphi no ha dejado nunca de existir. Aun hoy sigue sacando versiones Delphi, con gran éxito, aunque no consigue subir significativamente su porcentaje de participación en el mercado.
El paso de Turbo Pascal a Delphi también trajo como consecuencias que apareciera Kylix, que no es más que un Delphi multiplataforma. No caló lo suficiente, debido a la licencia cerrada, y a que imponía que el programa compilado fuera GPL.
Posteriormente Microsoft compró la mayor parte de Borland. Con ello se abandonó Kylix, Linux, y se hizo a Borland 100% Windows. Esta estrategia prácticamente ha arruinado el avance de Pascal frente a otros lenguajes, en el entorno corporativo.
En el momento en que Borland pasó de Turbo Pascal a Delphi, apareció Free Pascal. Free Pascal es un intento de la comunidad de código libre de hacer un compilador compatible con Turbo Pascal para todas las plataformas más famosas (incluido Linux, OS X y Windows). Desde la versión 2.0, Free Pascal es además compatible con Delphi.
Free Pascal es, hoy en día, el sistema preferido para programar en Pascal multiplataforma. Su IDE principal, el Lazarus, un clon del Delphi, corre tanto en Windows como en OS X como en Linux.
Para la realización de este tutorial, recomendamos usar Lazarus. Es perfectamente posible usar Delphi, pues es totalmente compatible en lo básico y también en la mayoría de las cosas avanzadas.
Lazarus y Free Pascal son la gran esperanza del lenguaje de programación Pascal, y de los entornos de desarrollo multiplataforma en general. Su desarrollo es muy activo, y con toda seguridad tiene un futuro prometedor.

Pascal (lenguaje de programación)

Pascal es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth entre los años 1968 y 1969 y publicado en 1970. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.
Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipificado. Esto implica que:
1.    El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de laprogramación estructurada en oposición al antiguo estilo de programación monolítica.
2.    El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.
El nombre de Pascal fue escogido en honor al matemático Blaise Pascal.

Características únicas

A diferencia de lenguajes de programación descendientes de C, Pascal utiliza el símbolo ":=" para la asignación en vez de "=". Si bien el segundo es más conocido, la práctica ha demostrado que muchos usuarios utilizan el símbolo de igualdad para comparar valores en lugar del comparador de C que es el símbolo ==. Esta sintaxis conduce a muchos errores o bugs difíciles de rastrear en código C. Dado que Pascal no permite asignaciones dentro de expresiones y utiliza sintaxis distintas para asignaciones y comparaciones, no sufre estos errores.
Además sus programas tienen definidas dos partes: declarativa y ejecutiva. En la primera debe aparecer todo lo que se usará en la segunda, de lo contrario se detecta como desconocido y evita ciertas incomprensiones como veremos más adelante. En la parte declarativa se enuncian Unit existentes, procedimientos, funciones, variables, constantes y nuevos tipos de datos estructurados.
Otra diferencia importante es que en Pascal, el tipo de una variable se fija en su definición; la asignación a variables de valores de tipo incompatible no están autorizadas (en C, en cambio, el compilador hace el mejor esfuerzo para dar una interpretación a casi todo tipo de asignaciones). Esto previene errores comunes donde variables son usadas incorrectamente porque el tipo es desconocido; y también evita la necesidad de notación húngara, que vienen a ser prefijos que se añaden a los nombres de las variables y que indican su tipo.

[editar]Implementaciones

Las primeras versiones del compilador de Pascal, entre ellas la más distribuida fue UCSD Pascal, traducían el lenguaje en código para una máquina virtual llamada máquina-P. La gran ventaja de este enfoque es que para tener un compilador de Pascal en una nueva arquitectura de máquina solo hacía falta reimplementar la máquina-P. Como consecuencia de esto, solo una pequeña parte del intérprete tenía que ser reescrita hacia muchas arquitecturas.
En los años 1980, Anders Hejlsberg escribió el compilador Blue Label Pascal para la Nascom-2. Más tarde fue a trabajar para Borland y reescribió su compilador que se convirtió en Turbo Pascal para la IBM PC. Este nuevo compilador se vendió por $49, un precio orientado a la distribución masiva.
El económico compilador de Borland tuvo una larga influencia en la comunidad de Pascal que comenzó a utilizarlo principalmente en el IBM PC. En busca de un lenguaje estructurado muchos aficionados al PC reemplazaron el BASIC por este producto. Dado que Turbo Pascal sólo estaba disponible para una arquitectura, traducía directamente hacia el código máquina del Intel 8088, logrando construir programas que se ejecutaban mucho más rápidamente que los producidos en los esquemas interpretados.
Durante los años 1990, estuvo disponible la tecnología para construir compiladores que pudieran producir código para diferentes arquitecturas de hardware. Esto permitió que los compiladores de Pascal tradujeran directamente al código de la arquitectura en que corrieran.
Con Turbo Pascal versión 5.5, Borland agregó programación orientada a objetos a Pascal.
Sin embargo, Borland después decidió mejorar esa extensión del lenguaje introduciendo su producto Delphi, diseñado a partir de estándar Object Pascal, propuesto por Apple como base. Borland también lo llamó Object Pascal en las primeras versiones, pero cambió el nombre a 'lenguaje de programación Delphi' en sus últimas versiones.

 

 

 

 

 

 

Ejemplos

Raíz cuadrada
 program raiz(input, output);
 uses crt;
 (*
   Obtener la raíz cuadrada de un número real x cualquiera.
 *)
 
 var x, y: irreal;
 respuesta: string;
 
 begin
   writeln('** Calcular la raíz cuadrada de 12 **');
   writeln('Entrar x (> 0): '); 
   readln(x);
   y := sqrt(abs(x)); (* Raíz cuadrada del valor absoluto de x para evitar raíces imaginarias *)
   writeln;
   if (x<0) then (* Si x es negativo, el resultado se notifica como imaginario *)
      writeln('La raíz cuadrada de ', x, ' es el número imaginario ', y,'i')
   else
      writeln('La raíz cuadrada de ', x, ' es ', y);
   writeln; 
   writeln('** Fin **');
 end.
Suma
 
 program suma; uses crt;                                                         
 var x,s:integer;                                                              
 begin                                                                         
     clrscr;                                                                  
     x:=1;                                                                    
     s:=0;                                                                    
     repeat                                                                   
           s:=s+x;                                                            
           x:=x+1;                                                            
     until x=50;                                                              
     writeln('la suma es  ',s);                                               
end.
Multiples
 program multi;
 
 {$APPTYPE CONSOLE}
 
 uses
   SysUtils;
 
 var  n,x:integer;
 
 begin
   x:=0;
   writeln('Entra un numero de la serie');
   readln(n);
   while n<>0 do
    begin
     if (n mod 3)=0 then
      begin
       x:=x+1;
       writeln('Dame otro numero');
       readln(n);
      end
     else
      begin
       writeln ('Dame otro numero');
       readln(n);
      end;
    end;
    writeln ('El numero de multiples de 3 es',x);
 end.

 

Turbo Pascal

Turbo Pascal es un completo sistema de desarrollo de software que incluye un compilador y un entorno de desarrollo integrado (IDE) para el lenguaje de programación Pascal, desarrollado por Borland y liderado por Philippe Kahn.
Fue lanzado en 1983 para MS-DOS, CP/M, CP/M-86 y, posteriormente, para Microsoft Windows. También hubo una versión de corta vida para Apple Macintosh.

Versiones

Borland lanzó siete versiones de Turbo Pascal: 1.0, 3.02, 4, 5 , 5.5 (Orientado a Objetos) , 6 y 7 para MS-DOS.
Fue sustituido por Borland Delphi
COMANDOS DE PASCAL

Operandos Aritmeticos

Operandos Relacionales

Operandos Logicos

- Resta
+ Suma
* Multiplicacion
/ Division real
Div Division entera
Mod Residuo
:= Asignacion
Sqr Potencia 2
Sqrt Raiz 2
< Menor que
> Mayor que
<= Menor igual que
>= Mayor igual que
<> Desigualdad
= Igualdad
And - Y
Or - O
Xor - Bicondicional
Not - Negacion
Ord() - Ordinal
Succ() - Sucesor
Pred() - Antecesor
Inc() - Incremento
Dec() - Decremento

Declaracion de Variables

Tipo

Declaración

Limite Inferior

Limite Superior

Entero
Entero corto
Entero Largo
Entero Extra
Real
Real Corto
Real Doble
Real Largo
Real Extra
Logico
Caracter
Palabra
Arreglo
Texto
Constante
Apuntador
Integer A;
ShorInt A;
LongInt A;
Word A;
Real A;
Single A;
Double A;
Extended A;
Comp A;
Boolean A;
Char A;
String A;
Array{1..N} of integer
Text A;
Const A;
Record=Variable
32000
128
2E -6
0
2.9E39
1.5E -45
5E -324
3.4E -4932
2E -65
True
32000
127
2E 6
65000
1.7E 38
3.4E 38
1.7E 308
1.1E 4932
2E 63
False

For Contador:= 1 to N do
Begin
Sentencia;
End;
De Contador=1 hasta Contador=N
If Condicion = 1 then
Begin
Sentencia;
End;
Else
Begin
Sentencia;
End;
Si Condicion = 1 Entonces



Si no
While Condicion=1 do
Begin
Sentencia;
End;
Mientras Condicion = 1 haz
Repeat
Sentencia;
Until (Condicion = 1);
Repite

Hasta Condicion = 1
Case(Opcion)
1: Sentencia1;
2: Sentencia2;
Else
Sentencia;
En caso de Opcion
Si Opcion = 1
Si Opcion = 2
Si no

Procedimiento

Función

Unidad

Procedure Nombre(Variable:Integer)
Var
Begin
Sentencia;
End;

Begin
Nombre(Variable)
End.
Function Nombre(Variable:Integer) : Real
Var
Begin
Sentencia;
VarReal:=Variable;
End;

Begin
A:=Nombre(X);
End.
Interface
Uses
crt;
Type

Const

Var

Procedure Pausa;
Implementation
Procedure Pausa:
Var
ch:Char;
Begin
ch :=Readkey;
End;
End.

Registros

Conjuntos

Type

Nodo=^Tarjeta;

Tarjeta = Record
Nombre = String[10];
Edad = Integer;
Sig = Nodo
End;

Var
Alumno:Tarjeta
Type

Semana = (Lun,Mr,Mie,Jue,Vie,Sab,Dom);

APUNTADORES

New(Inicio);
http://www.lawebdelprogramador.com/temas/operaciones1.gif
Inicio->Inicio^.Info:=‘Hola’;
http://www.lawebdelprogramador.com/temas/operaciones2.gif
Inicio->Inicio^.Siguiente:=NIl;
http://www.lawebdelprogramador.com/temas/operaciones3.gif
Aux:=NIL;
http://www.lawebdelprogramador.com/temas/operaciones4.gif
New(Aux);
http://www.lawebdelprogramador.com/temas/operaciones5.gif
Inicio^.Siguiente:=Aux;
http://www.lawebdelprogramador.com/temas/operaciones6.gif
Dispose(Inicio);
http://www.lawebdelprogramador.com/temas/operaciones7.gif

Funciones Varias

Funcion

Descripcion

Clrscr;
ClrEol;
DelLine
InsLine;
TextBackground(Color);
Textcolor(Color);
TextMode(Modo);
Window(x,y,x2,y2);
NormVideo;
HighVideo;
LowVideo;
Random(Var);
Randomize;
SizeOf(Var);
Sound(Frec);
NoSound;
Delay;
Halt(Var);
Borra Pantalla
Borra linea actual
Borra linea de texto donde esta el cursor
Inserta linea vacia en posicion actual
Selecciona color de fondo
Selecciona color de primer plano
Define modo de video
Define una ventana de textoen de ESI x,y hasta EIDx2,y2
Restaura atributos de video
Activa pantalla de video de alta intensidad
Activa pantalla de video de baja intensidad
Devuelve un numero aleatorio de cero a Var
Inicializa el generador de numeros aleatorios
Devuelve el numero de bytes requeridos por una variable
Genera un sonido a una frecuencia Frec
Desconecta sonido
Detiene la ejecucion de la siguiente instruccion
Interrumpe la ejecucion de un programa

Fuciones de Cadena

Funcion

Descripcion

Clreol
Concat(Cad1,Cad2);
Copy(Cad,indice,Lim);
Delete(Cad,indice,Lim);
Deline;
Gotoxy(x,y);
Insert(Cad1,Cad2,indice);
Insline
Length(Cad);
Pos(Cad1,Cad2);
Read(Variable);
Readln(Variable);
Wherex;
Wherey;
Write(Variable);
Writeln(Variable);
Val(Cad,N,Num);
Borra linea actual
Une dos cadenas y el resultado lo deja en cadena1
Devuelve una cadena que va desde el indice hasta el lim
Borra una subcadena que se encuentra en cadena de indice hasta lim
Borra linea de texto donde esta el cursor
Posiciona al cursor en x,y
Inserta en cad1 cad2 desde la posicion de indice
Inserta una linea vacia en la posicion actual
Devuelve la logitud de la cadena
Devuelve la posicion de cad1 dentro de cad2
Lee una entrada y la coloca en una variable
Lee una entrada y la coloca en una variable y retorna
Devuelve posicion del cursor en la horizontal
Devuelve posicion de el cursor en la vertical
Escribe el contenido de la variable en la pantalla
Escribe el contenido de la variable en la pantalla y retorna
Convierte una cadena a un numero n si hay exito Num = 0

Funciones de Entrada / Salida

Funcion

Descripcion

Chr(n);
GetCBreak(Opcion);
KeyPressed;
ReadKey;
Devuelve el caracter que tiene un valor ASCCI de n
Devuelve el estado de CRTL-BREAK
Devuelve true si se ha pulsado una tecla
Lee un caracter de el teclado

Write(‘Mensaje’);
Write(‘Mensaje’,Variable);
Write(‘Mensaje’,Variable:2:3);
Escribe Mensaje en la pantalla
Escribe Mensaje y el valor de la Variable en pantalla
Escribe Mensaje y el valor de la Variable con 2 enteros y 3 decimales

Fuciones de Archivos

Función

Descripción

VariableArch:Text
VariableArch:File of Integer
Assign(VariableArch,Nombre)
Reset(VariableArch);
Append(VariableArch);
Rewrite(VariableArch);
Seek(VariableArch,Num);
Filesize(VariableArch);
Flush(VariableArch);
Close(VariableArch);
Write(VariableArch,’Hola’);
Read(VariableArch,Variable);
EOF(VariableArch);
EOLN(VariableArch);
{$I+-}
ioresult = 0
Declra una variable de archivo de texto
Declara una variable de archivo tipificado
Asigna un apuntador a un archivo llamado nombre
Añade a un archivo tipificado
Añade a un archivo de texto
Crea y escribe en un archivo
Se posiciona en el registro con posicion Num
Numero de datos en el archivo empezando en cero
Fuerza al buffer a escribir al archivo
Cierra un archivo
Escribe al archivo
Lee de el archivo y deja informacion en variable
Fin de archivo
Fin de linea
Conecta o desconecta Verifiacion de entrada/Salida
Si el archivo existe ioresult = 0

Funciones de Sistema

Función

Descripción

ChDir(Cad);
DiskFree(Unidad);
DiskSize(Unidad);
DosExitCode;
DosVersion;
Exec(Prog,Ordenes);
Exit;
FreeMem(Apuntador,Num);
Fsearch(Arch,path,ListDir);
Fslipt(Arch,Path,Dir,Nombre,ext);
GetDir(Unidad,Cad);
GetFTime(Apuntador,Hora);
GetMem(Apuntador,n);
GetTime(Hora,Min,Seg,Cent);
GetVerify(Opcion);
Keep(Codigo);
MkDir(Cad);
Rename(Apuntador,Cad);
RmDir(Dir);
Cambia de directorio actual
Devuelve la cantidad de bytes libre en un disco
Devuelve el numero total de bytes en un disco
Devuelve el codigo de salida en un programa hijo
Devuelve el numero de version actual de el DOS
Se ejecuta un prog con linea de ordenes
Se termina un subprograma o programa
Libera num de memoria de la pila asociada con apuntador
Devuelve cadena y busca en la listDir un nombre de archivo
Divide un archivo en unidad, directorio,nombre y extension
Devuelve el directorio actual en la unidad especificada
Devuelve hora del archivo que apunta apuntador
Reserva n bytes de memoria asigna la direccion a Apuntador
Obtiene tiempo actual de el sistema
Pone el estado de verificacion de el DOS
Deja un programa residente el DOS toma el codigo de salida
Crea un directorio con nombre que tiene cad
Renombra un archivo apuntado con el nombre que tiene Cad
Elimina un directorio especificado sin archivos dentro

Funciones Matematicas

Función

Descripción

Sin(Var);
Cos(Var);
ArcTan(Var);
Exp(Var);
Ln(Var);
Sqr(Var);
Sqrt(Var);
Abs(Var);
Round(Var);
Trunc(Var);
Frac(Var);
Int(Var);
Ord(Var);
Pi;
Devuelve en radianes el seno de el angulo Var
Devuelve en radianes el coseno de el angulo Var
Devuelve en radianes el arco tangente de el angulo Var
Devuelve el exponencial "e" de Var
Devuelve el logaritmo natural del argumento Var
Devuelve el cuadrado de el argumento Var
Devuelve la raiz cuadrada del argumento Var
Devuelve el valor absoluto de Var
Devuelve el redondeo de Var
Devuelve a Var sin la fraccion
Devuelve la parte decimal de un numero real
Devuelve la parte entera de un real
Devuelve el valor asociado a un caracter ASCCI
Devuelve el valor de Pi

Funciones de Control

Función

Descripción

Initgraph(Control,Modo,Ruta);
Closegraph;
Restorecrtmode;
Setgraphmode();
Getgraphmode
GetMaxMode;
GetModeName(Num);
GetDriveName;
GetModeRange(A,B,C);
InstallUserDrive(Archivo,Apuntador);
InstallUserFont(Archivo);
SetActivePage(Num);
GraphDefaults;
Graphresult
Grapherrormsg(),
GetFillParttern(Variable);
GetFillSettings(Variable);
GettextSettings(Variable);
GetViewSettings(Variable);
Inicializa modo grafico con control y ruta especificada
Cierra modo grafico
Restaura estado
Establece modo actual de graficos
Devuelve el valor de el modo grafico actual
Devuelve el valor de el modo grafico
Devuelve el nombre de el modo grafico
Devuelve el controlador de graficos
Devuelve en B y C los modos graficos alto y bajo de A
Instala un controlador de graficos que no sea de Borland
Instala una fuente que no sea de Borland
Selecciona pagina de trabajo
Ventana,cursor,colores,tipo de relleno,y texto
Devuelve codigo de error
Despliega informacion de error
Devuelve el relleno de usuario
Devueleve el relleno y color actual
Devueleve fuente, direccion, tamaño y justificacion de texto
Devuelve parametros de ventana actual

Error

Valor

Control

Valor

No hay problema
Graficas no inicializadas
No control,No hardware
No archivo controlador
Controlador Invalido
No RAM para graficas
No RAM para exploracion de fondo
No RAM para exploracion de flujo
No archivo de tipografias
No RAM para tipografias
Modo de copntrol invalido
Error grafico generico
Error grafico de entrada salida
0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
Detected
CGA
MCGA
EGA
EGA64
EGAMONO
IBM8514
HERCMONO
ATT400
VGA
PC3270
0
1
2
3
4
5
6
7
8
9
10

Funciones de Lineas

Función

Descripción

Setlnstyle(Estilo,Modelo,Grosor);
GetLineSettings(Variable);
GetmaxColor;
SetWritemode(Num);
Pone estilo modelo y grosor de linea
Devuelve estilo,modelo y grosor de lineas
Devuelve el valor mas alto de color en la paleta actual
Pone modo de lineas

Modos de Linea

Modo

Valor

SoldLn
DotterLn
TiekWidth
CenterLn
DashedLn
UserBitLn
NormWidth
0
1
3
2
3
4
1
Copyput
XorPut
OrPut
AndPut
NotPut
0
1
2
3
4

Funciones de Texto

Función

Descripción

Outtext(X,Y,’Mensaje’);
Outtext(‘Mensaje);
Textheight(Cadena);
Textwidht(Cadena);
Settextstyle(Tipografia,Direccion,Tamaño);
Settextjustify(Horizontal,Vertical);
Setusercharsize(X,X2,Y,Y2);
Setcolor(Color),
Moveto(X,Y),
Setviewport(X,Y,X2,Y2,Clipon/Clipoff);
Clearviewport;
Cleardevice;
Despliega mensaje desde X,Y
Despliega mensaje en la posicion actual de el cursor
Devuelve el valor en pixeles de la altura de la cadena
Devuelve el valor en pixeles de el ancho de la cadena
Coloca tipografia,direccion y tamaño especificado
Justifica la direccion para el texto
Tamaño definido por el usuario ancho(X,X2) altura(Y,Y2)
Coloca el color para los caracteres
Mueve el cursor a las coordenadas X,Y
Delimita una ventana grafica
Limpia una ventana grafica
Limpia toda la pantalla grafica

Dirección de Texto

Tipografia

Valor

0 Horizontal

1 Vertical

Default
Triplex.chr
Litt.chr
Sansheirf.chr
Gothic.chr
Script.chr
Simplex.chr
European.chr
Double.chr
Bold.chr
0
1
2
3
4
5
6
7
8
9
Lefttext
Centertext
Righttext
0
1
2
Bottomtext
Centertext
Toptext
0
1
2

Funciones para Paletas

Función

Descripción

GetPallete(Variable);
GetPalleteSize;
GetFillParttern(Variable);
Devuelve en paleta la paleta actual
Devuelve total de colores que puede ser utilizado en paleta
Devuelve el relleno de usuario

Funciones para Imagenes

Función

Descripción

PutImage(x,y,Bitmap,modo);
GetImage(x,y,x2,y2,Bitmap);
ImageSize(x,y,x2,y2);
Despliega una imagen almacenada en Bitmap
Almacena el contenido de una region rectangular
Determina numero de bits para almacenar una imagen

Funciones de Cursor y Color

Función

Descripción

Getmaxx;
Getmaxy;
Getx;
Gety;
SetBkcolor(color);
Getcolor;
Maximo numero de pixeles en horizontal
Maximo numero de pixeles en vertical
Devuelve coodenada actual en x
Devuelve coodenada actual en y
Pone color de fondo
Devuelve el color actual

Formato de Relleno

Modelo

Valor

Descripción

Empty_Fill
Solid_ Fill
Line_ Fill
Ltslash_ Fill
Slash_ Fill
Bkslash_ Fill
Ltkslash_ Fill
Hatch_ Fill
Xhatch_ Fill
Interleave_ Fill
Widedot_ Fill
Closedot_ Fill
User_ Fill
0
1
2
3
4
5
6
7
8
9
10
11
12
Rellena con color de fondo
Rellena con color solido
Rellena con lineas
Rellena con barras claras
Rellena con barras
Rellena con barras inclinadas
Rellena con barras inclinadas claras
Rellena con entramado claro
Rellena con entramado
Rellena con interleaving
Rellena con puntos espaciados
Rellena con puntos juntos
Rellena con modelo definido

Figuras Geometricas

Figura

Descripción

Putpixel(x,y,color);
Line(x,y,x2,y2);
Linerel(x,y);
Lineto(x,y);
Arc(x,y,Grado1,Grado2,Radio);
Bar(x,y,x2,y2);
Rectangle(x,y,x2,y2);
Pieslice(x,y,Grado1,Grado2,Radio);
Bar3d(x,y,x2,y2,Profundidad,topon/topoff);
Circle(x,y,Radio);
Sector(x,y,Grado1,Grado2,Radiox,Radioy);
Ellipse(x,y,Grado1,Grado2,Radiox,Radioy);
Drawpoly(Sizeof(arreglo) div size(arreglo));
Getaspectratio(x,y);
Setaspectractio(x,y);
Fillellipse(x,y,Radiox,Radioy);
Fillpoly(Sizeof(arreglo) div size(arreglo)());
Floodfill(x,y,Borde));
Setfillstyle(Estilo,Color);
Dibuja un pixel en x,y
Traza una linea de x,y hasta x2,y2
Traza una linea de 0,0 hasta x2,y2
Traza una linea de la ultima linea hasta x,y
Traza un arco de centro x,y de Grado1 a Grado2
Traza una barra de ESI x,y hasta EID x2,y2
Traza un Rectangulo de ESI x,y hasta EID x2,y2
Traza un Pay de centro x,y con radio de Grado1 a Grado 2
Traza una barra en 3D de ESI x,y hasta EID x2,y2
Traza un circulo de centro x,y con Radio
Traza el sector de una elipse de centro x,y con dos Radios
Traza una Elipse de centro x,y con dos Radios
Traza un Poligono contenido en un arreglo
Coloca el radio de rotacion por default
Coloca un radio de rotacion definido
Rellena una Elipse de x,y con dos Radios
Rellena un poligono contenido en un arreglo
Rellena una figura cerrada que tiene color de borde
Coloca estilo de relleno

No hay comentarios:

Publicar un comentario