FreeBASIC Manual - Documentation.help

1y ago
1 Views
1 Downloads
8.20 MB
2.4K Pages
Last View : 2d ago
Last Download : 3m ago
Upload by : Milena Petrie
Transcription

FreeBASIC ManualWelcome to FreeBASIC Getting Help with FreeBASICLanguage DocumentationKeywords - AlphabeticalKeywords - FunctionalGraphics KeywordsOperators ListTutorialsProgrammer's GuideCommunity TutorialsCommunity Code LibraryExternal Libraries IndexUsing the FreeBASIC compilerVariables and Data TypesVariable DeclarationsUser Defined TypesStandard Data TypesStandard Data Type LimitsConverting Between DataTypesOperatorsOperatorsOperator PrecedenceBitwise Operators & TruthTablesStatementsControl FlowProceduresModularizingOtherPreprocessorEscape Sequences In StringLiteralsMeta-statementsIntrinsic DefinesError HandlingInstalling FreeBASIC RequirementsRunning FreeBASICUsing the Command Line Command Line OptionsDebugging with FreeBASICCompiler Error MessagesTools used by fbcFreeBASIC dialects andQBASICFreeBASIC and Qbasic Differences from QBFreeBASIC DialectsFAQsCompiler FAQGraphics Library FAQ

Inline AsmRuntime Library ReferenceArray FunctionsBit ManipulationConsole FunctionsDate and Time FunctionsError Handling FunctionsFile IO FunctionsMathematical FunctionsMemory FunctionsOperating System FunctionsString FunctionsThreading Support FunctionsUser Input FunctionsGraphics Library Reference2D Drawing FunctionsUser Input FunctionsScreen FunctionsRuntime Library FAQXbox port FAQDOS related FAQWindows related FAQLinux related FAQMiscellaneousObsolete KeywordsGlossaryMiscellaneous KeywordsC Standard Library FunctionsASCII Character CodesRuntime Error CodesC/C vs. FreeBASIC syntaxcomparisonC/C vs. FreeBASIC integerdata type comparisonHacking on FreeBASICDeveloper's Table of ContentsSupported graphics drivers(backends)Keyboard Scan CodesDefault PalettesThis document last compiled : 2016/01/31 14:20:41 fromhttp://www.freebasic.net/wiki/

Welcome to FreeBASICWelcome to our world! This page is an overview of our online warehouseof knowledge. Enjoy your surfing and we hope this will be the first ofmany visits.IntroductionFreeBASIC is a free 32-bit compiler for the BASIC language. It is opensource and licensed under the GPL. It is designed to be syntaxcompatible with QuickBASIC, while expanding on the language andcapabilities. It can create programs for MS-Windows, DOS and Linux,and is being ported to other platforms. See About FreeBASIC and MainFeatures.Latest VersionFreeBASIC is a beta release compiler and development is ongoing. Witheach full update, many features are added, and bugs from previousreleases are fixed. To see the latest version available, visithttp://sourceforge.net/projects/fbc on SourceForge, orhttp://www.freebasic.net/index.php/download on FreeBASIC'sofficial website.Requirements and InstallationMinimum hardware is listed on the Requirements page. Visit ourInstallation page for setting up FreeBASIC on your computer.RunningFreeBASIC is a compiler and as such is not packaged with an IDE(Integrated Development Editor), although there are a few IDE'savailable. For information on using FreeBASIC without an IDE, seeRunning.Compatibility with QuickBASICFreeBASIC is designed to be syntax compatible with QuickBASIC. Forbest code-compatibility with QuickBASIC, the QB dialect can be usedwhen compiling source code. See FreeBASIC Dialects and Differencesfrom QB.

DocumentationAll official documentation can be found online in the wiki athttp://www.freebasic.net/wiki. The online documentation is the most upto-date resource available. In all cases it can be regarded as the correctversion. The downloadable versions of the manual are snapshots of thedocumentation available at a particular time and should be mostly correctfor a specific released version of the compiler. However, we do notmaintain multiple versions of the documentation so there may be somediscrepancies.Starting points in the ManualTable of ContentsGetting Help with FreeBASICProgrammer's GuideStarting points on the WebOfficial Website at http://www.freebasic.netOfficial Forums at http://www.freebasic.net/forumOfficial Archive at http://www.freebasic.net/archThank you for using FreeBASIC. Happy coding!

Getting help with FreeBASICThere are several options available for getting help with FreeBASIC.The ManualThis huge user's manual is full of information that can help you learn towrite programs using FreeBASIC.The manual is available online at http://www.freebasic.net/wiki. There is asearch box at the bottom of every page to help you find what you'relooking for.If you are unfamiliar with FreeBASIC or the documentation, you may findthese pages a good place to start:Table of ContentsProgrammer's GuideLibrary Headers IndexGlossaryCompiler FAQGraphics Library FAQRuntime Library FAQA downloadable manual (in CHM format) is available from thesourceforge project page at http://sourceforge.net/projects/fbc whichfeatures a full table of contents, searching capabilities, an index, plus allthe same content as the online version.Searching the manual on or offline is an excellent place to start findinghelp about how to write and use FreeBASIC programs.Examples and Source CodeIn the ./examples directory located where FreeBASIC was installed onyour system are hundreds of examples to be compiled and run. Most ofthe external library examples will need additional libraries to bedownloaded to allow them to work. See Library Headers Index for a fulllist.

FreeBASIC's official code archive is located athttp://www.freebasic.net/arch. This archive hosts user contributedlibraries and tools and has links to source code located on otherwebsites.TutorialsCommunity created tutorials about FreeBASIC can be found atCommunityTutorials. Some selected tutorials are included in this manual.FreeBASIC ForumAn active community forum can be found athttp://www.freebasic.net/forum with several sub-forums. The forum hasa search feature that can help you find answers to questions or problemsthat may have already been asked and solved. First do a search for yourproblem, if you can't find the answer then post a message in one of thesub-forums.ChatIRC or Internet Relay Chat is a great way to chat with the developers andother users, some of whom are very knowledgeable. There are severalways to connect to IRC, if you know what you're doing simply join#freebasic on FreeNode.If you haven't the foggiest what IRC is and you have Java installed, youcan simply go here.If you're trying to get help, the most important thing is to be patient.Sometimes you won't get a reply right away. Stick around or check backand the Community will try and assist you.

Alphabetical Keywords ListAlphabetical listing of keywords, macros and procedures.Operators .# A B C D E F G H I K L M N O P R S T U V W X Y ZOperatorsSee Operator List.DATEDate IsoFb 64BitFB ARGCFB ARGVFb ArmFb AsmFb BackendFB BIGENDIANFB BUILD DATEFB CYGWINFB DARWINFB DEBUGFB DOSFB ERRFb FpmodeFb FpuFB FREEBSDFb GccFB LANGKKillLLBoundLCaseLeftLenLetLibLineLine InputLine Input rdLposLPrint

FB LINUXFB MAINFB MIN VERSIONFB MTFB NETBSDFB OPENBSDFB OPTION BYVALFB OPTION DYNAMICFB OPTION ESCAPEFB OPTION EXPLICITFb Option GosubFB OPTION PRIVATEFB OUT DLLFB OUT EXEFB OUT LIBFB OUT OBJFb PcosFB SIGNATUREFB SSEFb UnixFb VectorizeFB VER MAJORFB VER MINORFB VER PATCHFB VERSIONFB WIN32FB XBOXFILEFILE NQFUNCTIONFUNCTION NQLSetLTrimMMid (Statement)Mid exLockMutexUnlockNNakedNameNamespaceNextNewNew (Placement)Next (Resume)NotNowO

path#line#macro#pragma#print#undef Dynamic Include Static LangAAbsAbstract (Member)AccessObjectOctOffsetOfOn ErrorOn.GosubOn.GotoOnceOpenOpen ComOpen ConsOpen ErrOpen LptOpen PipeOpen ScrnOperatorOption()Option BaseOption ByValOption DynamicOption EscapeOption ExplicitOption GosubOption NogosubOption NoKeywordOption PrivateOption StaticOrOr (Graphics Put)OrElseOutOutput

AcosAdd (Graphics Put)AliasAllocateAlpha (Graphics Put)AndAndAlsoAnd (Graphics Base (Initialization)Base (Member SaveByref (Parameters)Byref (Function rint?Print #?#Print Using? UsingPrivatePrivate: (AccessControl)ProcPtrPropertyProtected: (AccessControl)Pset (Statement)Pset (Graphics Put)Ptr

PublicPublic: (AccessControl)Put (Graphics)Put # (File dDestroyCondSignalCondWaitConstConst (Member)RRandomRandomizeReadRead (File Access)Read Write sume peScreen

Const (Qualifier)ConstructorConstructor CUIntCULngCULngIntCUnsgCurDirCUShortCustom (Graphics teDiffDatePartDateSerialDateValueScreen ResScreenSetScreenSyncScreenUnlockSecondSeek (Statement)Seek (Function)Select ShlShrShortSinSingleSizeOfSleep

ulongintDefUShortDeleteDestructorDestructor (Module)DimDirDoDo.LoopDoubleDrawDraw rStaticStatic (Member)stdcallStepStickStopStrStrigString (Function)StringStrPtrSubSub TimerTo

ElseIfEncodingEnd (Block)End (Statement)End IfEnumEnviron t (Message Data ernExtern.End ExternFFalseFieldFileAttrFileCopyFileDateTimeTrans (Graphics Put)TrimTrueType (Alias)Type (Temporary)Type nionUnlockUnsignedUntilUShortUsing (Print)Using (Namespaces)Vva argva firstva nextValValLngValIntValUIntValULngVarVarPtr

eeFileFunctionFunction (Member)View PrintView (Graphics)Virtual iteWrite #Write (File Access)WSpaceWStrWstring (Data Type)Wstring (Function)GGet (Graphics)Get # (File DestroyImageInfoXXorXor (Graphics Put)YYearZ

ImpImplementsImportInkeyInpInput (Statement)Input (File I/O)Input #Input InStrInStrRevIntIntegerIs (Select Case)Is (Run-Time TypeInformation Operator)IsDateIsredirectedZString

. (Ellipsis)Used in place of procedure parameter to pass a variable number of arguments, or abound in an array declaration to denote that the number of elements will be determiinitializer.SyntaxDeclare { Sub Function } proc name cdecl ( param list, . ) { Dim array symbol ([lbound To] .) [As datatype] { expression list#define identifier( [ parameters, ] variadic parameter. ) bodyDescriptionThe ellipsis (three dots, .) is used in procedure declarations and definitions to invariable argument list. A first argument (at least) must always be specified and themust be called with the C calling convention cdecl. In the procedure body,and va next are used to handle the variable arguments.Only numeric types and pointers are supported as variable arguments (all bytes apassed on variable arguments are implicitly converted to integers, all singles passvariable arguments are implicitly converted to doubles). Strings can be passed, ina ZString Ptr to the string data is taken.A variadic procedure name can never be overloaded.Using an ellipsis in place of the upper bound in an array declaration causes the uto be set according to the data that appears in the expression list. When the elliin this manner, an initializer must appear, and cannot be Any.Using an ellipsis behind the last parameter in a #define or #macro declaration alloa variadic macro. This means it is possible to pass any number of arguments to thvariadic parameter, which can be used in the body as if it was a normal macro paThe variadic parameter will expand to the full list of arguments passed to it, inclucommas, and can also be completely empty.ExampleDeclare Function foo cdecl (x As Integer, .) As

Dim As Integer myarray(0 To .) {0, 1, 2, 3}Print LBound(myarray), UBound(myarray)'' 0, 3'' Using a variadic macro to wrap a variadic function#include "crt.bi"#define eprintf(Format, args.) fprintf(stderr, Format, areprintf(!"Hello from printf: %i %s %i\n", 5, "test"'' LISP-like accessors allowing to modify comma-separated l#define car(a, b.) a#define cdr(a, b.) bDifferences from QBNew to FreeBASICSee alsocdeclva argva firstva nextDimStatic#define

DATEIntrinsic define (macro value) set by the compilerSyntaxDATEDescriptionSubstitutes the compiler date in a literal string ("mm-dd-yyyy" format)where used.ExamplePrint "Compile Date: " & DATECompile Date: 09-29-2011Differences from QBNew to FreeBASICSee alsoDate IsoTIMEDate

Date IsoIntrinsic define (macro value) set by the compilerSyntaxDATE ISODescriptionSubstitutes the compiler date in a literal string ("yyyy-mm-dd" format)where used. This format is in line with ISO 8601 and can be used forlexicographical date comparisons.ExamplePrint "Compile Date: " & DATE ISOIf DATE ISO "2011-12-25" ThenPrint "Compiled before Christmas day 2011"ElsePrint "Compiled after Christmas day 2011"End IfCompile Date: 2011-09-29Compiled before Christmas day 2011Differences from QBNew to FreeBASICSee alsoDATE

TIMEDate

Fb 64BitIntrinsic define set by the compilerSyntaxFB 64BITDescriptionDefine created at compile time if the the compilation target is 64bit,otherwise undefined.Example#ifdef FB 64BIT'.instructions for 64bit OSes.#else'.instructions for other OSes#endifDifferences from QBNew to FreeBASICSee alsoFB LINUXFB FREEBSDFB OPENBSDFB NETBSDFB CYGWINFB DARWINFb PcosCompiler Option: -target

FB ARGCIntrinsic define (macro value) set by the compilerSyntaxFB ARGCDescriptionSubstituted with the number of arguments passed in on the command line.FB ARGC is the name of a parameter passed to the program'simplicit main function, and therefore is only defined in the module levelcode of the main module for an application.ExampleDim i As IntegerFor i 0 To FB ARGC - 1Print "arg "; i; " '"; Command(i); "'"Next iDifferences from QBNew to FreeBASICSee alsoFB ARGVCommand

FB ARGVIntrinsic define (macro value) set by the compilerSyntaxFB ARGVDescriptionSubstituted with a pointer to a list of pointers to the zero terminatedcommand line arguments passed in on the command line.FB ARGV is the name of a parameter passed to the program'simplicit main function, and therefore is only defined in the module levelcode of the main module for an application.ExampleDeclare Function main(ByVal argc As Integer,ByVal argv As ZString Ptr Ptr) As IntegerEnd main( FB ARGC , FB ARGV )Private Function main(ByVal argc As Integer,ByVal argv As ZString Ptr Ptr) As IntegerDim i As IntegerFor i 0 To argc - 1Print "arg "; i; " '"; *argv[i]; "'"Next i

Return 0End FunctionDifferences from QBNew to FreeBASICSee alsoFB ARGCCommand

Fb ArmIntrinsic define set by the compilerSyntaxFB ARMDescriptionDefine created at compile time if the compilation target uses the ARMCPU architecture, otherwise undefined.Example#ifdef FB ARM'.instructions for ARM OSes.#else'.instructions for other OSes#endifDifferences from QBNew to FreeBASICSee alsoFB LINUXFB FREEBSDFB OPENBSDFB NETBSDFB CYGWINFB DARWINFb PcosCompiler Option: -target

Fb AsmIntrinsic define set by the compilerSyntaxFB ASMDescriptionreturns a string equal to "intel" or "att" depending onwhether inline assembly blocks should use the Intel format or theGCC/AT&T; format.FB ASMExampleDim a As Long#if FB ASM "intel"Asminc dword Ptr [a]End Asm#elseAsm"incl %0\n" : " m" (a) : :End Asm#endifDifferences from QBNew to FreeBASICSee alsoCompiler Option: -asm

Fb BackendIntrinsic define set by the compilerSyntaxFB BACKENDDescriptionDefined to either "gas" or "gcc", depending on which backend wasspecified via -gen.Differences from QBDid not exist in QB

FB BIGENDIANIntrinsic define set by the compilerSyntaxFB BIGENDIANDescriptionDefine without a value created at compile time if compiling for a big endiantarget.It can be used to compile parts of the program only if the target is big endian.Example#ifdef FB BIGENDIAN'.instructions only for big endian machines#else'.instructions only for little endian machines#endifDifferences from QBDid not exist in QB

FB BUILD DATEIntrinsic define (macro string) set by the compilerSyntaxFB BUILD DATEDescriptionSubstituted with the quoted string containing the date (MM-DD-YYYY) the compiler wExamplePrint "This program compiled with a compiler built onDifferences from QBNew to FreeBASIC

FB CYGWINIntrinsic define set by the compilerSyntaxFB CYGWINDescriptionDefine without a value created at compile time in the Cygwin version ofthe compiler, or when the -target cygwin command line option is used.It can be used to compile parts of the program only if the target isCygwin.Example#ifdef FB CYGWIN'.instructions only for Cygwin.#else'.instructions not for Cygwin.#endifDifferences from QBNew to FreeBASICSee alsoFB LINUXFb Win32Fb UnixCompiler Option: -target

FB DARWINIntrinsic define set by the compilerSyntaxFB DARWINDescriptionDefine without a value created at compile time in the Darwin version ofthe compiler, or when the -target darwin command line option is used.It can be used to compile parts of the program only if the target isDarwin.Example#ifdef FB DARWIN'.instructions only for Darwin.#else'.instructions not for Darwin.#endifDifferences from QBNew to FreeBASICSee alsoFB LINUXFB WIN32Fb UnixCompiler Option: -target

FB DEBUGIntrinsic define (macro value) set by the compilerSyntaxFB DEBUGDescriptionindicates if the the generate debug information option '-g'was specified on the command line at the time of compilation.FB DEBUGReturns non-zero (-1) if the option was specified. Returns zero (0)otherwise.Example#if FB DEBUG 0#print Debug mode#else#print Release mode#endifDifferences from QBNew to FreeBASICSee alsoFB ERRFB MTCompiler Option: -g

FB DOSIntrinsic define set by the compilerSyntaxFB DOSDescriptionDefine without a value created at compile time if compiling for the DOStarget. Default in the DOS hosted version, or active when the -targetdos command line option is used. It can be used to compile parts ofthe program only if the target is DOS. Note: the DOS hosted versioncannot compile to other targets than DOS by now.Example#ifdef FB DOS' . instructions only for DOS .' . INT 0x31#else' . instructions not for DOS .#endifDifferences from QBNew to FreeBASICSee alsoFB LINUXFB WIN32Fb PcosDOS related FAQCompiler Option: -target

FB ERRIntrinsic define (macro value) set by the compilerSyntaxFB ERRDescriptionindicates if -e, -ex, or -exx was specified on the compiler command lincompilation of a module.FB ERRReturns one of the following values:value description0'-e', '-ex', '-exx' not specified1'-e' was specified3'-ex' was specified7'-exx' was specifiedFB ERRis always defined.Example'Example code to demonstrate a use of FB ERRDim err command line As UByteerr command line FB ERRSelect Case err command lineCase 0Print "No Error Checking enabled on the Command Line!"Case 1Print "Some Error Checking enabled on the Command Line!"Case 3Print "QBasic style Error Checking enabled on the CommandCase 7Print "Extreme Error Checking enabled on the Command Line!

Case ElsePrint "Some Unknown Error level has been set!"End SelectDifferences from QBNew to FreeBASICSee alsoFB MTFB DEBUGCompiler Option: -eCompiler Option: -exCompiler Option: -exxError Handling

Fb FpmodeIntrinsic define set by the compilerSyntaxFB FPMODEDescriptionDefined as "fast" if SSE fast arithmetics is enabled, or "precise"otherwise.Example#if FB FPMODE "fast"' . instructions for using fastmode math .#else' . instructions for using normal math .#endifDifferences from QBNew to FreeBASICSee alsoCompiler Option: -fpmode

Fb FpuIntrinsic define set by the compilerSyntaxFB FPUDescriptionDefined as "sse" if SSE floating point arithmetics is enabled, or "x87"otherwise.Example#if FB FPU "sse"' . instructions only for SSE .#else' . instructions not for SSE .#endifDifferences from QBNew to FreeBASICSee alsoFB SSECompiler Option: -fpu

FB FREEBSDIntrinsic define set by the compilerSyntaxFB FREEBSDDescriptionDefine without a value created at compile time in the FreeBSD versionof the compiler, or when the -target freebsd command line option isused. It can be used to compile parts of the program only if the targetis FreeBSD.Example#ifdef FB FREEBSD'.instructions only for FreeBSD.#else'.instructions not for FreeBSD.#endifDifferences from QBNew to FreeBASICSee alsoFB LINUXFB WIN32Fb UnixCompiler Option: -target

Fb GccIntrinsic define set by the compilerSyntaxFB GCCDescriptionDefined to true (-1) if -gen gcc is used, or false (0) otherwise.Differences from QBDid not exist in QB

FB LANGIntrinsic define (macro value) set by the compilerSyntaxFB LANGDescriptionindicates which language compatibility option was set atthe time of compilation of a module. By default FB LANG will be setto "fb". The language compatibility option can be changed using one(or more) of the following methods:-lang command line option-forcelang command line option#lang directive Lang metacommandFB LANGReturns a lower case string with one of the following values:valuedescription''fb''FreeBASIC compatibility (default)''qb''QBASIC compatibility''fblite''FreeBASIC language compatibility, with a more QBASIC-compatible codingstyle''deprecated'' FBC version 0.16 compatibilityFB LANGis always defined.Example'' Set option explicit always on#ifdef FB LANG#if FB LANG "fb"

Option Explicit#endif#else'' Older version - before lang fbOption Explicit#endifDifferences from QBNew to FreeBASICSee alsoFB VERSION#langCompiler Option: -langCompiler Option: -forcelangCompiler Dialects

FB LINUXIntrinsic define set by the compilerSyntaxFB LINUXDescriptionDefine without a value created at compile time when compiling to theLinux target. Default in the Linux hosted version of the compiler, oractive when the -target linux command line option is used. It can beused to compile parts of the program only if the target is Linux.Example#ifdef FB LINUX' . instructions only for Linux .' . #libpath "/usr/X11/lib"#else' . instructions not for Linux .#endifDifferences from QBNew to FreeBASICSee alsoFB DOSFB WIN32Fb UnixCompiler Option: -target

FB MAINIntrinsic define set by the compilerSyntaxFB MAINDescriptionFB MAINis defined in the main module and not defined in othermodules.The main module is determined by the compiler as either the firstsource file listed on the command line or explicitly named using the -moption on the command line.Example#ifdef FB MAIN#print Compiling the main module#else#print Compiling an additional module#endifDifferences from QBNew to FreeBASICSee alsoCompiler Option: -m#ifdef#ifndef

FB MIN VERSIONMacro function to test minimum compiler versionSyntax#define FB MIN VERSION ( major, minor, patch)(( FB VER MAJOR major) or(( FB VER MAJOR major) and (( FB VER MINOR minor) or( FB VER MINOR minor and FB VER PATCH patch level))))UsageFB MIN VERSION ( major, minor, patch)Parametersmajorminimum major version to testminorminimum minor version to testpatchminimum patch version to testReturn ValueReturns zero (0) if the compiler version is less than the specified version, or non-zversion is greater than or equal to specified versionDescriptionFB MIN VERSIONtests for a minimum version of the compiler.Example#if Not FB MIN VERSION (0, 18, 2)#error fbc must be at least version 0.18.2 To compile#endif

Differences from QBNew to FreeBASICSee also#if

FB MTIntrinsic define (macro value) set by the compilerSyntaxFB MTDescriptionindicates if the the multithreaded option -mt was specifiedon the command line at the time of compilation.FB MTReturns non-zero (-1) if the option was specified. Returns zero (0)otherwise.Example#if FB MT#print Using multi-threaded library#else#print Using Single-threaded library#endifDifferences from QBNew to FreeBASICSee alsoFB DEBUGCompiler Option: -mt

FB NETBSDIntrinsic define set by the compilerSyntaxFB NETBSDDescriptionDefine without a value created at compile time in the NetBSD versionof the compiler, or when the -target netbsd command line option isused. It can be used to compile parts of the program only if the targetis NetBSD.Example#ifdef FB NETBSD'.instructions only for NetBSD.#else'.instructions not for NetBSD.#endifDifferences from QBNew to FreeBASICSee alsoFB LINUXFB WIN32Fb UnixCompiler Option: -target

FB OPENBSDIntrinsic define set by the compilerSyntaxFB OPENBSDDescriptionDefine without a value created at compile time in the OpenBSD versionof the compiler, or when the -target openbsd command line option isused. It can be used to compile parts of the program only if the targetis OpenBSD.Example#ifdef FB OPENBSD'.instructions only for OpenBSD.#else'.instructions not for OpenBSD.#endifDifferences from QBNew to FreeBASICSee alsoFB LINUXFB WIN32Fb UnixCompiler Option: -target

FB OPTION BYVALIntrinsic define (macro value) set by the compilerSyntaxFB OPTION BYVALDescriptionIndicates if parameters to a Function or Sub are passed by reference as withor by value as with ByVal by default when the by value / by reference specifier is nexplicitly stated.is set to non-zero (-1) if by default parameters are passedvalue, and zero (0) if by default parameters are passed by reference.FB OPTION BYVALThe default for passing parameters by reference or by value is determined by thelang command line option used during compilation or usage of Option ByValsource file.Example#if( FB OPTION BYVAL 0 )#error Option ByVal must Not be used With This source#endifDifferences from QBNew to FreeBASICSee alsoByValByRefOption ByVal

FB OPTION DYNAMICIntrinsic define (macro value) set by the compilerSyntaxFB OPTION DYNAMICDescriptionFB OPTION DYNAMIC is defined as true (negative one (-1)) if a recentOption Dynamic statement or ' Dynamic meta-command was issued.Otherwise, it is defined as zero (0).Example#if FB OPTION DYNAMIC 0#error This module must Not use Option Dynamic#endifDifferences from QBNew to FreeBASICSee alsoOption DynamicOption Static

FB OPTION ESCAPEIntrinsic define (macro value) set by the compilerSyntaxFB OPTION ESCAPEDescriptionIndicates if by default, string literals are processed for escape characters when noprefixed with the Operator for non-escaped strings, or the ! OperatorThe default method for processing string literals is set by usage of theoption during compilation or usage of Option Escape in the source file.returns zero (0) if the option has not been set. Returns nonthe option has been set.FB OPTION ESCAPEExample#if( FB OPTION ESCAPE 0 )#error Option Escape must Not be used With This include#endifDifferences from QBNew to FreeBASICSee alsoOption Escape

FB OPTION EXPLICITIntrinsic define (macro value) set by the compilerSyntaxFB OPTION EXPLICITDescriptionFB OPTION EXPLICITindicates if OptionExplicithas been used previouslyin the source.Returns zero (0) if the option has not been set. Returns non-zero (-1) if theoption has been set.Example#if( FB OPTION EXPLICIT 0 )#error Option Explicit must used With This module#endifDifferences from QBNew to FreeBASICSee alsoDimOption Explicit

Fb Option GosubIntrinsic define (macro value) set by the compilerSyntaxFB OPTION GOSUBDescriptionIndicates how GoSub and Return will be handled at compile time. If theoption is set (-1) then GoSub is allowed and Return is recognized asreturn-from-gosub only. If the option is not set (0) then GoSub is notallowed and Return is recognized as return-from-procedure only.This macro value can be changed at compile time. Option Gosub willset the option (enable gosub support) and Option Nogosub will clear theoption (disable gosub support).returns zero (0) if the option has not been set.Returns non-zero (-1) if the option has been set.FB OPTION GOSUBExample#if( FB OPTION GOSUB 0 )'' turn off gosub supportOption nogosub#endifDialect DifferencesDefaults to -1 in the -lang qb dialect and 0 in all other dialects.Differences from QBNew to FreeBASIC

See alsoOption GosubOption Nogosub

FB OPTION PRIVATEIntrinsic define (macro value) set by the compilerSyntaxFB OPTION PRIVATEDescriptionIndicates if by default Function's and Sub's have module scope or global scope whnot explicitly specified with Private or Public.The default scope specifier for functions and subs is set by usage of thecommand line option during compilation or usage of Option Private in the sourcereturns zero (0) if the option has not been set.zero (-1) if the option has been set.FB OPTION PRIVATEExample#if( FB OPTION PRIVATE 0 )#error Option Private must Not be used With This module#endifDifferences from QBNew to FreeBASICSee alsoOption PrivatePrivatePublic

FB OUT DLLIntrinsic define (macro value) set by the compilerSyntaxFB OUT DLLDescriptionindicates that the specified output file type on the compiler commacompilation is a shared library.FB OUT DLLReturns non-zero (-1) if the output is a shared library. Retu

Getting help with FreeBASIC There are several options available for getting help with FreeBASIC. The Manual This huge user's manual is full of information that can help you learn to

Related Documents:

Windows and Linux (and if you like you can still run it under DOS). Additionally FreeBasic in combination with glade/Gtk offers a simple framework to create identical GUI applications for Windows and for Linux. The only lack so far is a

While traditional documentation cannot survive the demands of modern development , abandoning documentation altogether equally unviable. An ongoing, automated processes folds modern documentation into the DevOps framework and prevents documentation from becoming a bottleneck to rapid releases. Just as traditional documentation slipstreamed into

Loan Documentation User Guide Moody's Analytics Confidential Information - Do Not Redistribute 7 . 8 Produced by Moody's Analytics - ERS Technical Communications Loan Documentation User Guide : 2 Adding a New Credit Action Model and Documentation Preparation Form The Loan Documentation feature enables you to add new credit action models .

The technical documentation for Boeing aircraft model. CSTA/CAMI Workshop #3: Technical Documentation 5 The volumes of documentation make it easy to understand how documentation problems . align company task cards with the aircraft maintenance manual (Rankin, 2008).

Excellent documentation supports excellent care. 4 Documentation Tip Card: General Documentation Tips Dep ar tm e n t o f V et e r a n s Af f a i rs , Al ed a E . L u tz V AMC Cl i n ic a l Do c um e nt a t io n Imp ro v em e n t P r o g ra m Acute vs. Chronic. It’s important to document conditions as Acute or Chronic, or even an

Clinical Documentation Improvement Clinical Documentation Improvement www.aapc.com 1 Introduction Clinical documentation improvement is a prevailing topic in the health care industry. Clinical documentation is the catalyst for coding, billing, and auditing, and is the con-duit for (and provides evidence of) the quality and conti-

terminology in coding (ICD-9-CM) And CPT also Lack of sufficient documentation or no documentation to support the healthcare claim/charges Documentation and charges did not meet medical necessity Documentation that is conflicting, contrasting, or ambiguous Documentation is nonspecific Reimbursements systems are “CODE .

Woodland Park School District Reading Curriculum English Language Arts Curriculum Writers: Elisabetta Macchiavello, Nancy Munro, Lisa Healey-Wilk, Samantha Krasnomowitz, Monica Voinov, Michele Skrbic, Krystal Capo, Nicole Webb, Veronica Seavy, Pamela Yesenosky, Steve Sans, Rosemary Ficcara, Laura Masefield, Meghan Glenn 2016-2017 Carmela Triglia Director of Curriculum and Instruction. 1 .