1fp(1) Free Pascal IDE fp(1)
2
3
4
6 fp - Free Pascal Compiler (FPC) integrated development environment
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 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
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
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
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
150 Free Pascal development team (see http://www.freepascal.org)
151
152
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)