Colegio de Ciencias y Humanidades
Plantel Sur
Grupo: 671
Cibernética
Cibernética
Alumno: Maradán Trejo De La Rosa
Historia de Pascal
Índice.
1.-Historia de Pascal.
2.-Impacto en el mercado.
3.-Compiladores disponibles.
4.-Versiones existentes.
5.-Estructura de un programa en Pascal.
6.-Instrucciones y comandos de Pascal.
4.-Versiones existentes.
5.-Estructura de un programa en Pascal.
6.-Instrucciones y comandos de Pascal.
Introducció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; el código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica; aparte de que el tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.
A diferencia de lenguajes de programación descendientes de "C" (un lenguaje de programación), 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.
1.- Historia de 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.
Fue Borland (compañía de software) 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 el ya usado "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.
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.
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.
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.
2.-Impacto en el mercado.
Casi todo el mundo intentó pasarse a "C" a mediado de los 90 pero 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, 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.
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.
3.-Compiladores disponibles.
Esto es un listado de los compiladores disponibles al público:
-Epox
-GNU Pascal (GPC), escrito en C, basado en GNU Compiler Collection (GCC). Se distribuye bajo licencia GPL.-Free Pascal está escrito en Pascal (el compilador está creado usando Free Pascal), es un compilador estable y potente. También distribuido libremente bajo la licencia GPL. Este sistema permite mezclar los codigos de mas utilidad en el mercado de la programacion, y soporta muchas plataformas y sistemas operativos.
-Turbo Pascal fue el compilador Pascal dominante para PC durante los años 1980 y hasta principios de los años 1990, muy popular debido a sus magníficas extensiones y tiempos de compilación sumamente cortos. Actualmente, versiones viejas de Turbo Pascal (hasta la 7.0) están disponibles para descargarlo gratuito desde el sitio de Borland.
-Delphi es un producto tipo RAD (Rapid Application Development) de Borland. Utiliza el lenguaje de programación Delphi, descendiente de Pascal, para crear aplicaciones para la plataforma Windows. Las últimas versiones soportan compilación en la plataforma .NET.
-Kylix es la versión más nueva de Borland reiterando la rama de Pascal de sus productos. Es descendiente de Delphi, con soporte para el sistema operativo Linux y una librería de objetos mejorada. El compilador y el IDE están disponibles para uso no comercial. Actualmente este proyecto está descontinuado.
-Lazarus es un clon de Delphi, basado en Free Pascal es software libre.
-Midlet Pascal para la plataforma J2ME.
-TMT Pascal.
4.-Versiones existentes.
La versión original de Turbo Pascal fue escrita en 1982 por un joven danés llamado Anders Heilsberg y vendida en Europa como Kompass Pascal. Philipe Kahn la llevo a Estados Unidos y creó la empresa Borland International con la filosofía de venta directa del compilador a los usuarios y a un precio módico.
El primer compilador comercializado incorporaba un editor y un compilador integrado, lo cual supuso una novedad en el campo de los compiladores, ya que normalmente se comercializaban ambos programas por separado.
Esta primera versión(1.0) estaba disponible para máquinas que corrían bajo CP/M y MS-DOS.
Posteriormente, las versiones 2.0 y 3.0 que se comercializaron en 1984 y 1985 respectivamente; incrementaron las características del compilador, permitiendo 64k para código, datos y pila.
La versión 3.0 (1985) incluyó soporte de solapamientos, gráficos, rutinas de configuración de pantallas y cajas de herramientas; esta versión supuso el auge de Pascal.
En 1987 apareció la versión 4.0, que supuso la aparición del concepto de unidades. Cada unidad tenía su propio segmento de código, hasta 64k, y una vez que una unidad era compilada, otros programas o unidades podían utilizarla sin recompilación.
El resultado fue que los programas Turbo Pascal (ahora archivos .EXE en lugar de .COM) estaban limitados en tamaño solo por la memoria disponible. Con la versión 4.0 llegó el entorno integrado de desarrollo, EID (Integrated Development Environment, IDE).
La versión 5.0 llegó en 1988 y aportó esencialmente herramientas de depuración. El depurador integrador incorporado a TP 5.0 permitía seguimiento (traza) del código, establecer puntos de ruptura y observar a modificar variables, todo ello sin dejar el EID. Otras características fueron la emulación de coprocesadores matemáticos y la incorporación del Turbo Debbugger.
En el año 1989 supuso la introducción de los conceptos de programación orientada a objetos (POO), en un compilador potente y económico: La versión 5.5. El Turbo Debbugger fue mejorado para manejar objetos.
Por fin, la profesionalización de la POO llegó en 1990 con la incorporación al programa de Turbo Vision (Una librería de objetos y la nueva versión 6.0). Otras propiedades específicas son: nuevo EID con soporte ratón, ensamblador incoprporado(BASM), campos privados y métodos para objetos y compilador en la línea de órdenes con modo protegido.
En el año 1992 Borland presentó la que sería última versión de Turbo Pascal 7.0, compatible con todas la anteriores y que ha introducido mejoras significativas, tanto el entorno integrado de desarrollo como el propio lenguaje Pascal y bibliotecas en tiempo de ejecución, así como nuevas directivas y unidades.
Tambien salieron Versiones para el UCSD Pascal:
Versión 1.- Versión original, nunca oficialmente distribuida fuera de la Universidad de California en San Diego. Sin embargo las fuentes de Pascal para las versiones I.3 e I.5 fueron intercambiadas libremente entre los usuarios interesados. Específicamente el parche de la revisión I.5a fue conocido en ser uno de los más estables.
Versión 2.- Distribuido extensamente, disponible en muchos tempranos microcomputadores. Numerosas versiones incluidas las de Apple II, DEC PDP-11, máquinas basadas en los microprocesadores Zilog Z80 y MOS 6502, en los microprocesadores Motorola 68000, y en el IBM PC (en el IBM PC, la versión II fue restringida a un segmento de código de 64K y un segmento de datos de 64K para stack y heap, la versión IV removió el límite del segmento de código pero costó mucho más).
Versión 3.- Versión de encargo escrita para Western Digital para correr en su microcomputador Pascal MicroEngine. Incluye por primera vez soporte para procesos paralelos.
Versión 4.- Versión comercial, desarrollada y vendida por SofTech. Basada en la versión II, no incluyó cambios de la versión III. No se vendió bien debido a la combinación de su estructura de precios, problemas de desempeño debido al interpretador del p-code, y la competencia con sistemas operativos nativos (a menudo corría encima de ellos). Después de que SofTech abandonara el producto, fue recogido por Pecan Systems, una compañía relativamente pequeña formada por usuarios y aficionados del p-System.
5.-Estructura de un programa en Pascal.
Generalmente consta de las siguientes partes:
-Nombre del programa.
-Uso de unidades.
-Constantes.
-Tipos.
-Variables.
-Procedimiento y funciones.
-Begin (inicio del programa).
-Bloque de instrucciones.
-End (final del programa principal).
Ejemplo:
Program Basico; {NOMBRE DEL PROGRAMA}
Uses crt;{USO DE UNIDADES}
Var {DECLARACION DE VARIABLES}
Nombre : String; {VARIABLE DE TIPO STRING, PARA GUARDAR SOLO TEXTO}
Begin {INICIO DEL PROGRAMA PRINCIPAL}
Clrscr;{LLAMADO A UN PROCEDIMIENTO CONTENIDO EN LA UNIDAD CRT, QUE SE USA PARA LIMPIAR LA PANTALLA}
Nombre:='Tutor de Programación de Turbo Pascal"; {SE ASIGNA EL TITULO A IMPRIMIR A LA VARIABLE NOMBRE}
Writeln(Nombre);{SE IMPRIME EL NOMBRE EN LA PANTALLA}
Writeln('Presione [Enter] para terminar');{OTRO ROTULO INFORMATIVO}
Writeln('Presione [Enter] para terminar');{OTRO ROTULO INFORMATIVO}
Readln;{SE ESPERA A QUE SE PRESIONE LA TECLA ENTER}
End.{FINAL DEL PROGRAMA PRINCIPAL}
6.-Instrucciones y comandos de Pascal.
Tablas de las diferentes instrucciones, comandos, variables y ayudas 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 |
Funciones para Paletas |
Funciones para Imagenes |
Funciones de Cursor y Color |
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 |
Suscribirse a:
Entradas (Atom)
