1fp(1)                           Free Pascal IDE                          fp(1)
2
3
4

NAME

6       fp - Free Pascal Compiler (FPC) integrated development environment
7
8

SYNOPSIS

10       fp [options] [sourcefile]
11
12

DESCRIPTION

14       This  binary is the integrated development environment of the Free Pas‐
15       cal Compiler (FPC) which is an advanced Turbo Pascal and  Delphi  (7.0)
16       compatible  multitarget  Pascal  compiler.  The  compiler engine is not
17       based on GCC, but is completely standalone.
18
19       The compiler uses LD(1) and can use AS(1)  (see  parameter  -Aas),  but
20       also has its own binary object writer.
21
22       The  current  main  targets  are  Go32V2 (Dos DJGPP extender), Freebsd,
23       Linux, MacOS, MacOSX, MorphOS, Netware, OS/2 and Win32.  The other tar‐
24       gets  (M68K  compilers  for  Atari and Amiga) are either based on older
25       versions of the compiler or are still in development.
26
27       This manpage is meant for quick-reference only. FPC comes with a  great
28       (2000+  pages) manual, which is updated constantly, while this man page
29       can be out of date.
30
31

Usage

33       The user interface of the IDE has been designed to be similar to  Turbo
34       Pascal.  It provides the user with a user friendly, but rather powerful
35       editor, an extensive on-line help system and a debugger.
36
37       A text mode windowing system is the base of  the  user  interface.  The
38       mouse  is  supported,  but  most people will use the keyboard. The user
39       will usually open a few text editor windows in which he will design his
40       program,  during which he can regularly check and debug through the use
41       of hot keys. The high speed of the compiler  ensures  that  programmers
42       can do this often and therefore allows speedy development of code.
43
44

Help files

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

Character sets

54       The  IDE  has  been designed for VGA text mode fonts. These fonts allow
55       visually more interresting text modes than the the VT100 fonts normally
56       used  on Unix systems and also more portable, since most operating sys‐
57       tems use VGA character sets for their text modes.
58
59       When running on a VT100 compatible terminal, some emulation will occur.
60       Internally  the  IDE  will  think it is running on a VGA text mode font
61       (most likely code page 850), while all characters will (in the case  of
62       code  page  850)  be converted to Latin-1 and VT100 alternate character
63       set characters.
64
65       The Linux console can do VGA fonts and therefore the IDE can be  viewed
66       as  it  was  intended on it. The Linux console mode supports the all of
67       the VGA character set through the /dev/vcsa* devices  and  most  of  it
68       through  normal  escape sequences. To prevent bad user experiences, the
69       IDE has been made rather aggressive in using VGA character sets.  First
70       it will determine the actual console number you are running on (even if
71       you run on a pty, like in Midnight Commander). Then the IDE  will  open
72       the  /dev/vcsa*  device  belonging  to  that  console. If permission is
73       denied the IDE will call the grab_vcsa utility, which is a setuid  root
74       utility which will grant permissions to the vcsa device.
75
76       In  case  the  vcsa  device  is not available, the IDE will send escape
77       codes to enable the VGA font. In this mode a few characters in the  low
78       32  ascii  positions  are unavailable, but mainly since the full set of
79       line drawing characters is available the user will notice  few  differ‐
80       ences.
81
82       The  Linux frame buffer device and the Free Pascal IDE are an excellent
83       combination.  With fbdev it is possible to use  text  mode  resolutions
84       higher  than the normal 80x25, which allows the programmer to see a lot
85       more code at a time.
86
87       The Linux console allows the user to load user defined fonts. If you do
88       this,  such  a  font  must  have  a  VGA  styled layout, i.e. code page
89       437/850/... (Note that this does not mean your file system has  to  use
90       such  an  encoding,  the  Linux  console  handles  the  conversion from
91       ISO-8859-1, UTF-8 or whatever to the font.)  Since  the  default  fonts
92       have  a  code  page  437 layout, only users that have experimented with
93       fonts will have to take care here.
94
95       The IDE recognizes the environment variable CONSOLEFONT_CP in which you
96       can  specify  the  code page of the console font. Recognized values are
97       currently "cp437" and "cp850".  If you do not set  this  variable  code
98       page  437  will be assumed. Currently, if you use code page 850 without
99       setting the variable there won't be a huge impact  at  this  time,  the
100       characters that the IDE uses exist in both code pages.
101
102       Note:  KOI8-R/KOI8-U  fonts  have all required characters, but the line
103       drawing characters are not in the right positions. We may support  this
104       in the future, but currently do not.
105
106

Keyboard

108       Unix keyboard handling is a complicated matter because not all key com‐
109       binations generate escape codes, different terminal emulators  generate
110       different  escape  codes, and some key combinations may trigger actions
111       in the X11 Window manager.
112
113       Because the Free Pascal IDE's user interface is designed to be  similar
114       to Turbo Pascal, including keyboard commands, you may experience one of
115       the above situations.  Some alternative keys have been added, and  per‐
116       haps more will have to be added in the future.
117
118       When  running  on  the  Linux console, the keyboard is reprogrammed for
119       full functionality.
120
121       Here are some common problems you  may  encounter  and  possible  work-
122       arounds:
123
124       Problem: Selecting text with shift+arrow keys does not work.
125
126       Solution: Use the mouse
127
128       Solution:  Use "ctrl+k b" to mark start of block,"ctrl+k e" to mark end
129       of block, "ctrl+k h" to hide the block.
130
131       Problem: Cut/Copy/Paste keys do not work.
132
133       Solution: Go to Options->Environment->Keyboard & mouse and  enable  the
134       Microsoft styled Cut/Copy/Paste keys.
135
136       Solution: Use the menu bar.
137
138       Problem: Alt key does not work.
139
140       Solution:  Press Escape first, then the key without alt. Note that this
141       is not possible on the Linux console, but the Alt key does work there.
142
143       If for whatever reason the reprogrammed Linux console keyboard  is  not
144       restored  to  the  original  state  after exit (IDE crash?), you can do
145       something like "/etc/init.d/kbd start" to reprogram it into its  normal
146       behaviour.
147
148

AUTHORS

150       Free Pascal development team (see http://www.freepascal.org)
151
152

SEE ALSO

154       grab_vcsa   fpc   fpc.cfg(5)  ppdep(1)  ppudump(1)  ppumove(1)  ptop(1)
155       h2pas(1) ld(1) as(1)
156
157
158
159Free Pascal                       14 apr 2006                            fp(1)
Impressum