General Rules

PureBasic has established rules which never change. These are :

- Comments are marked by ; . All text entered after ; is ignored by the compiler.

Example:

  If a = 10 ; This is a comment to indicate something.
- All functions must be followed by a ( or else it will not be considered as a function, (even for null parameter functions).

Example:

    WindowID() ; it is a function.
    WindowID   ; it is a variable.
- All constants are preceded by #. They can only be declared once in the source and always keep their predefined values. (The compiler replaces all constant names with their corresponding values when compiling the executable.)

Example:

  #Hello = 10 ; it is a constant.
  Hello  = 10 ; it is a variable.
- All labels must be followed by :

Example:

  I_am_a_label:
- An expression is something which can be evaluated. An expression can mix any variables, constants, or functions, of the same type. When you use numbers in an expression, you can add the Keyword $ sign in front of it to mean a hexadecimal number, or a Keyword % sign sign to mean a binary number. Without either of those, the number will be treated as decimal. Strings must be enclosed by inverted commas.

Example:

  a = a+1+(12*3)
  a = a+WindowHeight()+b/2+#MyConstant
  If a <> 12+2 b+2 >= c+3 
  EndIf
  a$ = b$+"this is a string value"+c$
  Foo = Foo + $69 / %1001  ; Hexadecimal and binary number usage
- Any number of commands can be added to the same line by using the : option.

Example:

  If IsCrazy = 0 : MessageRequester("Info", "Not Crazy") : Else : MessageRequester("Info", "Crazy") : EndIf
- Words used in this manual :
<variable> : a basic variable.
<expression> : an expression as explained above.
<constant> : a numeric constant.
<label> : a program label.
<type> : any type, (standard or structured).
- In this guide, all topics are listed in alphabetical order to decrease any search time.