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
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.
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.
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; beginx:=0;
writeln('Entra un numero de la serie');readln(n);
while n<>0 do begin if (n mod 3)=0 then beginx:=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.
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); | |
| Inicio->Inicio^.Info:=‘Hola’; | |
| Inicio->Inicio^.Siguiente:=NIl; | |
| Aux:=NIL; | |
| New(Aux); | |
| Inicio^.Siguiente:=Aux; | |
| Dispose(Inicio); | |
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