1fp(1) Free Pascal IDE fp(1)
2
3
4
6 fp - Free Pascal Compiler (FPC) integrated development enviroment
7
8
10 fp [options] [sourcefile]
11
12
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
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
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
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
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
149 Free Pascal development team (see http://www.freepascal.org)
150
151
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)