Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
fp(1)				Free Pascal IDE				 fp(1)

NAME
       fp - Free Pascal	Compiler (FPC) integrated development environment

SYNOPSIS
       fp [options] [sourcefile]

DESCRIPTION
       This  binary is the integrated development environment of the Free Pas-
       cal Compiler (FPC) which	is an advanced Turbo Pascal and	 Delphi	 (7.0)
       compatible  multitarget	Pascal	compiler.  The	compiler engine	is not
       based on	GCC, but is completely standalone.

       The compiler uses LD(1) and can use AS(1)  (see	parameter  -Aas),  but
       also has	its own	binary object writer.

       The  current  main  targets  are	 Go32V2	(Dos DJGPP extender), Freebsd,
       Linux, MacOS, MacOSX, MorphOS, Netware, OS/2 and	Win32.	The other tar-
       gets  (M68K  compilers  for  Atari and Amiga) are either	based on older
       versions	of the compiler	or are still in	development.

       This manpage is meant for quick-reference only. FPC comes with a	 great
       (2000+  pages) manual, which is updated constantly, while this man page
       can be out of date.

Usage
       The user	interface of the IDE has been designed to be similar to	 Turbo
       Pascal.	It provides the	user with a user friendly, but rather powerful
       editor, an extensive on-line help system	and a debugger.

       A text mode windowing system is the base	of  the	 user  interface.  The
       mouse  is  supported,  but  most	people will use	the keyboard. The user
       will usually open a few text editor windows in which he will design his
       program,	during which he	can regularily check and debug through the use
       of hot keys. The	high speed of the compiler  ensures  that  programmers
       can do this often and therefore allows speedy development of code.

Help files
       No  help	files are provided by default. The user	must download the Free
       Pascal documentation in HTML format and install it into the  IDE	 using
       the  Help->Files	menu. Turbo Pascal .tph	files can also be installed in
       this menu and can be useful for source code that	ships  with  .tphfile-
       sasdocumentation.

Character sets
       The  IDE	 has  been designed for	VGA text mode fonts. These fonts allow
       visually	more interresting text modes than the the VT100	fonts normally
       used  on	Unix systems and also more portable, since most	operating sys-
       tems use	VGA character sets for their text modes.

       When running on a VT100 compatible terminal, some emulation will	occur.
       Internally  the	IDE  will  think it is running on a VGA	text mode font
       (most likely code page 850), while all characters will (in the case  of
       code  page  850)	 be converted to Latin-1 and VT100 alternate character
       set characters.

       The Linux console can do	VGA fonts and therefore	the IDE	can be	viewed
       as  it  was  intended on	it. The	Linux console mode supports the	all of
       the VGA character set through the /dev/vcsa* devices  and  most	of  it
       through	normal	escape sequences. To prevent bad user experiences, the
       IDE has been made rather	aggressive in using VGA	character sets.	 First
       it will determine the actual console number you are running on (even if
       you run on a pty, like in Midnight Commander). Then the IDE  will  open
       the  /dev/vcsa*	device belonging to that console. If permission	is de-
       nied the	IDE will call the grab_vcsa utility, which is  a  setuid  root
       utility which will grant	permissions to the vcsa	device.

       In  case	 the  vcsa  device  is not available, the IDE will send	escape
       codes to	enable the VGA font. In	this mode a few	characters in the  low
       32  ascii  positions  are unavailable, but mainly since the full	set of
       line drawing characters is available the	user will notice  few  differ-
       ences.

       The  Linux frame	buffer device and the Free Pascal IDE are an excellent
       combination.  With fbdev	it is possible to use  text  mode  resolutions
       higher  than the	normal 80x25, which allows the programmer to see a lot
       more code at a time.

       The Linux console allows	the user to load user defined fonts. If	you do
       this,  such  a  font  must  have	 a  VGA	 styled	layout,	i.e. code page
       437/850/... (Note that this does	not mean your file system has  to  use
       such  an	 encoding,  the	 Linux	console	 handles  the  conversion from
       ISO-8859-1, UTF-8 or whatever to	the font.)  Since  the	default	 fonts
       have  a	code  page  437	layout,	only users that	have experimented with
       fonts will have to take care here.

       The IDE recognizes the environment variable CONSOLEFONT_CP in which you
       can  specify  the  code page of the console font. Recognized values are
       currently "cp437" and "cp850".  If you do not set  this	variable  code
       page  437  will be assumed. Currently, if you use code page 850 without
       setting the variable there won't	be a huge impact  at  this  time,  the
       characters that the IDE uses exist in both code pages.

       Note:  KOI8-R/KOI8-U  fonts  have all required characters, but the line
       drawing characters are not in the right positions. We may support  this
       in the future, but currently do not.

Keyboard
       Unix keyboard handling is a complicated matter because not all key com-
       binations generate escape codes,	different terminal emulators  generate
       different  escape  codes, and some key combinations may trigger actions
       in the X11 Window manager.

       Because the Free	Pascal IDE's user interface is designed	to be  similar
       to Turbo	Pascal,	including keyboard commands, you may experience	one of
       the above situations.  Some alternative keys have been added, and  per-
       haps more will have to be added in the future.

       When  running  on  the  Linux console, the keyboard is reprogrammed for
       full functionality.

       Here are	some common problems you  may  encounter  and  possible	 work-
       arounds:

       Problem:	Selecting text with shift+arrow	keys does not work.

       Solution: Use the mouse

       Solution:  Use "ctrl+k b" to mark start of block,"ctrl+k	e" to mark end
       of block, "ctrl+k h" to hide the	block.

       Problem:	Cut/Copy/Paste keys do not work.

       Solution: Go to Options->Environment->Keyboard &	mouse and  enable  the
       Microsoft styled	Cut/Copy/Paste keys.

       Solution: Use the menu bar.

       Problem:	Alt key	does not work.

       Solution:  Press	Escape first, then the key without alt.	Note that this
       is not possible on the Linux console, but the Alt key does work there.

       If for whatever reason the reprogrammed Linux console keyboard  is  not
       restored	 to  the  original  state  after exit (IDE crash?), you	can do
       something like "/etc/init.d/kbd start" to reprogram it into its	normal
       behaviour.

AUTHORS
       Free Pascal development team (see http://www.freepascal.org)

SEE ALSO
       grab_vcsa   fpc	 fpc.cfg(5)  ppdep(1)  ppudump(1)  ppumove(1)  ptop(1)
       h2pas(1)	ld(1) as(1)

Free Pascal			  14 apr 2006				 fp(1)

NAME | SYNOPSIS | DESCRIPTION | Usage | Help files | Character sets | Keyboard | AUTHORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=fp&sektion=1&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help