User Tag List

Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 27

Tema: Dudas, preguntas y respuestas sobre Pascal, Turbo Pascal, Free Pascal, etc

  1. #1

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    19,938
    Mencionado
    218 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4,006
    Agradecer Thanks Received 
    3,330
    Thanked in
    Agradecido 2,243 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1

    Dudas, preguntas y respuestas sobre Pascal, Turbo Pascal, Free Pascal, etc

    Con motivo de este hilo, @Ñuño Martínez comenta algunas cosas sobre Pascal:

    Cita Iniciado por Ñuño Martínez Ver mensaje
    ¡Qué daño han hecho los profesores que enseñan a programar con Pascal sin tener ni put@ idea de programar en Pascal! Lo digo en serio. No hace tanto entró uno de una universidad en un foro a preguntar y no le servía nada de lo que le decíamos. Cuando le preguntamos que qué compilador usaba, nos dijo que el TurboPascal 1.0. Un compilador de casi treinta años (eso sí, fue el primer compilador de 32bit para MS-DOS). Evidentemente le dijimos que le dijera a su profesor que existía Free Pascal y Lazarus.

    A ver si con esto os quito esa idea.

    Aquí tenéis Throne3D: un pedazo motor 3D comercial completamente desarrollado en Object Pascal y que no veo que tenga nada que envidiar a ningún motor moderno:


    Y aquí, varios entornos y compiladores modernos y actuales que no son Dlephi (cuya última versión ha salido hace meses):
    • FreePascal: Compilador de Object Pascal multiplataforma (Intel, PowerPC, Motorola, ARM, máquina virtual Java, .NET ...), 32 y 64bit, compatible a nivel de código con Pascal, TurboPascal, Delphi y Teddy Pascal (y alguno más, posiblemente).
    • Lazarus: RAD-IDE + biblioteca de componentes visuales que utiliza el compilador FreePascal y funciona en Window, Linux y MacOS.
    • Smart Mobile Studio: RAD-IDE + bibliotecas + compilador, genera aplicaciones basadas en HTML5 + JavaScript.
    • Oxygene: Compilador (y creo que también entorno) que genera ejecutables para la máquina virtual de Java
    Todo esto me trajo recuerdos de mis épocas pascaleras y por curiosidad me surgen algunas preguntas que seguramente @Ñuño Martínez responderá "gustosamente" a continuación :P

    ¿Que tan fácil o difícil es hacer estas cosas?
    - Leer un joystick (uno generico, el de Xbox, un arcade, etc)
    - Leer y hacer busquedas en bases de datos ODB (creo que es tipo Access)
    - Leer y hacer busquedas en XML o CCV
    - Pintar lineas, poligonos (¿transparencias, antialiasing?)
    - Leer imagenes de disco (GIF, PNG, JPG)
    - Pintar imagenes (¿transparencias, filtros?)
    Me imagino que la mayoría sí, pero otras dependerán de librerias (por ejemplo las bases de datos o pintar poligonos e imagenes)

  2. #2

    Fecha de ingreso
    Jan 2007
    Ubicación
    Ciudad Catedral, Reino de Dick
    Mensajes
    3,648
    Mencionado
    7 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    147
    Agradecer Thanks Received 
    98
    Thanked in
    Agradecido 77 veces en [ARG:2 UNDEFINED] posts
    Todo lo que preguntas necesita de una biblioteca extra, ya que la RTL no permite hacer nada de eso (no es tan grave, porque la STDC tampoco permite hacer nada de eso ). Afortunadamente existen bibliotecas para todo ello, y algunas de ellas ya están incluidas junto con los compiladores modernos (al menos sí en Delphi y Free Pascal/Lazarus, nunca he usado Oxygene pero es muy probable que también).

    Te cuento:
    Cita Iniciado por josepzin Ver mensaje
    - Leer un joystick (uno generico, el de Xbox, un arcade, etc)
    - Pintar imagenes (¿transparencias, filtros?)
    - Pintar lineas, poligonos (¿transparencias, antialiasing?)
    - Leer imagenes de disco (GIF, PNG, JPG)
    Hay varias bibliotecas y motores dirigidos al desarrollo de juegos. Algunas no están escritas en Pascal pero pueden usarse igualmente. Te pongo unas pocas, no comerciales:
    • Castle Engine es, por lo que he visto, el motor libre y gratuito más completo.
    • GLScene, está a medio camino entre la biblioteca y el motor. Su principal característica es que permite el desarrollo RAD mediante componentes (ya sabes, arrastrar y soltar) tanto con Delphi como con Lazarus.
    • Allegro.pas. La versión 5 está en stand-by, pero está bastante completa y a mi me da pocos problemas. La versión 4 puede considerarse completa, aun cuando no incluye absolutamente toda la funcionalidad de la versión C. Si vas a usar OpenGL deberás usar la versión 5.
    • ZenGL. Nunca la he usado, pero en Pasgal Game Developers dicen maravillas de ella.
    • También puede usarse la omnipresente SDL, que por alguna razón no termina de tener tanto éxito en Pascal. Pero oye, ahí está.

    Por otro lado, Free Pascal incluye unidades dentro de la RTL que reproducen la biblioteca gráfica, de sonido y entrada/salida del Turbo Pascal para MS-DOS, la cual funciona tanto en el susodicho MS-DOS (y FreeDOS) como en Windows, Linux, MacOS y AmigaOS como mínimo.

    Evidentemente, si te van las emociones fuerte, también puedes usar OpenGL + GLUT. También está disponible MesaGL.

    Y como digo, hay más (existen proyectos que han traducido varios motores id Tech a Pascal), pero los que he listado son los más utilizados (bueno, vale, quizá con Allegro no ). También hay algún motor comercial, como el Throne3D cuyo vídeo demostración puse en el otro hilo.

    Cita Iniciado por josepzin Ver mensaje
    - Leer y hacer busquedas en bases de datos ODB (creo que es tipo Access)
    - Leer y hacer busquedas en XML o CCV
    Tanto Free Pascal/Lazarus como Delphi incluyen bibliotecas para trabajar con casi cualquier base de datos del mercado (MySQL/MariaSQL, Access, SQL Server, Oracle, FoxPRO, Firebird/Interbase, DB2...) tanto de forma nativa como a través de ODBC y similares, y todo sin necesidad de instalar nada más.

    Y con XML pasa más o menos lo mismo. Personalmente nunca he usado XML (salvo XHTML 1, supongo que no cuenta), pero en la wiki de Lazarus hay un tutorial donde lo explican, así que sí, se puede.
    Proyectos actuales ----> MinGRo
    Entorno de desarrollo ----> FreePascal | Vim

  3. #3

    Fecha de ingreso
    Aug 2003
    Ubicación
    Madrid (Getafe)
    Mensajes
    13,932
    Mencionado
    48 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5
    Agradecer Thanks Received 
    221
    Thanked in
    Agradecido 164 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    2
    Recuerdo que un profesor nos decia: El lenguaje es algo que hay que elegir en funcion del proyecto, algo que mucha gente no hace y elige primero el lenguaje y luego ve como hacer lo que necesita.

    Recordais cuando se hablaba de lenguajes de "proposito general"?

    Hoy dia casi todos los lenguajes tienen librerias para hacer de todo, por lo que la eleccion no esta tan clara, hasta el punto que la gente nisiquiera se plantea elegir un lenguaje diferente en funcion de las necesidades.

    Aiken

  4. #4

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    19,938
    Mencionado
    218 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4,006
    Agradecer Thanks Received 
    3,330
    Thanked in
    Agradecido 2,243 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    Ya tengo material para curiosear, gracias

    ¿Y como IDE/complilador qué usas? supongo que será Lazarus.

  5. #5

    Fecha de ingreso
    Jan 2014
    Mensajes
    514
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    18
    Thanked in
    Agradecido 16 veces en [ARG:2 UNDEFINED] posts
    yo aprendí con Turbo Pascal, creo que fue un buen paso para alguien que no sabe programación.
    De nada te sirve hacer cosas avanzadas de programación si no entiendes la mas **** idea de la base.

    Yo siempre digo, solo usar una librería, si tenes una idea de como lo harías vos, pero la usas solo para ahorrarte el tiempo programando, si vas a usar algo solo porque leíste que anda, NO LO USES, HACERLO VOS, porque?? programando se van a dar cuenta....

  6. #6

    Fecha de ingreso
    Jan 2007
    Ubicación
    Ciudad Catedral, Reino de Dick
    Mensajes
    3,648
    Mencionado
    7 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    147
    Agradecer Thanks Received 
    98
    Thanked in
    Agradecido 77 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Aiken Ver mensaje
    Recuerdo que un profesor nos decia: El lenguaje es algo que hay que elegir en funcion del proyecto, algo que mucha gente no hace y elige primero el lenguaje y luego ve como hacer lo que necesita.
    Totalmente de acuerdo. Y hoy día, que hay compiladores libres de calidad de casi cualquier lenguaje, no hay escusas.
    Cita Iniciado por josepzin Ver mensaje
    ¿Y como IDE/complilador qué usas? supongo que será Lazarus.
    Depende. Si es para juegos, con Allegro, uso gVim, compilando con makefiles desde consola y depurando con GDB. Si son aplicaciones de escritorio, entonces sí, Lazarus, aunque sólo sea por la comodidad a la hora de crear los diálogos y definir los eventos.
    Última edición por Ñuño Martínez; 08/10/2014 a las 20:08
    Proyectos actuales ----> MinGRo
    Entorno de desarrollo ----> FreePascal | Vim

  7. #7

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    19,938
    Mencionado
    218 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4,006
    Agradecer Thanks Received 
    3,330
    Thanked in
    Agradecido 2,243 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    ¿Entonces usas FreePascal como compilador?

  8. #8

    Fecha de ingreso
    Jan 2007
    Ubicación
    Ciudad Catedral, Reino de Dick
    Mensajes
    3,648
    Mencionado
    7 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    147
    Agradecer Thanks Received 
    98
    Thanked in
    Agradecido 77 veces en [ARG:2 UNDEFINED] posts
    Sip.

    Eso sí, últimamente estoy experimentando con otros entornos, incluyendo el RHide que viene con Free Pascal, y me estoy haciendo uno para mi. Algún día lo publicaré. O no.
    Proyectos actuales ----> MinGRo
    Entorno de desarrollo ----> FreePascal | Vim

  9. #9

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    19,938
    Mencionado
    218 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4,006
    Agradecer Thanks Received 
    3,330
    Thanked in
    Agradecido 2,243 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    Estuve trasteando un poco con el FPC.exe :P

    No sé porque pero me parecía que Turbo Pascal usaba corchetes {...} pero no, son todos begin-end, o quizas se puede de las dos maneras.

    Pregunta offtopic: ¿y tú para qué usas Pascal?

    -----Actualizado-----

    Madremia, que olvidado estaba del lenguaje...

    Los {...} ni se usan para begin-end.

    Y esto := era para asginar una variable!

  10. #10

    Fecha de ingreso
    Jan 2007
    Ubicación
    Ciudad Catedral, Reino de Dick
    Mensajes
    3,648
    Mencionado
    7 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    147
    Agradecer Thanks Received 
    98
    Thanked in
    Agradecido 77 veces en [ARG:2 UNDEFINED] posts
    ¡Qué perdido te veo, muchacho! Échale un vistazo a este curso de Pascal. Si no recuerdo mal, es de lo mejor que he encontrado en la web en castellano. O este en Wikilibros, que no está completo pero, si sabes ya de programación, sirve para quitarse las telarañas.

    Cita Iniciado por josepzin Ver mensaje
    Pregunta offtopic: ¿y tú para qué usas Pascal?
    Hace años lo usé en el trabajo para desarrollar un Terminal Punto de Venta (que, por cierto, nunca se vendió y no entiendo por qué porque a todo el que se lo enseño quiere comprarlo) y también para hacer programas de utilidad y extensiones de otros programas para gestión de empresas (almacenes, contabilidad, correspondencia...). En esa época usaba Delphi 6.

    Ahora mismo lo vamos a utilizar para desarrollar juegos. Estoy trabajando en un Motor de Aventuras Programables (aventuras de texto), porque AGE no nos permite controlar ciertas características que queremos en el juego. Todo en Object Pascal. El editor de juegos (mapas, objetos, depurador, etc) necesita Lazarus porque es una aplicación de escritorio, pero el motor/ejecutor funciona(rá) con Allegro. Usamos Lazarus + Free Pascal principalmente porque el Delphi más barato que necesitamos para el proyecto sale por ~1.000 €uros, y Smart Mobile Studio no me convence para hacer la versión de escritorio.

    [edito]
    Olvidé contestar a esto.

    Cita Iniciado por Rock27 Ver mensaje
    yo aprendí con Turbo Pascal, creo que fue un buen paso para alguien que no sabe programación.
    De nada te sirve hacer cosas avanzadas de programación si no entiendes la mas **** idea de la base.

    Yo siempre digo, solo usar una librería, si tenes una idea de como lo harías vos, pero la usas solo para ahorrarte el tiempo programando, si vas a usar algo solo porque leíste que anda, NO LO USES, HACERLO VOS, porque?? programando se van a dar cuenta....
    Totalmente de acuerdo. Por eso también me estoy currando un motor 3D (nada espectacular, muy simple, con OpenGL 1.1 ó 1.2 como mucho) aunque tenemos apalabrado con la empresa de Trhone3D para usarlo si finalmente hacemos un juego comercial en 3D.
    Última edición por Ñuño Martínez; 10/10/2014 a las 10:54
    Proyectos actuales ----> MinGRo
    Entorno de desarrollo ----> FreePascal | Vim

  11. #11

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    19,938
    Mencionado
    218 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4,006
    Agradecer Thanks Received 
    3,330
    Thanked in
    Agradecido 2,243 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    Me paso por ese curso, que mi memoria fue reiniciada :P

    Anoche, cuando todo el mundo se fue a dormir, estuve mirando esa Allegro.pas.

    Descargué un zip, ejecuté fix win32, copié lib a units, descargué el ejemplo l01.pas, abrí linea de comando, fpc l01 > proceso terminado con exito :O :O veo que hay un .exe, me pide que necesita alleg44.dll, lo descargo y copio en la carpeta, vuelvo a ejecutar y tengo un triangulo y un cuadrado en la pantalla!!

    La verdad es que pensé que sería mucho mas complicado ver este primer holamundo

    -----Actualizado-----

    Cita Iniciado por Ñuño Martínez Ver mensaje
    El editor de juegos (mapas, objetos, depurador, etc) necesita Lazarus porque es una aplicación de escritorio, pero el motor/ejecutor funciona(rá) con Allegro.
    En alguna parte - CD/DVD - tengo el editor de sprites y de mapas que hice en Turbopascal4, para VGA... ¡cuantas horas le metí a eso!

    Cita Iniciado por Ñuño Martínez Ver mensaje
    Usamos Lazarus + Free Pascal principalmente porque el Delphi más barato que necesitamos para el proyecto sale por ~1.000 €uros, y Smart Mobile Studio no me convence para hacer la versión de escritorio.
    Cierto, con esta curiosidad por el Pascal, estuve mirando Delphi y cuando vi que es de pago y el precio...


    -----Actualizado-----

    Acabo de probar los otros dos ejemplos l02.pas y l03.pas pero me saltan errores, ¿quizás haya que agregar algún parámetro al compilador?

    Target OS: Win32 for i386
    Compiling C:\FPC\2.6.4\examples\allegro.pas\l03.pas
    l03.pas(185,73) Error: Incompatible type for arg no. 4: Got "Pointer", expected "Open Array Of AL_V3D_Fptr"
    l03.pas(227,5) Error: Incompatible types: got "Boolean" expected "LongInt"
    l03.pas(293,4) Fatal: There were 2 errors compiling module, stopping
    Fatal: Compilation aborted
    Error: C:\FPC\2.6.4\bin\i386-win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled)

  12. #12

    Fecha de ingreso
    Jan 2007
    Ubicación
    Ciudad Catedral, Reino de Dick
    Mensajes
    3,648
    Mencionado
    7 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    147
    Agradecer Thanks Received 
    98
    Thanked in
    Agradecido 77 veces en [ARG:2 UNDEFINED] posts
    Oye, esos ejemplos, ¿de dónde los has bajado? Y ya de paso, ¿qué archivo te has bajado con el Allegro.pas?
    Proyectos actuales ----> MinGRo
    Entorno de desarrollo ----> FreePascal | Vim

  13. #13

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    19,938
    Mencionado
    218 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4,006
    Agradecer Thanks Received 
    3,330
    Thanked in
    Agradecido 2,243 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    Los ejemplos desde aquí: http://allegro-pas.sourceforge.net/w...utorials:start

    Lo que descargué desde aquí: http://allegro-pas.sourceforge.net/w...l_installation
    Concretamente este:

    If you're a Windows user you can get a pre-compiled version of Allegro from this repository. Note that this version might be older than the last released by Allegro, but it works fairly stable.

  14. #14

    Fecha de ingreso
    Jan 2007
    Ubicación
    Ciudad Catedral, Reino de Dick
    Mensajes
    3,648
    Mencionado
    7 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    147
    Agradecer Thanks Received 
    98
    Thanked in
    Agradecido 77 veces en [ARG:2 UNDEFINED] posts
    Ah, coñe, los ejemplos 3D del tutorial que nunca terminé de escribir... Debería ponerme y terminarlos.

    [edito] Por cierto, acabo de instalarme el Lubuntu 14.04 en mi IBM Pentium IV, y atento al dato, porque Allegro 5 + OpenGL hace cosas raras. Los ejemplos de Allegro funcionan mal, pero el motor 3D que estoy haciendo funciona fetén. Cágate lorito. XD
    Última edición por Ñuño Martínez; 13/10/2014 a las 22:08
    Proyectos actuales ----> MinGRo
    Entorno de desarrollo ----> FreePascal | Vim

  15. #15

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    19,938
    Mencionado
    218 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4,006
    Agradecer Thanks Received 
    3,330
    Thanked in
    Agradecido 2,243 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    Que sepas que estas dejando tirada a tu "comunidad" :P

Página 1 de 2 12 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •