XProfan

from Wikipedia, the free encyclopedia
XProfan
Paradigms : imperative , procedural , somewhat object-oriented
Publishing year: 1990
Developer: Roland G. Hülsmann
Current  version : X3.1 (13)   (April 1, 2016)
Influenced by: BASIC , Object Pascal
Operating system : Windows 95, 98, ME, NT, 2000, XP, Vista, 7, 8, 10
License : Commercial, trial, older versions than freeware
xprofan.de

XProfan is a programming language similar to BASIC , which is designed for event- oriented programming of graphic surfaces .

history

In 1990 Roland G. Hülsmann published the first version of the programming language under the name Profan ; Due to a hard drive crash, the first version was no longer available, so it was newly developed and was now called Profan². With version 8, the name was changed to XProfan (extended Profan²).

Versions

Version 8

First version under the name XProfan . Aspects of object-oriented programming were introduced into the previously procedural language. This development was continued in version 9.

Version 11

Innovations: dynamic memory management, dynamic arrays, native support for tray icons, image lists and tree views, support for saving JPEG and PNG , subclassing and an OpenGL interface.

Version 12

has appeared under the name XProfan X2 . NEWS / CHANGES:

  • Firebird support integrated in XProfan,
  • New syntax for ODBC SQL access and BLOBs via ODBC,
  • Internal management of the variables,
  • New variable syntax,
  • Two new variable types,
  • Transfer of strings and floating point values ​​to APIs and DLL functions,
  • DrawText extended + ChooseFont,
  • Improvement and expansion of the predefined dialogues,
  • Points in time: date and time functions,
  • Multiprocessing with XProfan,
  • File mapping,
  • List box list and list editing expanded,
  • Menu design expanded again,

...

Version 13

has appeared under the name XProfan X3 . NEWS / CHANGES:

  • MUSIC now polyphonic and in stereo and, if desired, also in the background
  • XProfan can use MIDI
  • Associative arrays / hash arrays
  • Reading out resources with ADDRES
  • Editing resources with the container function RES
  • Include resources and version information in the program when compiling
  • Move functions summarized and supplemented
  • WideStrings and UTF8 encoded strings
  • Extended file commands
  • New and extended array commands
  • Treeview extensions
  • FOR ... ENDFOR
  • STARTPAINT ... ENDPAINT nested
  • Sort list box list
  • Sending SMTP mail with STARTTLS and SSL / TLS
  • Menus for all windows

...

nProfan

an unofficial expansion in alpha stage. Converts the syntax of Profan² into assembler and offers since March 2010 a native Profan² by precompiler that can be used free of charge with XProfan. Functions programmed with this are thread-safe, run faster than interpreted source text, and are also suitable for use as callback functions.

Profan² SE

is a version with reduced functionality that is available free of charge for schools and educational institutions. It should be used in computer science classes or in working groups.

properties

Profan² was developed with Delphi (up to version 9.1 in Delphi 2, version 10 in Delphi 5, from version 11 in Turbo Delphi 2006).

XProfan should be beginner-friendly. The language is based on BASIC and Object Pascal . The focus of development is on Windows (32 / 64bit). There are also versions for Linux and MS-DOS with limited functionality.

XProfan can be interpreted or compiled . The compilations produced can with any runtime environment to an executable Win32 - application be linked. Compiled programs are significantly faster than interpreted ones; However, XProfan programs are compiled to an intermediate code that has to be interpreted by the runtime at runtime, which means that compiled XProfan programs are slower than compiled programs in other languages ​​such as C or PowerBASIC , which generate native machine code .

The Windows API and program libraries in the form of DLLs are supported. Features such as callback functions and a debugger are aimed at experienced developers .

"Hello world" in XProfan

 Print "Hallo Welt"
 WaitInput
 End

or just:

 Messagebox("Hallo Welt","Info",0)

Web links