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

NAME

6       fp - Free Pascal Compiler (FPC) integrated development enviroment
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 power‐
35       full 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 regularily 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 usefull for source code that ships with
50
51

Character sets

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

Keyboard

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

AUTHORS

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

SEE ALSO

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