Skip to content

Commit f67df69

Browse files
committed
doc: Update wiki cache
1 parent a0a79bb commit f67df69

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+576
-228
lines changed

doc/manual/cache/CatPgFullIndex.wakka

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@ Alphabetical listing of keywords, macros and procedures.
231231
- {{fbdoc item="keyword" value="KeyPgErmn|ERMN"}}
232232
- {{fbdoc item="keyword" value="KeyPgErr|ERR"}}
233233
- {{fbdoc item="keyword" value="KeyPgError|ERROR"}}
234+
- {{fbdoc item="keyword" value="KeyPgEvent|EVENT (message data from ScreenEvent)"}}
234235
- {{fbdoc item="keyword" value="KeyPgExec|EXEC"}}
235236
- {{fbdoc item="keyword" value="KeyPgExepath|EXEPATH"}}
236237
- {{fbdoc item="keyword" value="KeyPgExit|EXIT"}}

doc/manual/cache/CatPgFunctIndex.wakka

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ List of ""FreeBASIC"" keywords sorted by the function they perform.
178178
- {{fbdoc item="keyword" value="KeyPgCustomgfx|CUSTOM (Graphics PUT)"}}
179179
- {{fbdoc item="keyword" value="KeyPgDraw|DRAW"}}
180180
- {{fbdoc item="keyword" value="KeyPgDrawString|DRAW STRING"}}
181+
- {{fbdoc item="keyword" value="KeyPgEvent|EVENT (message data from ScreenEvent)"}}
181182
- {{fbdoc item="keyword" value="KeyPgFlip|FLIP"}}
182183
- {{fbdoc item="keyword" value="KeyPgGetgraphics|GET (Graphics)"}}
183184
- {{fbdoc item="keyword" value="KeyPgImageConvertRow|IMAGECONVERTROW"}}

doc/manual/cache/CatPgGfx.wakka

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ A list of the keywords and procedures of ""FreeBASIC""'s graphics library.
1212
- {{fbdoc item="keyword" value="KeyPgCustomgfx|CUSTOM"}}
1313
- {{fbdoc item="keyword" value="KeyPgDraw|DRAW"}}
1414
- {{fbdoc item="keyword" value="KeyPgDrawString|DRAW STRING"}}
15+
- {{fbdoc item="keyword" value="KeyPgEvent|EVENT (message data from ScreenEvent)"}}
1516
- {{fbdoc item="keyword" value="KeyPgFlip|FLIP"}}
1617
- {{fbdoc item="keyword" value="KeyPgImageConvertRow|IMAGECONVERTROW"}}
1718
- {{fbdoc item="keyword" value="KeyPgImagecreate|IMAGECREATE"}}

doc/manual/cache/CompilerCredits.wakka

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,4 @@
102102
http://www.freebasic.net/wiki/wikka.php?wakka=ContributorList
103103
- All users that reported bugs, requested features and as such helped improving the compiler, language and run-time libraries.
104104

105-
{{fbdoc item="back" value="FBWiki|Main Page"}}
105+
{{fbdoc item="back" value="FBWiki|Main Page"}}

doc/manual/cache/CompilerDialects.wakka

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
- All variables must be explicitly declared, using ##[[KeyPgDim Dim]]##, ##[[KeyPgRedim Redim]]##, ##[[KeyPgVar Var]]##, ##[[KeyPgConst Const]]##, ##[[KeyPgExtern Extern]]## or ##[[KeyPgCommon Common]]##.
3131

3232
""2"") type suffixes (##!, #, $, %, &##)
33-
- They are only allowed for numeric literals, but it's recommended to use ##[[KeyPgCast Cast]]## or the ##f## (##single##), ##d## (##double##), ##ll## (##longint##), ##ul## (##uinteger##), ##ull## (##ulongint##) numeric literal suffixes to resolve overloading.
33+
- They are only allowed for numeric literals, but it's recommended to use ##[[KeyPgCast Cast]]## or the ##f## (##single##), ##d## (##double##), ##ll## (##longint##), ##ul## (##ulong##), ##ull## (##ulongint##) numeric literal suffixes to resolve overloading.
3434

3535
""3"") ##[[KeyPgDefbyte Defbyte]]##, ##[[KeyPgDefubyte Defubyte]]##, ##[[KeyPgDefshort Defshort]]##, ##[[KeyPgDefushort Defushort]]##, ##[[KeyPgDefint Defint]]##, ##[[KeyPgDefuint Defuint]]##, ##[[KeyPgDeflng Deflng]]##, ##[[KeyPgDeflongint Deflongint]]##, ##[[KeyPgDefulongint Defulongint]]##, ##[[KeyPgDefsng Defsng]]##, ##[[KeyPgDefdbl Defdbl]]##, ##[[KeyPgDefstr Defstr]]##
3636
- An explicit type ("##As //T//##") is needed when declaring variables using ##[[KeyPgDim Dim]]##, ##[[KeyPgRedim Redim]]##, ##[[KeyPgExtern Extern]]## or ##[[KeyPgCommon Common]]##. Variables declared using ##[[KeyPgVar Var]]## or ##[[KeyPgConst Const]]## have their types inferred from an initialization value (an explicit type is optional using ##[[KeyPgConst Const]]##).

doc/manual/cache/CompilerFAQ.wakka

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
==- {{anchor name="item21|Why doesn't the QB GUI open when I start FreeBASIC?"}}==
2424
==- {{anchor name="item22|Can I have an offline version of the documentation?"}}==
2525
==- {{anchor name="item23|What's the idea behind the FB dialects?"}}==
26-
==- {{anchor name="item24|Why does my program crash when I define an array larger than xx ?"}}==
26+
==- {{anchor name="item24|Why does my program crash when I define an array larger than xx?"}}==
27+
==- {{anchor name="item25|Why does my program fail to compile with the message 'cannot find -llibname'"?}}==
2728

2829
**Advanced ""FreeBASIC""**
2930

@@ -104,7 +105,7 @@
104105
{{anchor name="item0|Back to top"}}
105106

106107
{{anchor name="item8"}}==Does ""FreeBASIC"" support Object Oriented Programming?==
107-
""FreeBASIC"" (as of version 0.90) supports classes (user-defined types) with member functions (methods), static methods, static member variables, constructors, destructors, properties, operator overloading, single inheritance, virtual and abstract methods (polymorphism) and run-time type information. Future plans regarding OOP functionality include adding support for multiple inheritance and/or interfaces. For more information see: [[TutBeginnersGuideToTypesAsObjects A Beginners Guide to Types as Objects]].
108+
""FreeBASIC"" (since version 0.90) supports classes (user-defined types) with member functions (methods), static methods, static member variables, constructors, destructors, properties, operator overloading, single inheritance, virtual and abstract methods (polymorphism) and run-time type information. Future plans regarding OOP functionality include adding support for multiple inheritance and/or interfaces. For more information see: [[TutBeginnersGuideToTypesAsObjects A Beginners Guide to Types as Objects]].
108109

109110
{{anchor name="item0|Back to top"}}
110111

@@ -145,7 +146,7 @@
145146
{{anchor name="item20"}}==Where can I find more information about ""FreeBASIC""?==
146147
The ""FreeBASIC"" Wiki is the most up-to-date manual for using ""FreeBASIC"", available [[http://www.freebasic.net/wiki/ here]].
147148

148-
Active ""FreeBASIC"" related forums, besides the [[http://www.freebasic.net/forum official one]], can be found at [[http://www.qbasicnews.com/ qbasicnews]], [[http://www.petesqbsite.com/forum/ Pete's QB Site]] , [[http://games.freebasic.net/forum/index.php the FB Games directory]] or [[http://www.freebasic-portal.de freebasic-portal.de (in German)]].
149+
Active ""FreeBASIC"" related forums, besides the [[http://www.freebasic.net/forum official one]], can be found at [[http://www.qbasicnews.com/ qbasicnews]], [[http://www.petesqbsite.com/phpBB3/ Pete's QB Site]] , [[http://games.freebasic.net/forum/index.php the FB Games directory]] or [[http://www.freebasic-portal.de freebasic-portal.de (in German)]].
149150

150151
Active magazines which regularly have ""FreeBASIC"" related articles are [[http://www.petesqbsite.com/sections/express/express.shtml QB Express]] and [[http://www.qbxl.net/ QBXL Magazine]]. These magazines are always looking for new articles, so if you think you've got a good idea for an article about ""FreeBASIC"", submit it!
151152

@@ -192,6 +193,9 @@
192193

193194
//Static// and //variable-length// arrays don't use the program stack for their element data, so do not have the problem associated with //automatic// fixed-length arrays. See [[ProPgStorageClasses Storage Classes]] for more information. Note that storing huge buffers as //static// or increasing the stack size far above the default is not a very good idea, since it increases the fixed amount of memory needed to load and start you program, even if most of it is not used later, and can result in performance degrade, or even refusing your program to load at all.
194195

196+
{{anchor name="item25"}}==Why does my program fail to compile with the message 'cannot find -llibname'"?==
197+
This is an error raised by the linker. The program is supposed to link to an external library, designated in the program code with ##[[KeyPgInclib #Inclib]]## or on the compiler command line with ##[[CompilerOptL -l]]##. However, the linker has been unable to find a matching file in any of the library paths. Check the homepage of the library you want to compile with to find out how to download it, or check [[ExtLibTOC]] to see if information about the library can be found there.
198+
195199
{{anchor name="item0|Back to top"}}
196200

197201
----
@@ -241,7 +245,7 @@ Depends. If your OS at least egalizes the functionality of DOS with DPMI32 (cons
241245

242246
{{anchor name="item37"}}==Does ""FreeBASIC"" support returning references from Functions, like in ""C++""?==
243247

244-
In version 0.24.0b and earlier, this is not possible. However, functionality for this now exists from version 0.90.0. Procedures can now return references using ##[[KeyPgByrefFunction byref]] as //datatype//## for the return type.
248+
Yes, this functionality exists since version 0.90.0. Procedures can now return references using ##[[KeyPgByrefFunction byref]] as //datatype//## for the return type.
245249

246250
{{anchor name="item0|Back to top"}}
247251

doc/manual/cache/CompilerInstalling.wakka

Lines changed: 50 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,84 @@
11
{{fbdoc item="title" value="Installing"}}----
22
Installing ""FreeBASIC"", any additionally needed packages, and perhaps a text editor or IDE.
33

4-
{{fbdoc item="section" value="Windows"}}
4+
{{fbdoc item="section" value="Windows 32bit"}}
55

66
1) Download the latest [[https://sourceforge.net/projects/fbc/files/Binaries%20-%20Windows/ FreeBASIC-x.xx.x-win32.exe]] installer
77
1) Run it and click through it. The installer will install ""FreeBASIC"" at ##""C:\%ProgramFiles%\FreeBASIC""##, or if you chose a different installation directory, in your chosen directory. Start Menu shortcuts to the website will be installed as well.
8-
1) Unless you already have a text editor or IDE, you should install one too, as ""FreeBASIC"" itself does not include one. An IDE can be used to write and save .bas files and to launch the ""FreeBASIC"" Compiler to compile them. The following IDEs are known to explicitly support ""FreeBASIC"":
8+
1) Unless you already have a source code editor or IDE, you should install one too, as ""FreeBASIC"" itself does not include one. An IDE can be used to write and save .bas files and to launch the ""FreeBASIC"" Compiler to compile them. The following IDEs are known to explicitly support ""FreeBASIC"":
99
- [[http://fbide.freebasic.net/ FBIDE]]
1010
- [[http://radasm.cherrytree.at/fbedit/ FBEdit]]
11-
11+
1212
To uninstall ""FreeBASIC"", remove it from the system's list of installed software ([[http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/win_addprog_window_component.mspx Add/remove programs]], [[http://windows.microsoft.com/en-US/windows-vista/Uninstall-or-change-a-program Uninstall or change a program]]).
1313

14+
{{fbdoc item="section" value="Windows x64"}}
15+
16+
1) Download the latest [[https://sourceforge.net/projects/fbc/files/Binaries%20-%20Windows/ FreeBASIC-x.xx.x-win64.zip]] package
17+
1) Extract it where you like, for example at ##""C:\%ProgramFiles%\FreeBASIC""## (no further installation required to use fbc).
18+
1) You may want to install a source code editor or IDE; also see the **Windows 32bit** section.
19+
20+
To uninstall ""FreeBASIC"", simply deleted the directory where you extracted it.
21+
1422
{{fbdoc item="section" value="Linux"}}
1523

16-
1) Download the latest [[https://sourceforge.net/projects/fbc/files/Binaries%20-%20Linux/ FreeBASIC-x.xx.x-linux.tar.gz]] package
24+
1) Download the latest [[https://sourceforge.net/projects/fbc/files/Binaries%20-%20Linux/ FreeBASIC-x.xx.x-linux-x86.tar.gz (32bit) or FreeBASIC-x.xx.x-linux-x86_64.tar.gz (64bit)]] package
1725
1) Extract the archive, for example by doing right-click -> Extract Here, or manually in a terminal:
1826

1927
%%$ cd Downloads
20-
$ tar xzf FreeBASIC-x.xx.x-linux.tar.gz%%
28+
$ tar xzf FreeBASIC-x.xx.x-linux-x86.tar.gz%%
2129

22-
1) The ""FreeBASIC"" setup can be used from where it was extracted. Usually it is installed into the /usr/local system directory though, so that the ##fbc## program is available through-out the whole system. To do that, run the included installation script:
30+
1) The ""FreeBASIC"" compiler can be used from where it was extracted. Usually it is installed into the ##/usr/local## system directory though, so that the ##fbc## program is available through-out the whole system. To do that, run the included installation script:
2331

24-
%%$ cd FreeBASIC-x.xx.x-linux
32+
%%$ cd FreeBASIC-x.xx.x-linux-x86
2533
$ sudo ./install.sh -i%%
2634

2735
The ##install.sh## script can also be given a path as in ##./install.sh -i /usr## if you prefer to install into a directory other than the default ##/usr/local##. This default is a good choice though, as it avoids mixing with the content of ##/usr## which is usually managed by the distribution's packaging tool.
28-
36+
2937
1) ""FreeBASIC"" requires several additional packages to be installed before it can be used to compile executables. In general, these are:
3038

3139
- binutils
32-
- libc development files
40+
- libc development files (installing gcc will typically install these too)
3341
- gcc
34-
- ""g++ (or rather, libsupc++, part of libstdc++)""
3542
- libncurses development files
3643
- X11 development files (for FB graphics programs)
3744
- libffi development files (for the [[KeyPgThreadCall ThreadCall]] keyword)
45+
- gpm (general purpose mouse) daemon and libgpm (only needed for GetMouse support in the Linux console)
3846

3947
The actual package names to install vary depending on the GNU/Linux distribution.
4048

41-
Debian/Ubuntu x86 (32bit):
42-
- gcc, ""g++""
43-
- libncurses5-dev
44-
- libx11-dev, libxext-dev, libxrender-dev, libxrandr-dev, libxpm-dev
45-
- libffi-dev
46-
47-
Debian/Ubuntu amd64 (64bit):
48-
- gcc-multilib, ""g++-multilib""
49-
- lib32ncurses5-dev
50-
- libx11-dev:i386, libxext-dev:i386, libxrender-dev:i386, libxrandr-dev:i386, libxpm-dev:i386
51-
52-
older Debian/Ubuntu amd64 (64bit), before the switch to multiarch:
53-
- gcc-multilib, ""g++-multilib""
54-
- lib32ncurses5-dev
55-
- ia32-libs
56-
- lib32ffi-dev
57-
58-
""OpenSUSE"" x86 (32bit):
59-
- gcc, ""gcc-c++""
60-
- ncurses-devel
61-
- xorg-x11-devel
62-
- libffi46-devel
49+
For native development (32bit FB on 32bit system, or 64bit FB on 64bit system):
50+
- Debian/Ubuntu:
51+
- gcc
52+
- libncurses5-dev
53+
- libffi-dev
54+
- libgl1-mesa-dev
55+
- libx11-dev libxext-dev libxrender-dev libxrandr-dev libxpm-dev
56+
- Fedora:
57+
- gcc
58+
- ncurses-devel
59+
- libffi-devel
60+
- mesa-libGL-devel
61+
- libX11-devel libXext-devel libXrender-devel libXrandr-devel libXpm-devel
62+
- ""OpenSUSE"":
63+
- gcc
64+
- ncurses-devel
65+
- libffi46-devel
66+
- xorg-x11-devel
6367

64-
""OpenSUSE"" x86_64 (64bit):
65-
- gcc-32bit, ""gcc-c++-32bit""
66-
- ncurses-devel-32bit
67-
- xorg-x11-devel-32bit
68-
- xorg-x11-libX11-devel-32bit
69-
- xorg-x11-libXext-devel-32bit
70-
- xorg-x11-libXrender-devel-32bit
71-
- xorg-x11-libXpm-devel-32bit
72-
- libffi46-devel-32bit
68+
For 32bit development on a 64bit system:
69+
- Debian/Ubuntu:
70+
- gcc-multilib
71+
- lib32ncurses5-dev
72+
- libx11-dev:i386 libxext-dev:i386 libxrender-dev:i386 libxrandr-dev:i386 libxpm-dev:i386
73+
- ""OpenSUSE"":
74+
- gcc-32bit
75+
- ncurses-devel-32bit
76+
- xorg-x11-devel-32bit
77+
- xorg-x11-libX11-devel-32bit
78+
- xorg-x11-libXext-devel-32bit
79+
- xorg-x11-libXrender-devel-32bit
80+
- xorg-x11-libXpm-devel-32bit
81+
- libffi46-devel-32bit
7382

7483
1) Unless you already have a text editor or IDE, you should install one too, as ""FreeBASIC"" itself does not include one. An IDE can be used to write and save .bas files and to launch the ""FreeBASIC"" Compiler to compile them. The following IDEs are known to explicitly support ""FreeBASIC"":
7584
- [[http://www.geany.org/ Geany]]

doc/manual/cache/CompilerOptoptfile.wakka

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,29 @@ Read (additional) command-line options from the file
66
##
77
{{fbdoc item="param"}}
88
##//file//##
9-
Name of a text file containing command line options. It's possible to use multiple lines in the file. The options in a line must be separated by SPACEs and support Double-quoted strings (like the real command line). This file can contain more @file options.
9+
Name of a text file containing command line options. It's possible to use multiple lines in the file. The options may be separated by spaces or line breaks, and support double-quoted strings to allow spaces in parameters (like the real command line). This file can itself contain additional ##@//file//## options.
1010

1111
{{fbdoc item="desc"}}
12-
The ##@file## compiler option tells the compiler to parse the specified file to find more command line options. The options found in the file are treated as if they were found on the command line. This can be useful to pass very long command lines to the compiler, for example on DOS, where command lines are limited in length.
12+
The ##@//file//## compiler option tells the compiler to parse the specified file to find more command line options. The options found in the file are treated as if they were found on the command line. This can be useful to pass very long command lines to the compiler, for example on DOS, where command lines are limited in length.
13+
14+
{{fbdoc item="ex"}}
15+
##options.txt##:
16+
{{fbdoc item="filename" value="examples/manual/module/options.txt"}}%%
17+
-d TEST=123
18+
%%
19+
20+
##opts.bas##:
21+
{{fbdoc item="filename" value="examples/manual/module/opts.bas"}}%%(freebasic)
22+
Print "TEST=" & TEST
23+
%%
24+
Compile with:
25+
26+
##fbc @options.txt opts.bas##
27+
28+
Output:
29+
%%
30+
TEST=123
31+
%%
1332

1433
{{fbdoc item="see"}}
1534
- [[CompilerCmdLine Using the Command Line]]

0 commit comments

Comments
 (0)