PureBasic Survival Guide - TOC
PureBasic Survival Guide
a tutorial for using purebasic for windows 5.64

Part 0 - TOC
Part I - General
Part II - Converts
Part III - Primer I
Part IV - Primer II
Part V - Advanced
Part VI - 2D Graphics I
Part VII - 2D Graphics II
Part X - Assembly
Part XI - Debugger
Part XII - VirtualBox
Part XIII - Databases
Part XIV - Networking
Part XV - Regular Expressions
Part XVI - Application Data
Part XVII - DPI
Part XXVII - Irregular Expressions
Part XXIX - Projects
 

TOC
v8.06 - 17.10.2018

 

top Table of contents.

Part I - General

1.1 First this
1.2 Set Up
1.3 jaPBe (editor)
1.4 Basic building blocks
1.5 Variables and expressions
1.6 Winapi calls
1.7 Other
1.8 My (stupid) questions
1.9 Some sample code
1.10 Thanks!
Part II - Converts
2.1 Converts
2.2 GfaBasic
2.3 PureBasic 4.00
2.4 PureBasic 4.30
2.5 PureBasic 4.40
2.6 PureBasic 4.50
2.7 Uncovered
Part III - Primer I
3.0 Wanna'be a programmer
3.1 Hello world
3.2 Basic PureBasic
3.3 Variable (types)
3.4 Flow control
3.5 Procedures and variable scope
3.6 Constants
3.7 Peek, Poke, strings and bytes
3.8 Hex, Bin and Val
3.9 Boolean and binary
3.10 Arrays
3.11 Using strings
Part IV - Primer II
4.1 Programming (in) style
4.2 Windows
4.3 ID vs. Number vs. handle
4.4 Events
4.5 Gadgets
4.6 Menus and toolbars
4.7 Include
4.8 Enumeration
4.9 Visual Designer
4.10 File System and FTP
4.11 Desktop and Mouse
Part V - Advanced PureBasic
5.1 Expression evaluation
5.2 Unicode
5.3 Winapi
5.4 Structures and pointers
5.5 Linked lists
5.6 Hash maps
5.7 Threads
5.8 Compiler directives.
5.9 Command line options
5.10 Macros
5.11 Interacting with other applications
5.12 Miscellaneous
Part VI - 2D Graphics I
6.1 As I go
6.2 Basic 2D drawing
6.3 The Alpha channel
6.4 Sprites and screens
Part VII - 2D Graphics II
7.1 More...
7.2 Moving sprites
7.3 Orthagonal fixed speed movement
7.4 Vector based movement with inertia
7.5 Size frequently matters!
Part X - Assembly
10.1 It's machinecode, Jim!
10.2 Glossary
10.3 Registers and stack
10.4 PureBasic and assembly
Part XI - Debugger
11.1 Oh bugger...
11.2 Configure
11.3 Use
11.4 Debug Output
11.5 Variable Viewer
11.6 Watch List
11.7 Memory Viewer
11.8 Profiler
11.9 The Esoteric Process...
Part XII - VirtualBox
12.1 That. Which. Is. Not. Pure.
12.2 Sample network
12.3 Installing VirtualBox
12.4 Creating and cloning VM's
12.5 Installing host and guest
12.6 Why? (Reprise)
Part XIII - Databases
13.1 As I go... again.
13.2 Getting started: talk to me.
13.3 Reading and writing data
13.4 Data types
13.5 The Committed Programmer
13.6 Who calls me a Blob?
13.7 MySQL.
13.8 Installation Server side.
13.9 Installing Client side.
13.10 SQLite to MySQL.
13.11 PostgreSQL.
13.12 Installation Server side.
13.13 Installation Client side.
Part XIV - Networking
14.1 Get connected!
14.2 Setting up shop
14.3 Build-in commands
14.4 WinSock
14.5 All together now...
14.6 FTP
14.7 Port forwarding
Part XV - Regular Expressions
15.1 Two problems...
15.2 Regular expressions
15.3 Links
15.4 Defining and using
15.5 Experiment (REval)
15.6 Literals
15.7 Escaping
15.8 Special characters
15.9 Classes and ranges
15.10 Metacharacters
15.11 Repetition and wildcards
15.12 Grouping
15.13 Position
15.14 Alternatives
Part XVI - Application Data

Part XVII - DPI

Part XXVII - Irregular Expressions

Part XXIX - Projects

29.0.Shhh... Top Secret!
29.1 CodeCaddy

Index.

 @ 
 #   # 
 * 
 $ 
 % 
 &   |   !   ~   >>   << 
 >  <   >=   <=   <>   = 
 +  -   /   * +  -
 \  
#PB_Any
And - binary
arrays - Array
autocomplete
big endian
Bin()
binary
bit - bit - bit
Bool() - Bool() - Bool()
byte
byref - byval
breakoints - data breakpoints
CallFunction() - CallFunctionFast()
ChangeAlphaIntensity()
CreateImage()
CreateSprite() - CreateSprite3d()
critical section
ClearScreen()
CreateGadgetList()
CreateMenu()
CreateToolBar()
console
constants - constants - enumeration
DatabaseQuery() - FinishDatabaseQuery()
Debug - debugger
Declare
Define
DirectX7 - DirectX9
DisplayAlphaSprite()
DisplayShadowSprite()
DisplaySolidSprite()
DisplaySprite()
DisplayTransparentSprite()
DisplayTranslucentSprite()
DrawText()
dll - dll - dll
Elseif
EnableExplicit
Enumeration
eventloop
events
ExamineDirectory()
expression evaluation
file exists
filesize
filesystem
folding - folding
For .. Each
For .. Next
eventloop
FlipBuffers()
FTP
gadgets
GetFunction()
Global - Global
handle
hash maps
hello world
Hex()
hi-byte - hi-word
ID
If / Else / Endif
InitSprite()
Inkey
InitSprite()
ImageOutput()
IncludeFile
integer
library subsystem
Line() - LineXY()
linked lists - List
ListSize() - CountList()
little endian
lo-byte - lo-word
local - style
long
macros
multiline
MeniItem()
Not - binary
number
OffsetOf()
OpenConsole()
OpenDatabase() - CloseDatabase()
OpenFile() - CloseFile()
OpenWindow() - windows
Or - binary
#PB_Any
PeekS() - PeekS()
peek poke - strings - Unicode
pointers
PokeS() - PokeS()
POP
postfix - variable types
prototypes
prefix
PrinterOutput()
Procedure()
Procedure parameters and the stack
ProcedureReturn
ProgramParameter()
Protected - style
pseudotypes
PUSH
Repeat .. Until
ScreenOutput()
Select .. Case .. Endselect
Shared
session history
signed - unsigned - in memory
SizeOf()
sprites - moving sprites
SpriteOutput()
SQL - SQLite - MySQL - PostgreSQL
stack
StartDrawing() - StartDrawing()
StartSpecialFX() - StopSpecialFX()
Static
StopDrawing()
Str()
StringByteLength() - StringByteLength()
StringField()
strings - using - Unicode - in memory
strings in structures - pointers to strings
fixed length strings
Structure - structures
style
Swap
TextureOutput()
threads - threadsave - Threaded
ToolBarStandardButton()
TransparentSpriteColor()
UseGadgetList()
Unicode
Val() - Val()
variables - variables - types - scope
visual designer
WaitWindowEvent()
While / Wend
WindowEvent()
WindowOutput()
windows
With / EndWith
word
winapi - winapi
x_lib
XIncludeFile
XOr - binary