It's important to know the distinction between the language that Delphi uses and Delphi it's self. Lest you get confused. [size=9px](Well Borland, the company that made Delphi did a good job of that already.)[/size]

Borland created Delphi to be Pascal for Windows, using a newly created 'Object Pascal' language. 'Object Pascal' was the name of the version of the Pascal language that Apple Computer made for their software development teams on the Macintosh hardware/OS. Borland then decided to instead call the IDE Delphi and at a later date call the language(at about Delphi 4 and up) Delphi aswell, disguising the new version of the Pascal language with a new name. I guess they thought they would trick or fool people into wanting to learn Pascal again against the wishes of all those C fanatics out there. :roll:

So when some people refer to 'Delphi' they sometimes mean the IDE product and sometimes the Object Pascal language that Delphi uses.

Object Pascal is a new version of the Pascal language. Object Pascal when you look at it, is just Pascal, but redesigned to be a Object Oriented Programming language. There are only a select few compilers that support it. FPC, GNU Pascal(though I don't consider it to be a Pascal compiler at all) and Delphi. Lazarus is FPC with a IDE built on top of it. This is the same with Dev-Pascal [size=9px](an IDE built on top of FPC)[/size], only Dev-Pascal is a discontinued product. [size=9px](Created with Delphi btw.)[/size] Object Pascal is still compatable with most of the original Pascal code. Except for a few of the functions that were changed for the better anyways.

If you want to make Windows Applications, it is best to use either Delphi or Lazarus.

If you want to make a console program then you can still use Delphi or Lazarus, but also Dev-Pascal, GNU Pascal, raw FPC distribution or some other 3rd party non-language support specific IDE may also be of use with FPC or GNU Pascal.


How to write console programs using:

Delphi (MyProgramName.dpr)[pascal]program MyProgramName;

{$APPTYPE CONSOLE}

uses
{...};
const
{...};
type
{...};
var
{...};
begin
end.[/pascal]

Lazarus (MyProgramName.lpr)[pascal]program MyProgramName;

{$APPTYPE GUI}

uses
{...};
const
{...};
type
{...};
var
{...};
begin
end.[/pascal]

If you are working with console programs then all you have to do is work with the Code Editor and disreguard all the rest of the VCL/LCL stuff. he features of bot of the IDEs make it worth it though!


As per your assignment. I don't know enough from what you've described to be able to direct you to anything specific so I'll assume that you want to learn how to draw and display graphics on screen. In this case, look into either DirectX, SDL or OpenGL. There are a ton of libraries that support these 3 main ways to display graphics in both a windowed app and a console program.

If you are using Lazarus or Delphi you can have the other option to then use the GDI for the visual component system(Lazarus' LCL or Delphi's VCL) drawing directly to it. This is however much slower and not recommended for real-time application or required highspeed or 3D graphics.


Hope I've helped. Welcome to PGD!