Index

Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | Z

Symbols

3D Cube and Texture
Using RingOpenGL and RingAllegro for 3D Graphics

A

Access List Items by String Index
Lists
Access Objects Using Braces
Object Oriented Programming
Access String Letters
Strings
Accessing the class attributes from braces inside class methods
Scope Rules
Add Items
Lists
addattribute()
Reflection and Meta-programming
AddDays()
Date and Time
Adding code to the generated code
Code Generator
Adding Hyperlink to QLabel
Desktop and Mobile Development
addmethod()
Reflection and Meta-programming
Analog Clock
Applications developed in little hours
Animate Class
Game Engine for 2D Games
Animate Events
Game Engine for 2D Games
Animation
Game Engine for 2D Games
Animation and Functions
Game Engine for 2D Games
Anonymous and Nested Functions
Functional Programming
Application Class
Web Development (CGI Library)
Applications
How to contribute?
Applications developed in little hours
Analog Clock
Calculator Application
FetchStockData Application
Fifteen Puzzle Game 2
Google API Shortener Application
Innovative
Introduction
Practical
Quotes about Ring
Samples in this book
Squares Puzzle Game
TicTacToe Game
Video-Music-Player Application
Werdy Application
Windows StartUp Manager Application
apppath()
Stdlib Functions
Arabic Resources
Resources
Arithmetic Operations
Performance Tips
Arithmetic Operators
Operators
Ascii()
Data Type
Assert()
Eval() and Debugging
Assignment Operators
Operators
attributes()
Reflection and Meta-programming

B

Better Call Command
What is new in Ring 1.2?
Better Cards Game
What is new in Ring 1.8?
Better Code Generator For Extensions
What is new in Ring 1.8?
Better Code Generator for Extensions
What is new in Ring 1.1?
What is new in Ring 1.5?
Better Documentation
What is new in Ring 1.1?
What is new in Ring 1.7?
Better Documentation Generator for Extensions
What is new in Ring 1.5?
Better Form Designer
What is new in Ring 1.8?
Better Functions
What is new in Ring 1.2?
Better Loop|Exit Command
What is new in Ring 1.3?
Better Natural Language Programming Support
What is new in Ring 1.1?
Better Objects Library
What is new in Ring 1.5?
Better Performance
What is new in Ring 1.8?
Better Quality
What is new in Ring 1.2?
What is new in Ring 1.5?
Better Ring Compiler and VM
What is new in Ring 1.8?
Better Ring For Android
What is new in Ring 1.6?
Better Ring Notepad
What is new in Ring 1.2?
What is new in Ring 1.3?
What is new in Ring 1.5?
What is new in Ring 1.6?
What is new in Ring 1.7?
Better Ring VM
What is new in Ring 1.7?
Better Ring2EXE
What is new in Ring 1.7?
Better RingQt
What is new in Ring 1.2?
What is new in Ring 1.3?
What is new in Ring 1.4?
What is new in Ring 1.5?
What is new in Ring 1.6?
What is new in Ring 1.7?
What is new in Ring 1.8?
Better RingREPL
What is new in Ring 1.6?
Better RingVM
What is new in Ring 1.6?
Better RingZip
What is new in Ring 1.7?
Better Scripts for building Ring
What is new in Ring 1.6?
Better StdLib
What is new in Ring 1.3?
What is new in Ring 1.4?
What is new in Ring 1.5?
What is new in Ring 1.6?
Better Trace Library
What is new in Ring 1.7?
Better WebLib
What is new in Ring 1.4?
What is new in Ring 1.5?
binarydigits()
Stdlib Functions
Bitwise Operators
Operators
BraceError() Method
Natural Language Programming
BraceExprEval Method
Natural Language Programming
BraceStart and BraceEnd Methods
Natural Language Programming
Branching
Control Structures
Control Structures - Second Style
Control Structures - Third Style
BreakPoint
The Trace Library and the Interactive Debugger
Building From Source Code
Building using CMake
Building using Fedora Linux
Building using MacOS X
Building using Microsoft Windows
Building using Ubuntu Linux
Introduction
Building Games For Android
Building the project
Download Requirements and Update the Android SDK
Introduction
Project Folder
Building RingQt Applications for Mobile
Comments about developing for Android using RingQt
Download Requirements
Install Qt for Android
Introduction
Update the Android SDK
Using Ring2EXE
Building standalone console application
Distributing Ring Application using Ring2EXE
Building the Cards Game for Mobile using RingQt
Distributing Ring Application using Ring2EXE
Building the Form Designer for Mobile using RingQt
Distributing Ring Application using Ring2EXE
Building the project
Building Games For Android
Building the Weight History Application for Mobile using RingQt
Distributing Ring Application using Ring2EXE
Building using CMake
Building From Source Code
Building using Fedora Linux
Building From Source Code
Building using MacOS X
Building From Source Code
Building using Microsoft Windows
Building From Source Code
Building using Ubuntu Linux
Building From Source Code

C

Calculator Application
Applications developed in little hours
What is new in Ring 1.5?
Call Functions
Functions - First Style
Functions - Second Style
Functions - Third Style
callgc()
Low Level Functions
Calling a function sharing the name with a method in the current class
Scope Rules for Functions and Methods
Calling Functions and Methods
Performance Tips
Can I connect to dbase/harbour database?
Frequently Asked Questions
Can Ring work on Windows XP?
Frequently Asked Questions
capitalized()
Stdlib Functions
cfunctions()
Reflection and Meta-programming
CGI Support
Command Line Options
Change Focus
Desktop and Mobile Development
Change Language Keywords
Syntax Flexibility
Change Language Operators
Syntax Flexibility
Change the '=' operator to 'is'
Natural Language Programming
Change the Ring Keyword 'And'
Natural Language Programming
Change the Ring Operator '+'
Natural Language Programming
Change: Basic Extensions are separated from RingVM
What is new in Ring 1.4?
changestring()
Stdlib Functions
Char()
Data Type
ChDir() Function
System Functions
Check Character
Data Type
Check Data Type
Data Type
Check Parameters Count
Extension
Check Parameters Type
Extension
Classes and Objects
Object Oriented Programming
Classes and their Methods to use the default events
Desktop and Mobile Development
classes()
Reflection and Meta-programming
classname()
Reflection and Meta-programming
Clean Natural Code
Natural Language Programming
Clearerr()
Files
Client Example
RingLibuv
Client Example - Using Classes
RingLibuv
clock()
Date and Time
Close Window Event
RingLibSDL
ClosPerSecond()
Date and Time
Code Generator
Adding code to the generated code
Comments in configuration file
Configuration Files Examples
Configuration file
Configuration file for the Allegro library
Constants Type
Defining Constants
Determine Structure Members Types
Enum and Numbers
Executing code during code generation
Filtering using Expressions
Introduction
Prefix for Functions Names
Qt configuration file
Register New Functions
Static Methods
Threads Support
Using configuration file that wrap C++ library
Using the tool
Wrap structures
Wrapping C++ Classes
function prototype
CodeEditor Class
RingQt Classes Reference
Command Line Options
CGI Support
Generate Object File
Introduction
No Run
Performance
Printing Final Intermediate Code
Printing Instruction Operation Code
Printing Intermediate Code
Printing Rules
Printing Tokens
Comments about developing for Android using RingQt
Building RingQt Applications for Mobile
Comments about evaluation
Control Structures - First Style
Comments in configuration file
Code Generator
Compact Syntax
Language Design
Compiler and Virtual Machine (VM)
How to contribute?
Compiler Errors
Reference
Compiling on Manjaro Linux
What is new in Ring 1.8?
Composition
Object Oriented Programming
Configuration file
Code Generator
Configuration file for the Allegro library
Code Generator
Configuration Files Examples
Code Generator
Configure the Apache web server
Web Development (CGI Library)
Conflict between Class Attributes and Local Variables
Scope Rules
Conflict between Global Variables and Class Attributes
Frequently Asked Questions
Scope Rules
Conflict between self inside braces and self in the class region
Scope Rules
Constants Type
Code Generator
Constructor methods in Ring
Frequently Asked Questions
Contact the Authors
Resources
Context Menu
Desktop and Mobile Development
Control Structures
Branching
Looping
Control Structures - First Style
Comments about evaluation
Do Again Loop
Exit
Exit from two loops
Exit/Loop inside sub functions
For In Loop
For Loop
Introduction
Loop Command
Looping
Short-circuit evaluation
Step Option
Switch Statement
While Loop
for in to modify lists
Control Structures - Second Style
Branching
Exceptions
For In Loop
For Loop
If Statement
Introduction
Looping
Switch Statement
Control Structures - Third Style
Branching
Exceptions
For In Loop
For Loop
If Statement
Introduction
Switch Statement
While Loop
Conversion
Data Type
Conversion Class
Stdlib Classes
Convert between Numbers and Bytes
What is new in Ring 1.4?
Convert Letters Case
Strings
Cookies
Web Development (CGI Library)
Copy Lists
Lists
Copy()
Strings
Could you explain the output of the StrCmp() function?
Frequently Asked Questions
Create Database
MySQL Functions
Create Executable File
Getting Started - First Style
Getting Started - Second Style
Getting Started - Third Style
Create Lists
Lists
Create Multi Dimension Array Using List and Recursion
Lists
Create Table and Insert Data
MySQL Functions
Create Window
RingLibSDL
Create your first extension
Introduction
Location
Steps to create the extension
Testing the extension
Create Zip File
RingZip
Creating a Class for each Window in GUI applications
Scope Rules
Creating Lists
Performance Tips
Creating Menubar
Desktop and Mobile Development
Creating more than one window
Desktop and Mobile Development
Creating Reports using the WebLib and the GUILib
Desktop and Mobile Development
Creating StatusBar
Desktop and Mobile Development
Creating the Game Window
Game Engine for 2D Games
Creating the Qt resource file using Folder2qrc
Distributing Ring Application using Ring2EXE
Creating Toolbar
Desktop and Mobile Development
Creating Windows Installer
Distributing Ring Application
CRUD Example using MVC
Web Development (CGI Library)
CurrentDir() Function
System Functions

D

Data Type
Ascii()
Char()
Check Character
Check Data Type
Conversion
Dec()
Hex()
Hex2str()
Introduction
IsAlNum()
IsAlpha()
IsCntrl()
IsDigit()
IsGraph()
IsList()
IsLower()
IsNULL()
IsNumber()
IsPrint()
IsPunct()
IsSpace()
IsString()
IsUpper()
IsXdigit()
Number()
Str2Hex()
String()
Type()
Database, ModelBase & ControllerBase classes
Web Development (CGI Library)
DataType Class
Stdlib Classes
Date and Time
AddDays()
ClosPerSecond()
Date()
DiffDays()
EpochTime()
Introduction
Time()
TimeList()
clock()
Date()
Date and Time
DateTime Class
Stdlib Classes
dayofweek()
Stdlib Functions
Debug Class
Stdlib Classes
Dec()
Data Type
Decimals()
Mathematical Functions
Declarative Programming
Declarative programming on the top of Object-Oriented
Introduction
More Beatiful Code
Objects inside lists
Return object by reference
executing code after the end of object access
Declarative programming on the top of Object-Oriented
Declarative Programming
Declare parameters
Functions - First Style
Functions - Second Style
Functions - Third Style
Decrypt()
Security and Internet Functions
Deep Copy
Variables
Default value for object attributes
Object Oriented Programming
Default value for object attributes is NULL
What is new in Ring 1.8?
Define Declarative Languages
Language Design
Define Functions
Functions - First Style
Functions - Second Style
Functions - Third Style
Define Natural Statements
Language Design
Defining Commands
Using the Natural Library
Defining commands using classes
Using the Natural Library
Defining Constants
Code Generator
Defining Variables and Variables Access
Scope Rules
Delete Item From List
Lists
Demo Programs
Introduction
Language Shell
Main Menu
The Cards Game
Designed for a clear goal
Language Design
Desktop and Mobile Development
Adding Hyperlink to QLabel
Change Focus
Classes and their Methods to use the default events
Context Menu
Creating Menubar
Creating Reports using the WebLib and the GUILib
Creating StatusBar
Creating Toolbar
Creating more than one window
Dialog Functions
Display Image using QLabel
Display Scaled Image using QLabel
Drawing using QPainter
Dynamic Objects
Inheritance from GUI Classes
KeyPress and Mouse Move Events
Menubar and StyleSheet Example
Methods to use Events with Events Filter
Movable Label Example
Moving Objects using the Mouse
New Classes names - Index Start from 1
Notepad Application
Other Widgets Events
Playing Sound
Printing using QPrinter
QLineEdit Events and QMessageBox
QMessagebox Example
QVideoWidget and QMediaPlayer
Regular Expressions
RingQt Classes and their Qt Documentation
Rotate Text
Simple Client and Server Example
The Cards Game
The Difference between Qt and RingQt
The First GUI Application
Using Layout
Using QCheckBox
Using QComboBox Class
Using QDateEdit
Using QDesktopWidget Class
Using QDial
Using QDockWidget
Using QFrame
Using QInputDialog Class
Using QProgressBar
Using QProgressBar and Timer
Using QRadioButton and QButtonGroup
Using QSlider
Using QSpinBox
Using QTabWidget
Using QTableWidget
Using QTreeView and QFileSystemModel
Using QTreeWidget and QTreeWidgetItem
Using QWebView
Using qLCDNumber
Using the QColorDialog Class
Using the QFileDialog Class
Using the QListWidget Class
Using the QTextEdit Class
Using the QTimer Class
Weight History Application
Determine Structure Members Types
Code Generator
Dialog Functions
Desktop and Mobile Development
DiffDays()
Date and Time
Dir()
Files
direxists()
Stdlib Functions
Disable BreakPoints
The Trace Library and the Interactive Debugger
Display Error Message
Extension
Display Image
RingLibSDL
Display Image using QLabel
Desktop and Mobile Development
Display PNG Images
RingLibSDL
Display Scaled Image using QLabel
Desktop and Mobile Development
Display Transparent Images
RingLibSDL
Display Warnings Option
What is new in Ring 1.2?
Distributing Applications and Games for Mobile
Distributing Ring Application
Distributing Applications for Microsoft Windows
Distributing Ring Application
Distributing Applications for Mobile using RingQt
Distributing Ring Application using Ring2EXE
Distributing Ring Application
Creating Windows Installer
Distributing Applications and Games for Mobile
Distributing Applications for Microsoft Windows
Introduction
Protecting the Source Code
Using C/C++ Compiler and Linker
Distributing Ring Application using Ring2EXE
Building standalone console application
Building the Cards Game for Mobile using RingQt
Building the Form Designer for Mobile using RingQt
Building the Weight History Application for Mobile using RingQt
Creating the Qt resource file using Folder2qrc
Distributing Applications for Mobile using RingQt
Distributing RingAllegro Applications, [1]
Example
How Ring2EXE works?
Important Information about Ring2EXE
Introduction
Options
Using Ring2EXE
Distributing RingAllegro Applications
Distributing Ring Application using Ring2EXE, [1]
Do Again Loop
Control Structures - First Style
Documentation
How to contribute?
Download Requirements
Building RingQt Applications for Mobile
Download Requirements and Update the Android SDK
Building Games For Android
Download()
Security and Internet Functions
Draw Rectangle
RingLibSDL
Drawing Text
Game Engine for 2D Games
Drawing using QPainter
Desktop and Mobile Development
Drawing using RingOpenGL
Using RingOpenGL and RingFreeGLUT for 3D Graphics
Drawing, Animation and Input
Graphics and Game Programming
Dynamic Attributes
Object Oriented Programming
Dynamic Objects
Desktop and Mobile Development
Dynamic Typing
Variables

E

Editors Support
How to contribute?
Embedding Ring in Ring
Embedding Ring in Ring
Embedding Ring in Ring without sharing the State
Runtime Errors when Embedding Ring in Ring
Serial Execution of Programs
ring_state_new() and ring_state_mainfile()
ring_state_setvar()
Embedding Ring in Ring without sharing the State
Embedding Ring in Ring
What is new in Ring 1.3?
Embedding Ring Language in C/C++ Programs
Introduction
Ring State
Ring State Functions
Ring State Variables
Employee Application
What is new in Ring 1.6?
Encourage Organization
Language Design
Encrypt()
Security and Internet Functions
endswith()
Stdlib Functions
Entering Items
Form Designer
Enum and Numbers
Code Generator
Environment Errors
Reference
EpochTime()
Date and Time
Stdlib Functions
Equality of functions
Functional Programming
Eval()
Eval() and Debugging
Eval() and Debugging
Assert()
Eval()
Introduction
Raise()
Try/Carch/Done
evenorodd()
Stdlib Functions
Events Code
Form Designer
Example
Distributing Ring Application using Ring2EXE
Files
FoxRing Functions Reference
Mathematical Functions
Natural Language Programming
Objects Library for RingQt Application
RingMurmurHash Functions Reference
Security and Internet Functions
System Functions
The Type Hints Library
Example - The Trace Library
Low Level Functions
Example - Using the Trace Functions
Low Level Functions
Example about Sharing Names between Functions and Methods
Scope Rules for Functions and Methods
Exceptions
Control Structures - Second Style
Control Structures - Third Style
Execute Program Line by Line
The Trace Library and the Interactive Debugger
Execute Query and Print Result
ODBC Functions
executing code after the end of object access
Declarative Programming
Executing code during code generation
Code Generator
ExeFileName() Function
System Functions
ExeFolder() Function
System Functions
Exit
Control Structures - First Style
Exit from two loops
Control Structures - First Style
Exit/Loop inside sub functions
Control Structures - First Style
Extension
Check Parameters Count
Check Parameters Type
Display Error Message
Fopen() and Fclose() Implementation
Function Prototype
Function Structure
Get Parameters Values
Introduction
Module Organization
MySQL_Columns() Implementation
RING API - String Functions
RING API - list Functions
Return Value
Shared Libraries
Sin() Implementation
ring_ext.c
ring_ext.h
Extensions in C/C++
How to contribute?
Extract Zip File
RingZip

F

Facebook Login
RingLibCurl
factorial()
Stdlib Functions
factors()
Stdlib Functions
Fast Enough For Many Applications
Language Design
Fclose()
Files
Features
Introduction
Feof()
Files
Ferror()
Files
FetchStockData Application
Applications developed in little hours
Fexists()
Files
Fflush()
Files
Fgetc()
Files
Fgetpos()
Files
Fgets()
Files
fibonacci()
Stdlib Functions
Fifteen Puzzle Game 2
Applications developed in little hours
File Class
Stdlib Classes
File Hash
Security and Internet Functions
file2list()
Stdlib Functions
Files
Clearerr()
Dir()
Example
Fclose()
Feof()
Ferror()
Fexists()
Fflush()
Fgetc()
Fgetpos()
Fgets()
Fopen()
Fputc()
Fputs()
Fread()
Freopen()
Fseek()
Fsetpos()
Ftell()
Fwrite()
Introduction
Numbers and Bytes
Perror()
Read File using Read()
Remove()
Rename()
Rewind()
Tempfile()
Tempname()
Ungetc()
Write file using Write()
filter()
Stdlib Functions
Filtering using Expressions
Code Generator
Find in files Application
What is new in Ring 1.8?
Find SubString
Strings
Find() and List of Objects
Object Oriented Programming
First Application using RingLibuv
RingLibuv
First-Class Functions
Functional Programming
First-Class Lists
Lists
Flappy Bird 3000 Game
Game Engine for 2D Games
Fopen()
Files
Fopen() and Fclose() Implementation
Extension
For In Loop
Control Structures - First Style
Control Structures - Second Style
Control Structures - Third Style
for in to modify lists
Control Structures - First Style
For Loop
Control Structures - First Style
Control Structures - Second Style
Control Structures - Third Style
Form Designer
Entering Items
Events Code
Introduction
Keyboard Shortcuts
Menubar Designer
More Samples and Tests
Running Forms
The Designer Windows, [1]
The Properties
Using Layouts
What is new in Ring 1.3?
Window Flags
Form Designer Translation
Multi-language applications
Forms Translation
Multi-language applications
FoxRing functions
FoxRing Functions Reference
FoxRing Functions Reference
Example
FoxRing functions
Introduction
frALines() function
frAbs() function
frAddBs() function
frAllTrim() function
frAsc() function
frAt() function
frAtC() function
frBetween() function
frChr() function
frEmpty() function
frFile() function
frFileToStr() function
frForceExt() function
frForcePath() function
frIIf() function
frInList() function
frInt() function
frJustDrive() function
frJustExt() function
frJustFName() function
frJustPath() function
frJustStem() function
frLTrim() function
frLen() function
frListToString() function
frPadL() function
frPadR() function
frProper() function
frRTrim() function
frReplicate() function
frSetIfEmpty() function
frSetSeparatorTo() function
frSpace() function
frStr() function
frStrTran() function
frStringToList() function
frStuff() function
frSubStr() function
frTransform() function
frVal() function
frVarType() function
FoxRing Library
What is new in Ring 1.8?
Fputc()
Files
Fputs()
Files
frAbs() function
FoxRing Functions Reference
frAddBs() function
FoxRing Functions Reference
frALines() function
FoxRing Functions Reference
frAllTrim() function
FoxRing Functions Reference
Frames Per Second
Using RingOpenGL and RingFreeGLUT for 3D Graphics
frAsc() function
FoxRing Functions Reference
frAt() function
FoxRing Functions Reference
frAtC() function
FoxRing Functions Reference
frBetween() function
FoxRing Functions Reference
frChr() function
FoxRing Functions Reference
Fread()
Files
frEmpty() function
FoxRing Functions Reference
Freopen()
Files
Frequently Asked Questions
Can I connect to dbase/harbour database?
Can Ring work on Windows XP?
Conflict between Global Variables and Class Attributes
Constructor methods in Ring
Could you explain the output of the StrCmp() function?
Getter and Setter Methods
Goal of including the "Main" function in Ring
How can I disable maximize button and resize window?
How to Close a window then displaying another one?
How to add Combobox and other elements to the cells of a QTableWidget?
How to create a Modal Window?
How to create an array of buttons in GUI applications?
How to extend RingQt and add more classes?
How to get the current source file path?
How to get the file size using ftell() and fseek() functions?
How to insert an item to the first position in the list?
How to perform some manipulations on selected cells in QTableWidget?
How to print keys or values only in List/Dictionary?
How to print lists that contains objects?
How to print new lines and other characters?
How to use NULL and ISNULL() function?
How to use SQLite using ODBC?
How to use many source code files in the project?
Introduction
Is Ring some sort of an improvement of PHP?
List index start from 1
Philosophy behind data types in Ring
Search of global names while defining the class attributes
The documentation says functional programming is supported, but then this happens?
What about predefined parameters or optional parameters in functions?
What about the Boolean values in Ring?
What are the advantages of using Ring over native C or C++?
What are the advantages to using Ring over C# or Java?
What are the advantages to using Ring over Lisp or Smalltalk?
What are the advantages to using Ring over Python and Ruby?
What are the advantages to using Ring over Tcl and Lua?
What happens when we create a new object?
What is the difference between Ring and Python? And is Ring Open Source?
Where can I write a program and execute it?
Which of 3 coding styles are commonly used or recommended by the community?
Why I get Calling Function without definition Error?
Why I get a strange result when printing nl with lists?
Why Ring is not case-sensitive
Why Ring uses 'See', 'Give', 'But' and 'Ok' Keywords?
Why do we need Yet Another Programming Language (YAPL)?
Why is Ring largely focussed on UI creation?
Why is Ring weakly typed?
Why setClickEvent() doesn't see the object methods directly?
Why the Assignment operator uses Deep copy?
Why the ability to define your own languages Instead of just handing over the syntax so you can parse it using whatever code you like?
Why the window title bar is going outside the screen?
Why this example use the GetChar() twice?
Why we don't use () after the qApp class name?
Why you can specify the number of loops you want to break out of?
frFile() function
FoxRing Functions Reference
frFileToStr() function
FoxRing Functions Reference
frForceExt() function
FoxRing Functions Reference
frForcePath() function
FoxRing Functions Reference
frIIf() function
FoxRing Functions Reference
frInList() function
FoxRing Functions Reference
frInt() function
FoxRing Functions Reference
frJustDrive() function
FoxRing Functions Reference
frJustExt() function
FoxRing Functions Reference
frJustFName() function
FoxRing Functions Reference
frJustPath() function
FoxRing Functions Reference
frJustStem() function
FoxRing Functions Reference
frLen() function
FoxRing Functions Reference
frListToString() function
FoxRing Functions Reference
frLTrim() function
FoxRing Functions Reference
frPadL() function
FoxRing Functions Reference
frPadR() function
FoxRing Functions Reference
frProper() function
FoxRing Functions Reference
frReplicate() function
FoxRing Functions Reference
frRTrim() function
FoxRing Functions Reference
frSetIfEmpty() function
FoxRing Functions Reference
frSetSeparatorTo() function
FoxRing Functions Reference
frSpace() function
FoxRing Functions Reference
frStr() function
FoxRing Functions Reference
frStringToList() function
FoxRing Functions Reference
frStrTran() function
FoxRing Functions Reference
frStuff() function
FoxRing Functions Reference
frSubStr() function
FoxRing Functions Reference
frTransform() function
FoxRing Functions Reference
frVal() function
FoxRing Functions Reference
frVarType() function
FoxRing Functions Reference
Fseek()
Files
Fsetpos()
Files
FSize()
Stdlib Functions
Ftell()
Files
Function Prototype
Extension
function prototype
Code Generator
Function Structure
Extension
Functional Programming
Anonymous and Nested Functions
Equality of functions
First-Class Functions
Higher-order Functions
Introduction
Pure Functions
Functions - First Style
Call Functions
Declare parameters
Define Functions
Introduction
Main Function
Recursion
Return Value
Send Parameters
Variables Scope
Functions - Second Style
Call Functions
Declare parameters
Define Functions
Introduction
Main Function
Recursion
Return Value
Send Parameters
Variables Scope
Functions - Third Style
Call Functions
Declare parameters
Define Functions
Introduction
Main Function
Recursion
Return Value
Send Parameters
Variables Scope
functions()
Reflection and Meta-programming
Fwrite()
Files

G

Game Class
Game Engine for 2D Games
Game Engine Classes
Game Engine for 2D Games
Game Engine for 2D Games
Animate Class
Animate Events
Animation
Animation and Functions
Creating the Game Window
Drawing Text
Flappy Bird 3000 Game
Game Class
Game Engine Classes
GameObject Class
Games Layer
Graphics Library Bindings
Interface to graphics library
Introduction
Map
Map Class
Map Events
Moving Text
Object and Drawing
Playing Sound
Project Layers
Sound Class
Sprite Automatic Movement
Sprite Class
Sprite Keypress Event
Sprite Mouse Event
Sprite State Event
Stars Fighter Game
Super Man 2016 Game
Text Class
What is new in Ring 1.1?
GameObject Class
Game Engine for 2D Games
Games Layer
Game Engine for 2D Games
gcd()
Stdlib Functions
Generate Object File
Command Line Options
Generate/Execute Ring Object Files (*.ringo)
What is new in Ring 1.1?
Generating Pages using Objects
Web Development (CGI Library)
Get Active Source File Name
System Functions
Get Command Line Arguments
System Functions
Get List Item
Lists
Get List Size
Lists
Get Number of Characters from position
Strings
Get Parameters Values
Extension
Get Request
RingLibCurl
Get Stock Data From Yahoo
RingLibCurl
Get String Length
Strings
Get Substring from position to end
Strings
getattribute()
Reflection and Meta-programming
GetChar()
Getting Input
getnumber()
Stdlib Functions
getstring()
Stdlib Functions
Getter and Setter Methods
Frequently Asked Questions
Getting Input
GetChar()
Getting Started - First Style
Getting Started - Second Style
Getting Started - Third Style
Give Command
Input()
Introduction
Getting Started - First Style
Create Executable File
Getting Input
Hello World
Introduction
Multi-Line literals
No Explicit End For Statements
Not Case-Sensitive
Run the program
Using ? to print expression then new line
Writing Comments
Getting Started - Second Style
Create Executable File
Getting Input
Hello World
Introduction
Multi-Line literals
No Explicit End For Statements
Not Case-Sensitive
Run the program
Writing Comments
Getting Started - Third Style
Create Executable File
Getting Input
Hello World
Introduction
Multi-Line literals
No Explicit End For Statements
Not Case-Sensitive
Run the program
Writing Comments
Give Command
Getting Input
globals()
Reflection and Meta-programming
Goal of including the "Main" function in Ring
Frequently Asked Questions
Google API Shortener Application
Applications developed in little hours
Gradient
Web Development (CGI Library)
Graphics and Game Programming
Drawing, Animation and Input
Introduction
Playing Sound
Scaling and Rotating Images
Threads
Transparent Image
TrueType Fonts
Graphics Library Bindings
Game Engine for 2D Games

H

Hash Functions
Web Development (CGI Library)
HashTable Class
Stdlib Classes
Hello World
Getting Started - First Style
Getting Started - Second Style
Getting Started - Third Style
Hello World Program using the Web Library
Web Development (CGI Library)
Hex()
Data Type
Hex2str()
Data Type
Higher-order Functions
Functional Programming
History
Introduction
Natural Language Programming
How can I disable maximize button and resize window?
Frequently Asked Questions
How Ring find a functions and methods?
Scope Rules for Functions and Methods
How Ring find the Variable?
Scope Rules
How Ring2EXE works?
Distributing Ring Application using Ring2EXE
How to add Combobox and other elements to the cells of a QTableWidget?
Frequently Asked Questions
How to Close a window then displaying another one?
Frequently Asked Questions
How to contribute?
Applications
Compiler and Virtual Machine (VM)
Documentation
Editors Support
Extensions in C/C++
Ideas and suggestions
Introduction
Libraries in Ring
Samples
Special thanks to contributors
Testing
How to create a Modal Window?
Frequently Asked Questions
How to create an array of buttons in GUI applications?
Frequently Asked Questions
How to extend RingQt and add more classes?
Frequently Asked Questions
How to get the current source file path?
Frequently Asked Questions
How to get the file size using ftell() and fseek() functions?
Frequently Asked Questions
How to insert an item to the first position in the list?
Frequently Asked Questions
How to perform some manipulations on selected cells in QTableWidget?
Frequently Asked Questions
How to print keys or values only in List/Dictionary?
Frequently Asked Questions
How to print lists that contains objects?
Frequently Asked Questions
How to print new lines and other characters?
Frequently Asked Questions
How to use many source code files in the project?
Frequently Asked Questions
How to use NULL and ISNULL() function?
Frequently Asked Questions
How to use SQLite using ODBC?
Frequently Asked Questions
HTML Lists
Web Development (CGI Library)
HTML Special Characters
Web Development (CGI Library)
HTML Tables
Web Development (CGI Library)
HtmlPage Class
Web Development (CGI Library), [1]
HTTP Get Example
Web Development (CGI Library)
HTTP POST Example
Web Development (CGI Library)

I

Ideas and suggestions
How to contribute?
If Statement
Control Structures - Second Style
Control Structures - Third Style
Ignore new lines after keywords
Syntax Flexibility
Important Information about Ring2EXE
Distributing Ring Application using Ring2EXE
Inheritance
Object Oriented Programming
Inheritance from GUI Classes
Desktop and Mobile Development
Innovative
Applications developed in little hours
Input()
Getting Input
Insert()
Lists
Install Qt for Android
Building RingQt Applications for Mobile
Interactive Debugger
The Trace Library and the Interactive Debugger
Interface to graphics library
Game Engine for 2D Games
Internet Class
Stdlib Classes
Introduction
Features
History
Introduction
Motivation
Performance Tips
Ring and other languages
Is Ring some sort of an improvement of PHP?
Frequently Asked Questions
IsAlNum()
Data Type
IsAlpha()
Data Type
IsAndroid() Function
System Functions
isattribute()
Reflection and Meta-programming
iscfunction()
Reflection and Meta-programming
isclass()
Reflection and Meta-programming
IsCntrl()
Data Type
IsDigit()
Data Type
IsFreeBSD() Function
System Functions
isfunction()
Reflection and Meta-programming
isglobal()
Reflection and Meta-programming
IsGraph()
Data Type
isleapyear()
Stdlib Functions
IsLinux() Function
System Functions
IsList()
Data Type
islocal()
Reflection and Meta-programming
IsLower()
Data Type
IsMacOSX() Function
System Functions
ismainsourcefile()
Stdlib Functions
ismethod()
Reflection and Meta-programming
IsMSDOS() Function
System Functions
IsNULL()
Data Type
IsNumber()
Data Type
isobject()
Reflection and Meta-programming
ispackage()
Reflection and Meta-programming
ispackagesclass()
Reflection and Meta-programming
isprime()
Stdlib Functions
IsPrint()
Data Type
isprivateattribute()
Reflection and Meta-programming
isprivatemethod()
Reflection and Meta-programming
IsPunct()
Data Type
IsSpace()
Data Type
isspecial()
Stdlib Functions
IsString()
Data Type
IsUnix() Function
System Functions
IsUpper()
Data Type
isvowel()
Stdlib Functions
IsWindows() Function
System Functions
IsWindows64() Function
System Functions
IsXdigit()
Data Type

J

JustFileName()
Stdlib Functions
JustFilePath()
Stdlib Functions

K

Keyboard Events and Colors
Using RingOpenGL and RingFreeGLUT for 3D Graphics
Keyboard Shortcuts
Form Designer
KeyPress and Mouse Move Events
Desktop and Mobile Development

L

Language Design
Compact Syntax
Define Declarative Languages
Define Natural Statements
Designed for a clear goal
Encourage Organization
Fast Enough For Many Applications
Introduction
No Global Interpreter (VM) Lock - No GIL
Simple
Smart Garbage Collector
Syntax Flexibility
Transparent Implementation
Trying to be natural
Visual Implementation
Why Ring?
Language Functions
Reference
Language Grammar
Reference
Language Keywords
Reference
Language Shell
Demo Programs
lcm()
Stdlib Functions
Left()
Strings
Libraries in Ring
How to contribute?
Library Usage
Objects Library for RingQt Application
linecount()
Stdlib Functions
Lines()
Strings
List Class
Stdlib Classes
List index start from 1
Frequently Asked Questions
List of changes and new features
What is new in Ring 1.1?
What is new in Ring 1.2?
What is new in Ring 1.3?
What is new in Ring 1.4?
What is new in Ring 1.5?
What is new in Ring 1.6?
What is new in Ring 1.7?
What is new in Ring 1.8?
list of functions
Mathematical Functions
list2file()
Stdlib Functions
ListAllFiles() Function
Stdlib Functions
Lists
Access List Items by String Index
Add Items
Copy Lists
Create Lists
Create Multi Dimension Array Using List and Recursion
Delete Item From List
First-Class Lists
Get List Item
Get List Size
Insert()
Introduction
Nested Lists
Passing Lists to Functions
Passing Parameters Arguments Using List Array
Passing Parameters or Arguments Using List
Reverse()
Search
Set List Item
Sort()
Swap Items
Using Lists during definition
Load Package
Program Structure
Load Syntax Files
Syntax Flexibility
Loading the Trace library
The Trace Library and the Interactive Debugger
locals()
Reflection and Meta-programming
Location
Create your first extension
Logical Operators
Operators
Loop Command
Control Structures - First Style
Looping
Control Structures
Control Structures - First Style
Control Structures - Second Style
Low Level Functions
Example - The Trace Library
Example - Using the Trace Functions
Introduction
RingVM_CFunctionsList()
RingVM_CallList()
RingVM_ClassesList()
RingVM_FilesList()
RingVM_FunctionsList()
RingVM_MemoryList()
RingVM_PackagesList()
callgc()
nullpointer()
object2pointer()
pointer2object()
ptrcmp()
ringvm_callfunc()
ringvm_evalinscope()
ringvm_give() function
ringvm_hideerrorMsg()
ringvm_passerror()
ringvm_scopescount()
ringvm_see() function
ringvm_settrace()
ringvm_tracedata()
ringvm_traceevent()
ringvm_tracefunc()
space()
varptr()

M

Main Function
Functions - First Style
Functions - Second Style
Functions - Third Style
Main Menu
Demo Programs
Make a Cube using RingOpenGL and RingFreeGLUT
Using RingOpenGL and RingFreeGLUT for 3D Graphics
makedir()
Stdlib Functions
Many Cubes
Using RingOpenGL and RingAllegro for 3D Graphics
Map
Game Engine for 2D Games
Map Class
Game Engine for 2D Games
Map Events
Game Engine for 2D Games
map()
Stdlib Functions
Math Class
Stdlib Classes
Mathematical Functions
Decimals()
Example
Introduction
Random()
Unsigned()
Using _ in numbers
Using f after numbers
list of functions
matrixmulti()
Stdlib Functions
matrixtrans()
Stdlib Functions
MD5()
Security and Internet Functions
Menu Events
Using RingOpenGL and RingFreeGLUT for 3D Graphics
Menubar and StyleSheet Example
Desktop and Mobile Development
Menubar Designer
Form Designer
Merge binary characters
Strings
What is new in Ring 1.8?
mergemethods()
Reflection and Meta-programming
Methods to use Events with Events Filter
Desktop and Mobile Development
methods()
Reflection and Meta-programming
Misc Operators
Operators
Module Organization
Extension
More 3D Samples
Using RingOpenGL and RingAllegro for 3D Graphics
What is new in Ring 1.8?
More Beatiful Code
Declarative Programming
More Samples and Tests
Form Designer
More Syntax Flexibility
What is new in Ring 1.5?
Motivation
Introduction
Mouse Events
RingLibSDL
Using RingOpenGL and RingFreeGLUT for 3D Graphics
Movable Label Example
Desktop and Mobile Development
Moving Objects using the Mouse
Desktop and Mobile Development
Moving Text
Game Engine for 2D Games
Multi-language applications
Form Designer Translation
Forms Translation
Introduction
Using String2Constant
Multi-Line literals
Getting Started - First Style
Getting Started - Second Style
Getting Started - Third Style
MurmurHash1 functions
RingMurmurHash Functions Reference
MurmurHash2 functions
RingMurmurHash Functions Reference
MurmurHash3 functions
RingMurmurHash Functions Reference
MySQL Class
Stdlib Classes
MySQL Functions
Create Database
Create Table and Insert Data
Introduction
MySQL_AutoCommit()
MySQL_Close()
MySQL_Columns()
MySQL_Commit()
MySQL_Connect()
MySQL_Error()
MySQL_Escape_String()
MySQL_Info()
MySQL_Init()
MySQL_Inser_ID()
MySQL_Next_Result()
MySQL_Query()
MySQL_Result()
MySQL_Result2()
MySQL_Rollback()
Print Query Result
Restore Image From The Database
Save Image Inside the Database
Transaction Example
MySQL_AutoCommit()
MySQL Functions
MySQL_Close()
MySQL Functions
MySQL_Columns()
MySQL Functions
MySQL_Columns() Implementation
Extension
MySQL_Commit()
MySQL Functions
MySQL_Connect()
MySQL Functions
MySQL_Error()
MySQL Functions
MySQL_Escape_String()
MySQL Functions
MySQL_Info()
MySQL Functions
MySQL_Init()
MySQL Functions
MySQL_Inser_ID()
MySQL Functions
MySQL_Next_Result()
MySQL Functions
MySQL_Query()
MySQL Functions
MySQL_Result()
MySQL Functions
MySQL_Result2()
MySQL Functions
MySQL_Rollback()
MySQL Functions

N

Natural Language Programming
BraceError() Method
BraceExprEval Method
BraceStart and BraceEnd Methods
Change the '=' operator to 'is'
Change the Ring Keyword 'And'
Change the Ring Operator '+'
Clean Natural Code
Example
History
Introduction
Real Natual Code
Using Eval() with our Natural Code
Natural Library - Demo Program
Using the Natural Library
Nested Lists
Lists
New Classes names - Index Start from 1
Desktop and Mobile Development
New Command: Load Package
What is new in Ring 1.7?
New Functions
What is new in Ring 1.2?
What is new in Ring 1.3?
New Functions and Changes
What is new in Ring 1.1?
New Style to Ring Notepad
What is new in Ring 1.4?
New Tool: Folder2qrc
What is new in Ring 1.6?
New Tool: Ring2EXE
What is new in Ring 1.6?
newlist()
Stdlib Functions
No Explicit End For Statements
Getting Started - First Style
Getting Started - Second Style
Getting Started - Third Style
No Global Interpreter (VM) Lock - No GIL
Language Design
No Run
Command Line Options
Not Case-Sensitive
Getting Started - First Style
Getting Started - Second Style
Getting Started - Third Style
Notepad Application
Desktop and Mobile Development
Notes to extensions creators
What is new in Ring 1.8?
nullpointer()
Low Level Functions
Number()
Data Type
Numbers and Bytes
Files

O

Object and Drawing
Game Engine for 2D Games
Object Library Source Code
Objects Library for RingQt Application
Object Oriented Programming
Access Objects Using Braces
Classes and Objects
Composition
Default value for object attributes
Dynamic Attributes
Find() and List of Objects
Inheritance
Introduction
Operator Overloading
Packages
Printing Objects
Private Attributes and Methods
Setter and Getter
Sort() and List of Objects
Using Self.Attribute
Using This in the class region as Self
Using This.Attribute and This.Method()
object2pointer()
Low Level Functions
objectid()
Reflection and Meta-programming
Objects inside lists
Declarative Programming
Objects Library for RingQt
What is new in Ring 1.2?
Objects Library for RingQt Application
Example
Introduction
Library Usage
Object Library Source Code
Open_WindowAndLink() Function, [1]
Open_WindowInPackages() Function
ODBC Class
Stdlib Classes
ODBC Functions
Execute Query and Print Result
Introduction
Open and Close Connection
Print List of ODBC Data Sources
Print List of ODBC Drivers
Save and Restore Images
Transactions and Using Commit and Rollback
odbc_autocommit()
odbc_close()
odbc_colcount()
odbc_columns()
odbc_commit()
odbc_connect()
odbc_datasources()
odbc_disconnect()
odbc_drivers()
odbc_execute()
odbc_fetch()
odbc_getdata()
odbc_init()
odbc_rollback()
odbc_tables()
odbc_autocommit()
ODBC Functions
odbc_close()
ODBC Functions
odbc_colcount()
ODBC Functions
odbc_columns()
ODBC Functions
odbc_commit()
ODBC Functions
odbc_connect()
ODBC Functions
odbc_datasources()
ODBC Functions
odbc_disconnect()
ODBC Functions
odbc_drivers()
ODBC Functions
odbc_execute()
ODBC Functions
odbc_fetch()
ODBC Functions
odbc_getdata()
ODBC Functions
odbc_init()
ODBC Functions
odbc_rollback()
ODBC Functions
odbc_tables()
ODBC Functions
Open and Close Connection
ODBC Functions
Open_WindowAndLink() Function
Objects Library for RingQt Application, [1]
Open_WindowInPackages() Function
Objects Library for RingQt Application
Operator Overloading
Object Oriented Programming
Operators
Arithmetic Operators
Assignment Operators
Bitwise Operators
Introduction
Logical Operators
Misc Operators
Operators Precedence
Relational Operators
Using the Natural Library
Operators Precedence
Operators
Options
Distributing Ring Application using Ring2EXE
OSCopyFile() Function
Stdlib Functions
OSCopyFolder() Function
Stdlib Functions
OSCreateOpenFolder() Function
Stdlib Functions
OSDeleteFile() Function
Stdlib Functions
OSDeleteFolder() Function
Stdlib Functions
OSRenameFile() Function
Stdlib Functions
Other Widgets Events
Desktop and Mobile Development

P

packagename()
Reflection and Meta-programming
Packages
Object Oriented Programming
packages()
Reflection and Meta-programming
packagesclasses()
Reflection and Meta-programming
Page Class
Web Development (CGI Library)
palindrome()
Stdlib Functions
Pass Error
The Trace Library and the Interactive Debugger
Passing Lists to Functions
Lists
Passing Parameters Arguments Using List Array
Lists
Passing Parameters or Arguments Using List
Lists
Performance
Command Line Options
Performance Tips
Arithmetic Operations
Calling Functions and Methods
Creating Lists
Introduction, [1]
Using len() and For Loops
permutation()
Stdlib Functions
Perror()
Files
Philosophy behind data types in Ring
Frequently Asked Questions
Play Sound
RingLibSDL
Playing Sound
Desktop and Mobile Development
Game Engine for 2D Games
Graphics and Game Programming
pointer2object()
Low Level Functions
Post Request
RingLibCurl
Practical
Applications developed in little hours
Prefix for Functions Names
Code Generator
PrevFileName() Function
System Functions
Print files in Zip file
RingZip
Print List of ODBC Data Sources
ODBC Functions
Print List of ODBC Drivers
ODBC Functions
Print Query Result
MySQL Functions
print()
Stdlib Functions
Print2Str() Function
Stdlib Functions
Printing Final Intermediate Code
Command Line Options
Printing Instruction Operation Code
Command Line Options
Printing Intermediate Code
Command Line Options
Printing Objects
Object Oriented Programming
Printing Rules
Command Line Options
Printing Tokens
Command Line Options
Printing using QPrinter
Desktop and Mobile Development
Private Attributes and Methods
Object Oriented Programming
prodlist()
Stdlib Functions
Program Structure
Introduction
Load Package
Source Code File Sections
Using Many Source Code Files
Project Folder
Building Games For Android
Project Layers
Game Engine for 2D Games
Protecting the Source Code
Distributing Ring Application
ptrcmp()
Low Level Functions
Pure Functions
Functional Programming
puts()
Stdlib Functions

Q

QAbstractButton Class
RingQt Classes Reference
QAbstractItemView Class
RingQt Classes Reference
QAbstractScrollArea Class
RingQt Classes Reference
QAbstractSlider Class
RingQt Classes Reference
QAbstractSocket Class
RingQt Classes Reference
QAbstractSpinBox Class
RingQt Classes Reference
QAction Class
RingQt Classes Reference
QAllEvents Class
RingQt Classes Reference
QApp Class
RingQt Classes Reference
QAxBase Class
RingQt Classes Reference
QAxObject Class
RingQt Classes Reference
QBitmap Class
RingQt Classes Reference
QBluetoothAddress Class
RingQt Classes Reference
QBluetoothDeviceDiscoveryAgent Class
RingQt Classes Reference
QBluetoothDeviceInfo Class
RingQt Classes Reference
QBluetoothHostInfo Class
RingQt Classes Reference
QBluetoothLocalDevice Class
RingQt Classes Reference
QBoxLayout Class
RingQt Classes Reference
QBrush Class
RingQt Classes Reference
QBuffer Class
RingQt Classes Reference
QButtonGroup Class
RingQt Classes Reference
QByteArray Class
RingQt Classes Reference
QCalendarWidget Class
RingQt Classes Reference
QCamera Class
RingQt Classes Reference
QCameraImageCapture Class
RingQt Classes Reference
QCameraViewfinder Class
RingQt Classes Reference
QCheckBox Class
RingQt Classes Reference
QColor Class
RingQt Classes Reference
QColorDialog Class
RingQt Classes Reference
QComboBox Class
RingQt Classes Reference
QCompleter Class
RingQt Classes Reference
QCompleter2 Class
RingQt Classes Reference
QCompleter3 Class
RingQt Classes Reference
QCoreApplication Class
RingQt Classes Reference
QCursor Class
RingQt Classes Reference
QDate Class
RingQt Classes Reference
QDateEdit Class
RingQt Classes Reference
QDateTime Class
RingQt Classes Reference
QDateTimeEdit Class
RingQt Classes Reference
QDesktopServices Class
RingQt Classes Reference
QDesktopWidget Class
RingQt Classes Reference
QDial Class
RingQt Classes Reference
QDialog Class
RingQt Classes Reference
QDir Class
RingQt Classes Reference
QDirModel Class
RingQt Classes Reference
QDockWidget Class
RingQt Classes Reference
QEvent Class
RingQt Classes Reference
QFile Class
RingQt Classes Reference
QFileDevice Class
RingQt Classes Reference
QFileDialog Class
RingQt Classes Reference
QFileInfo Class
RingQt Classes Reference
QFileSystemModel Class
RingQt Classes Reference
QFont Class
RingQt Classes Reference
QFontDialog Class
RingQt Classes Reference
QFontMetrics Class
RingQt Classes Reference
QFrame Class
RingQt Classes Reference
QFrame2 Class
RingQt Classes Reference
QFrame3 Class
RingQt Classes Reference
QGradient Class
RingQt Classes Reference
QGraphicsVideoItem Class
RingQt Classes Reference
QGridLayout Class
RingQt Classes Reference
QGuiApplication Class
RingQt Classes Reference
QHBoxLayout Class
RingQt Classes Reference
QHeaderView Class
RingQt Classes Reference
QHostAddress Class
RingQt Classes Reference
QHostInfo Class
RingQt Classes Reference
QIcon Class
RingQt Classes Reference
QImage Class
RingQt Classes Reference
QInputDialog Class
RingQt Classes Reference
QIODevice Class
RingQt Classes Reference
QJsonArray Class
RingQt Classes Reference
QJsonDocument Class
RingQt Classes Reference
QJsonObject Class
RingQt Classes Reference
QJsonParseError Class
RingQt Classes Reference
QJsonValue Class
RingQt Classes Reference
QKeySequence Class
RingQt Classes Reference
QLabel Class
RingQt Classes Reference
QLayout Class
RingQt Classes Reference
QLCDNumber Class
RingQt Classes Reference
QLinearGradient Class
RingQt Classes Reference
QLineEdit Class
RingQt Classes Reference
QLineEdit Events and QMessageBox
Desktop and Mobile Development
QListView Class
RingQt Classes Reference
QListWidget Class
RingQt Classes Reference
QListWidgetItem Class
RingQt Classes Reference
QMainWindow Class
RingQt Classes Reference
QMatrix4x4 Class
RingQt Classes Reference
QMdiArea Class
RingQt Classes Reference
QMdiSubWindow Class
RingQt Classes Reference
QMediaObject Class
RingQt Classes Reference
QMediaPlayer Class
RingQt Classes Reference
QMediaPlaylist Class
RingQt Classes Reference
QMenu Class
RingQt Classes Reference
QMenuBar Class
RingQt Classes Reference
QMessageBox Class
RingQt Classes Reference
QMessagebox Example
Desktop and Mobile Development
QMutex Class
RingQt Classes Reference
QMutexLocker Class
RingQt Classes Reference
QNetworkAccessManager Class
RingQt Classes Reference
QNetworkProxy Class
RingQt Classes Reference
QNetworkReply Class
RingQt Classes Reference
QNetworkRequest Class
RingQt Classes Reference
QObject Class
RingQt Classes Reference
QOpenGLBuffer Class
RingQt Classes Reference
QOpenGLContext Class
RingQt Classes Reference
QOpenGLDebugLogger Class
RingQt Classes Reference
QOpenGLFramebufferObject Class
RingQt Classes Reference
QOpenGLFunctions Class
RingQt Classes Reference
QOpenGLFunctions_3_2_Core Class
RingQt Classes Reference
QOpenGLPaintDevice Class
RingQt Classes Reference
QOpenGLShader Class
RingQt Classes Reference
QOpenGLShaderProgram Class
RingQt Classes Reference
QOpenGLTexture Class
RingQt Classes Reference
QOpenGLTimerQuery Class
RingQt Classes Reference
QOpenGLVersionProfile Class
RingQt Classes Reference
QOpenGLVertexArrayObject Class
RingQt Classes Reference
QOpenGLWidget Class
RingQt Classes Reference
QPaintDevice Class
RingQt Classes Reference
QPainter Class
RingQt Classes Reference
QPainter2 Class
RingQt Classes Reference
QPainterPath Class
RingQt Classes Reference
QPen Class
RingQt Classes Reference
QPicture Class
RingQt Classes Reference
QPixmap Class
RingQt Classes Reference
QPixmap2 Class
RingQt Classes Reference
QPlainTextEdit Class
RingQt Classes Reference
QPoint Class
RingQt Classes Reference
QPointF Class
RingQt Classes Reference
QPrinter Class
RingQt Classes Reference
QProcess Class
RingQt Classes Reference
QProgressBar Class
RingQt Classes Reference
QPushButton Class
RingQt Classes Reference
QQmlError Class
RingQt Classes Reference
QQuaternion Class
RingQt Classes Reference
QQuickWidget Class
RingQt Classes Reference
QRadioButton Class
RingQt Classes Reference
QRect Class
RingQt Classes Reference
QRegion Class
RingQt Classes Reference
QRegularExpression Class
RingQt Classes Reference
QRegularExpressionMatch Class
RingQt Classes Reference
QRegularExpressionMatchIterator Class
RingQt Classes Reference
QScreen Class
RingQt Classes Reference
QScrollArea Class
RingQt Classes Reference
QScrollBar Class
RingQt Classes Reference
QSerialPort Class
RingQt Classes Reference
QSerialPortInfo Class
RingQt Classes Reference
QSize Class
RingQt Classes Reference
QSlider Class
RingQt Classes Reference
QSpinBox Class
RingQt Classes Reference
QSplashScreen Class
RingQt Classes Reference
QSplitter Class
RingQt Classes Reference
QSqlDatabase Class
RingQt Classes Reference
QSqlDriver Class
RingQt Classes Reference
QSqlDriverCreatorBase Class
RingQt Classes Reference
QSqlError Class
RingQt Classes Reference
QSqlField Class
RingQt Classes Reference
QSqlIndex Class
RingQt Classes Reference
QSqlQuery Class
RingQt Classes Reference
QSqlRecord Class
RingQt Classes Reference
QStackedWidget Class
RingQt Classes Reference
QStandardPaths Class
RingQt Classes Reference
QStatusBar Class
RingQt Classes Reference
QString2 Class
RingQt Classes Reference
QStringList Class
RingQt Classes Reference
QStringRef Class
RingQt Classes Reference
QSurfaceFormat Class
RingQt Classes Reference
QSystemTrayIcon Class
RingQt Classes Reference
Qt Class Convertor
What is new in Ring 1.4?
Qt configuration file
Code Generator
QTabBar Class
RingQt Classes Reference
QTableView Class
RingQt Classes Reference
QTableWidget Class
RingQt Classes Reference
QTableWidgetItem Class
RingQt Classes Reference
QTabWidget Class
RingQt Classes Reference
QTcpServer Class
RingQt Classes Reference
QTcpSocket Class
RingQt Classes Reference
QTest Class
RingQt Classes Reference
QTextBlock Class
RingQt Classes Reference
QTextBrowser Class
RingQt Classes Reference
QTextCharFormat Class
RingQt Classes Reference
QTextCodec Class
RingQt Classes Reference
QTextCursor Class
RingQt Classes Reference
QTextDocument Class
RingQt Classes Reference
QTextEdit Class
RingQt Classes Reference
QThread Class
RingQt Classes Reference
QThreadPool Class
RingQt Classes Reference
QTime Class
RingQt Classes Reference
QTimer Class
RingQt Classes Reference
QToolBar Class
RingQt Classes Reference
QToolButton Class
RingQt Classes Reference
QTreeView Class
RingQt Classes Reference
QTreeWidget Class
RingQt Classes Reference
QTreeWidgetItem Class
RingQt Classes Reference
Queue Class
Stdlib Classes
Quotes about Ring
Applications developed in little hours
QUrl Class
RingQt Classes Reference
QUuid Class
RingQt Classes Reference
QVariant Class
RingQt Classes Reference
QVBoxLayout Class
RingQt Classes Reference
QVector2D Class
RingQt Classes Reference
QVector3D Class
RingQt Classes Reference
QVector4D Class
RingQt Classes Reference
QVideoWidget and QMediaPlayer
Desktop and Mobile Development
QVideoWidget Class
RingQt Classes Reference
QVideoWidgetControl Class
RingQt Classes Reference
QWebEngineView Class
RingQt Classes Reference
QWebView Class
RingQt Classes Reference
QWidget Class
RingQt Classes Reference
QWindow Class
RingQt Classes Reference
QXmlStreamAttribute Class
RingQt Classes Reference
QXmlStreamAttributes Class
RingQt Classes Reference
QXmlStreamEntityDeclaration Class
RingQt Classes Reference
QXmlStreamEntityResolver Class
RingQt Classes Reference
QXmlStreamNamespaceDeclaration Class
RingQt Classes Reference
QXmlStreamNotationDeclaration Class
RingQt Classes Reference
QXmlStreamReader Class
RingQt Classes Reference
QXmlStreamWriter Class
RingQt Classes Reference

R

Raise()
Eval() and Debugging
RandBytes()
Security and Internet Functions
Random Image
Web Development (CGI Library)
Random()
Mathematical Functions
Read File using Read()
Files
readline()
Stdlib Functions
Real Natual Code
Natural Language Programming
Recursion
Functions - First Style
Functions - Second Style
Functions - Third Style
Reference
Compiler Errors
Environment Errors
Introduction
Language Functions
Language Grammar
Language Keywords
Runtime Errors
Virtual Machine Instructions
Reflection and Meta-programming
Introduction
addattribute()
addmethod()
attributes()
cfunctions()
classes()
classname()
functions()
getattribute()
globals()
isattribute()
iscfunction()
isclass()
isfunction()
isglobal()
islocal()
ismethod()
isobject()
ispackage()
ispackagesclass()
isprivateattribute()
isprivatemethod()
locals()
mergemethods()
methods()
objectid()
packagename()
packages()
packagesclasses()
setattribute()
Register New Functions
Code Generator
Regular Expressions
Desktop and Mobile Development
Relational Operators
Operators
Remove()
Files
Rename()
Files
Resources
Arabic Resources
Contact the Authors
Introduction
Ring Group
Ring Language Website
Source Code
Restore Image From The Database
MySQL Functions
Return object by reference
Declarative Programming
Return Self by Reference
What is new in Ring 1.3?
Return Value
Extension
Functions - First Style
Functions - Second Style
Functions - Third Style
Reverse()
Lists
Rewind()
Files
Right()
Strings
Ring and other languages
Introduction
RING API - list Functions
Extension
RING API - String Functions
Extension
Ring CGI Hello World Program
Web Development (CGI Library)
Ring Group
Resources
Ring Language Website
Resources
Ring mode for Emacs Editor
What is new in Ring 1.3?
Ring Notepad
Introduction
Ring Notepad - Creating and running your first GUI application
Ring Notepad - Creating and running your first Web application
Ring Notepad - Creating and running your first console application
Ring Notepad - Creating and running your first game
Ring Notepad - Main Window
The Browser Menu
The Distribute Menu
The Edit Menu
The File Menu
The Help Menu
The Main File in the Project
The Program Menu
The Tools Menu
The View Menu
Ring Notepad - Creating and running your first console application
Ring Notepad
Ring Notepad - Creating and running your first game
Ring Notepad
Ring Notepad - Creating and running your first GUI application
Ring Notepad
Ring Notepad - Creating and running your first Web application
Ring Notepad
Ring Notepad - Main Window
Ring Notepad
Ring State
Embedding Ring Language in C/C++ Programs
Ring State Functions
Embedding Ring Language in C/C++ Programs
Ring State Variables
Embedding Ring Language in C/C++ Programs
Ring VM - Tracing Functions
What is new in Ring 1.5?
ring_ext.c
Extension
ring_ext.h
Extension
ring_state_new() and ring_state_mainfile()
Embedding Ring in Ring
ring_state_new() and ring_state_mainfile() functions
What is new in Ring 1.7?
ring_state_setvar()
Embedding Ring in Ring
RingAllegro Functions Reference
Introduction
RingCodeHighlighter Class
RingQt Classes Reference
RingConsoleColors Extension
What is new in Ring 1.6?
RingConsoleColors Functions Reference
Introduction
RingFreeGLUT Extension
What is new in Ring 1.5?
RingFreeGLUT Functions Reference
Introduction
RingLibCurl
Facebook Login
Get Request
Get Stock Data From Yahoo
Introduction
Post Request
Save output to string
What is new in Ring 1.2?
RingLibCurl Functions Reference
Introduction
RingLibSDL
Close Window Event
Create Window
Display Image
Display PNG Images
Display Transparent Images
Draw Rectangle
Introduction
Mouse Events
Play Sound
Switch Between Two Images
Use TTF Fonts
What is new in Ring 1.1?
RingLibSDL Functions Reference
Introduction
RingLibuv
Client Example
Client Example - Using Classes
First Application using RingLibuv
Introduction
Server Example
Server Example using Classes
The Events Loop
Threads Example
Threads Example - Using Classes
RingLibuv Extension
What is new in Ring 1.7?
RingLibuv Functions Reference
Introduction
RingLibZip Functions Reference
Introduction
RingMurmurHash Extension
What is new in Ring 1.6?
RingMurmurHash Functions Reference
Example
Introduction
MurmurHash1 functions
MurmurHash2 functions
MurmurHash3 functions
RingOpenGL (OpenGL 1.1) Functions Reference
Introduction
RingOpenGL (OpenGL 1.2) Functions Reference
Introduction
RingOpenGL (OpenGL 1.3) Functions Reference
Introduction
RingOpenGL (OpenGL 1.4) Functions Reference
Introduction
RingOpenGL (OpenGL 1.5) Functions Reference
Introduction
RingOpenGL (OpenGL 2.0) Functions Reference
Introduction
RingOpenGL (OpenGL 2.1) Functions Reference
Introduction
RingOpenGL (OpenGL 3.0) Functions Reference
Introduction
RingOpenGL (OpenGL 3.1) Functions Reference
Introduction
RingOpenGL (OpenGL 3.2) Functions Reference
Introduction
RingOpenGL (OpenGL 3.3) Functions Reference
Introduction
RingOpenGL (OpenGL 4.0) Functions Reference
Introduction
RingOpenGL (OpenGL 4.1) Functions Reference
Introduction
RingOpenGL (OpenGL 4.2) Functions Reference
Introduction
RingOpenGL (OpenGL 4.3) Functions Reference
Introduction
RingOpenGL (OpenGL 4.4) Functions Reference
Introduction
RingOpenGL (OpenGL 4.5) Functions Reference
Introduction
RingOpenGL (OpenGL 4.6) Functions Reference
Introduction
RingOpenGL Extension
What is new in Ring 1.5?
RingQt Classes and their Qt Documentation
Desktop and Mobile Development
RingQt Classes Reference
CodeEditor Class
Introduction
QAbstractButton Class
QAbstractItemView Class
QAbstractScrollArea Class
QAbstractSlider Class
QAbstractSocket Class
QAbstractSpinBox Class
QAction Class
QAllEvents Class
QApp Class
QAxBase Class
QAxObject Class
QBitmap Class
QBluetoothAddress Class
QBluetoothDeviceDiscoveryAgent Class
QBluetoothDeviceInfo Class
QBluetoothHostInfo Class
QBluetoothLocalDevice Class
QBoxLayout Class
QBrush Class
QBuffer Class
QButtonGroup Class
QByteArray Class
QCalendarWidget Class
QCamera Class
QCameraImageCapture Class
QCameraViewfinder Class
QCheckBox Class
QColor Class
QColorDialog Class
QComboBox Class
QCompleter Class
QCompleter2 Class
QCompleter3 Class
QCoreApplication Class
QCursor Class
QDate Class
QDateEdit Class
QDateTime Class
QDateTimeEdit Class
QDesktopServices Class
QDesktopWidget Class
QDial Class
QDialog Class
QDir Class
QDirModel Class
QDockWidget Class
QEvent Class
QFile Class
QFileDevice Class
QFileDialog Class
QFileInfo Class
QFileSystemModel Class
QFont Class
QFontDialog Class
QFontMetrics Class
QFrame Class
QFrame2 Class
QFrame3 Class
QGradient Class
QGraphicsVideoItem Class
QGridLayout Class
QGuiApplication Class
QHBoxLayout Class
QHeaderView Class
QHostAddress Class
QHostInfo Class
QIODevice Class
QIcon Class
QImage Class
QInputDialog Class
QJsonArray Class
QJsonDocument Class
QJsonObject Class
QJsonParseError Class
QJsonValue Class
QKeySequence Class
QLCDNumber Class
QLabel Class
QLayout Class
QLineEdit Class
QLinearGradient Class
QListView Class
QListWidget Class
QListWidgetItem Class
QMainWindow Class
QMatrix4x4 Class
QMdiArea Class
QMdiSubWindow Class
QMediaObject Class
QMediaPlayer Class
QMediaPlaylist Class
QMenu Class
QMenuBar Class
QMessageBox Class
QMutex Class
QMutexLocker Class
QNetworkAccessManager Class
QNetworkProxy Class
QNetworkReply Class
QNetworkRequest Class
QObject Class
QOpenGLBuffer Class
QOpenGLContext Class
QOpenGLDebugLogger Class
QOpenGLFramebufferObject Class
QOpenGLFunctions Class
QOpenGLFunctions_3_2_Core Class
QOpenGLPaintDevice Class
QOpenGLShader Class
QOpenGLShaderProgram Class
QOpenGLTexture Class
QOpenGLTimerQuery Class
QOpenGLVersionProfile Class
QOpenGLVertexArrayObject Class
QOpenGLWidget Class
QPaintDevice Class
QPainter Class
QPainter2 Class
QPainterPath Class
QPen Class
QPicture Class
QPixmap Class
QPixmap2 Class
QPlainTextEdit Class
QPoint Class
QPointF Class
QPrinter Class
QProcess Class
QProgressBar Class
QPushButton Class
QQmlError Class
QQuaternion Class
QQuickWidget Class
QRadioButton Class
QRect Class
QRegion Class
QRegularExpression Class
QRegularExpressionMatch Class
QRegularExpressionMatchIterator Class
QScreen Class
QScrollArea Class
QScrollBar Class
QSerialPort Class
QSerialPortInfo Class
QSize Class
QSlider Class
QSpinBox Class
QSplashScreen Class
QSplitter Class
QSqlDatabase Class
QSqlDriver Class
QSqlDriverCreatorBase Class
QSqlError Class
QSqlField Class
QSqlIndex Class
QSqlQuery Class
QSqlRecord Class
QStackedWidget Class
QStandardPaths Class
QStatusBar Class
QString2 Class
QStringList Class
QStringRef Class
QSurfaceFormat Class
QSystemTrayIcon Class
QTabBar Class
QTabWidget Class
QTableView Class
QTableWidget Class
QTableWidgetItem Class
QTcpServer Class
QTcpSocket Class
QTest Class
QTextBlock Class
QTextBrowser Class
QTextCharFormat Class
QTextCodec Class
QTextCursor Class
QTextDocument Class
QTextEdit Class
QThread Class
QThreadPool Class
QTime Class
QTimer Class
QToolBar Class
QToolButton Class
QTreeView Class
QTreeWidget Class
QTreeWidgetItem Class
QUrl Class
QUuid Class
QVBoxLayout Class
QVariant Class
QVector2D Class
QVector3D Class
QVector4D Class
QVideoWidget Class
QVideoWidgetControl Class
QWebEngineView Class
QWebView Class
QWidget Class
QWindow Class
QXmlStreamAttribute Class
QXmlStreamAttributes Class
QXmlStreamEntityDeclaration Class
QXmlStreamEntityResolver Class
QXmlStreamNamespaceDeclaration Class
QXmlStreamNotationDeclaration Class
QXmlStreamReader Class
QXmlStreamWriter Class
RingCodeHighlighter Class
RingREPL
What is new in Ring 1.4?
RingSQLite
What is new in Ring 1.1?
ringvm_callfunc()
Low Level Functions
RingVM_CallList()
Low Level Functions
RingVM_CFunctionsList()
Low Level Functions
RingVM_ClassesList()
Low Level Functions
ringvm_evalinscope()
Low Level Functions
RingVM_FilesList()
Low Level Functions
RingVM_FunctionsList()
Low Level Functions
ringvm_give() function
Low Level Functions
ringvm_hideerrorMsg()
Low Level Functions
RingVM_MemoryList()
Low Level Functions
RingVM_PackagesList()
Low Level Functions
ringvm_passerror()
Low Level Functions
ringvm_scopescount()
Low Level Functions
ringvm_see() and ringvm_give() functions
What is new in Ring 1.7?
ringvm_see() function
Low Level Functions
ringvm_settrace()
Low Level Functions
ringvm_tracedata()
Low Level Functions
ringvm_traceevent()
Low Level Functions
ringvm_tracefunc()
Low Level Functions
RingZip
Create Zip File
Extract Zip File
Introduction
Print files in Zip file
Using RingZip Classes
Zip Class Reference
ZipEntry Class Reference
RingZip Library
What is new in Ring 1.3?
Rotate Text
Desktop and Mobile Development
Rules
The Type Hints Library
Run the program
Getting Started - First Style
Getting Started - Second Style
Getting Started - Third Style
Running Forms
Form Designer
Runtime Errors
Reference
Runtime Errors when Embedding Ring in Ring
Embedding Ring in Ring

S

Samples
How to contribute?
Samples in this book
Applications developed in little hours
Samples Source (Authors)
Using RingOpenGL and RingFreeGLUT for 3D Graphics
Save and Restore Images
ODBC Functions
Save Image Inside the Database
MySQL Functions
Save output to string
RingLibCurl
Scaling and Rotating Images
Graphics and Game Programming
Scope Rules
Accessing the class attributes from braces inside class methods
Conflict between Class Attributes and Local Variables
Conflict between Global Variables and Class Attributes
Conflict between self inside braces and self in the class region
Creating a Class for each Window in GUI applications
Defining Variables and Variables Access
How Ring find the Variable?
Introduction
Summary of Scope Rules
The For Loops uses the local scope
The Self Object
Three Scopes
Using Braces to access objects inside Class Methods
Using Object.Attribute
Using braces to escape from the current object scope
Scope Rules for Functions and Methods
Calling a function sharing the name with a method in the current class
Example about Sharing Names between Functions and Methods
How Ring find a functions and methods?
Introduction
ScriptFunctions Class
Web Development (CGI Library)
Search
Lists
Search of global names while defining the class attributes
Frequently Asked Questions
Security and Internet Functions
Decrypt()
Download()
Encrypt()
Example
File Hash
Introduction
MD5()
RandBytes()
SHA1()
SHA224()
SHA256()
SHA384()
SHA512()
SendEmail()
Security Class
Stdlib Classes
Send Parameters
Functions - First Style
Functions - Second Style
Functions - Third Style
SendEmail()
Security and Internet Functions
Serial Execution of Programs
Embedding Ring in Ring
Server Example
RingLibuv
Server Example using Classes
RingLibuv
Set List Item
Lists
setattribute()
Reflection and Meta-programming
Setter and Getter
Object Oriented Programming
SHA1()
Security and Internet Functions
SHA224()
Security and Internet Functions
SHA256()
Security and Internet Functions
SHA384()
Security and Internet Functions
SHA512()
Security and Internet Functions
Shared Libraries
Extension
Short-circuit evaluation
Control Structures - First Style
Shutdown() Function
System Functions
sign()
Stdlib Functions
Simple
Language Design
Simple Client and Server Example
Desktop and Mobile Development
Sin() Implementation
Extension
Single: Desktop and Mobile Development
Introduction
sleep()
Stdlib Functions
Smart Garbage Collector
Language Design
Sort()
Lists
Sort() and List of Objects
Object Oriented Programming
Sound Class
Game Engine for 2D Games
Source Code
Resources
Source Code File Sections
Program Structure
space()
Low Level Functions
Special thanks to contributors
How to contribute?
split()
Stdlib Functions
splitmany()
Stdlib Functions
Sprite Automatic Movement
Game Engine for 2D Games
Sprite Class
Game Engine for 2D Games
Sprite Keypress Event
Game Engine for 2D Games
Sprite Mouse Event
Game Engine for 2D Games
Sprite State Event
Game Engine for 2D Games
SQLite
Introduction
sqlite_close()
sqlite_execute()
sqlite_init()
sqlite_open()
SQLite Class
Stdlib Classes
sqlite_close()
SQLite
sqlite_execute()
SQLite
sqlite_init()
SQLite
sqlite_open()
SQLite
Squares Puzzle Game
Applications developed in little hours
Stack Class
Stdlib Classes
Stars Fighter Game
Game Engine for 2D Games
startswith()
Stdlib Functions
Static Methods
Code Generator
StdBase Class
Stdlib Classes
Stdlib Classes
Conversion Class
DataType Class
DateTime Class
Debug Class
File Class
HashTable Class
Internet Class
Introduction
List Class
Math Class
MySQL Class
ODBC Class
Queue Class
SQLite Class
Security Class
Stack Class
StdBase Class
String Class
System Class
Tree Class
Stdlib Functions
EpochTime()
FSize()
Introduction
JustFileName()
JustFilePath()
ListAllFiles() Function
OSCopyFile() Function
OSCopyFolder() Function
OSCreateOpenFolder() Function
OSDeleteFile() Function
OSDeleteFolder() Function
OSRenameFile() Function
Print2Str() Function
SystemCmd() Function
SystemSilent() Function
TrimAll()
TrimLeft()
TrimRight()
apppath()
binarydigits()
capitalized()
changestring()
dayofweek()
direxists()
endswith()
evenorodd()
factorial()
factors()
fibonacci()
file2list()
filter()
gcd()
getnumber()
getstring()
isleapyear()
ismainsourcefile()
isprime()
isspecial()
isvowel()
lcm()
linecount()
list2file()
makedir()
map()
matrixmulti()
matrixtrans()
newlist()
palindrome()
permutation()
print()
prodlist()
puts()
readline()
sign()
sleep()
split()
splitmany()
startswith()
substring()
sumlist()
times()
value()
StdLib functions and classes written in Ring
What is new in Ring 1.1?
Step Option
Control Structures - First Style
Steps to create the extension
Create your first extension
StopWatch Application
What is new in Ring 1.8?
Str2Hex()
Data Type
str2list() and list2str()
Strings
strcmp()
Strings
String Class
Stdlib Classes
String Literals
Strings
String()
Data Type
String2Constant Application
What is new in Ring 1.8?
Strings
Access String Letters
Convert Letters Case
Copy()
Find SubString
Get Number of Characters from position
Get String Length
Get Substring from position to end
Introduction
Left()
Lines()
Merge binary characters
Right()
String Literals
Substr()
Transform Substring To Another Substring
Trim()
str2list() and list2str()
strcmp()
StyleFunctions Class
Web Development (CGI Library)
Substr()
Strings
substring()
Stdlib Functions
sumlist()
Stdlib Functions
Summary of Scope Rules
Scope Rules
Super Man 2016 Game
Game Engine for 2D Games
Swap Items
Lists
Switch Between Two Images
RingLibSDL
Switch Statement
Control Structures - First Style
Control Structures - Second Style
Control Structures - Third Style
Syntax Flexibility
Change Language Keywords
Change Language Operators
Ignore new lines after keywords
Introduction
Language Design
Load Syntax Files
Using "()" around the function parameters
Using $ and @ in the start of the variable name
Using 'case' as 'on' in switch statements
Using 'def' as 'func' in functions/methods definition
Using 'end' keyword after Packages/Classes/Functions
Using 'endpackage'/'endclass'/'endfunc' keywords after Packages/Classes/Functions
Using 'put' and 'get' as 'see' and 'give'
Using Semi-colon after and between statements
Using braces to start and end different control structures
Using braces { } in Packages/Classes/Functions
Using the 'else' keyword as 'other' in switch statement
Using the 'elseif' keyword as 'but' in if statement
Using the 'end' keyword in different control structures
What is new in Ring 1.1?
SysGet() Function
System Functions
System Class
Stdlib Classes
System Functions
ChDir() Function
CurrentDir() Function
Example
ExeFileName() Function
ExeFolder() Function
Get Active Source File Name
Get Command Line Arguments
Introduction
IsAndroid() Function
IsFreeBSD() Function
IsLinux() Function
IsMSDOS() Function
IsMacOSX() Function
IsUnix() Function
IsWindows() Function
IsWindows64() Function
PrevFileName() Function
Shutdown() Function
SysGet() Function
System() Function
Version() Function
Windowsnl() Function
System() Function
System Functions
SystemCmd() Function
Stdlib Functions
SystemSilent() Function
Stdlib Functions

T

Tempfile()
Files
Templates
Web Development (CGI Library)
Tempname()
Files
Testing
How to contribute?
Testing the extension
Create your first extension
Text Class
Game Engine for 2D Games
The Browser Menu
Ring Notepad
The Camera
Using RingOpenGL and RingFreeGLUT for 3D Graphics
The Cards Game
Demo Programs
Desktop and Mobile Development
The Designer Windows
Form Designer, [1]
The Difference between Qt and RingQt
Desktop and Mobile Development
The Distribute Menu
Ring Notepad
The documentation says functional programming is supported, but then this happens?
Frequently Asked Questions
The Edit Menu
Ring Notepad
The Events Loop
RingLibuv
The File Menu
Ring Notepad
The First GUI Application
Desktop and Mobile Development
The First Triangle
Using RingOpenGL and RingFreeGLUT for 3D Graphics
The First Window using RingFreeGLUT
Using RingOpenGL and RingFreeGLUT for 3D Graphics
The For Loops uses the local scope
Scope Rules
What is new in Ring 1.8?
The Help Menu
Ring Notepad
The Main File in the Project
Ring Notepad
The Natural Library
What is new in Ring 1.4?
The Program Menu
Ring Notepad
The Properties
Form Designer
The Self Object
Scope Rules
The Tools Menu
Ring Notepad
The Trace Library and the Interactive Debugger
BreakPoint
Disable BreakPoints
Execute Program Line by Line
Interactive Debugger
Introduction
Loading the Trace library
Pass Error
Trace All Events
Trace control flow between functions
Using the Interactive Debugger
The Type Hints Library
Example
Introduction to the Type Hints Library
Rules
User Types
Using Types inside Code
Why Type Hints?
The View Menu
Ring Notepad
Threads
Graphics and Game Programming
Threads Example
RingLibuv
Threads Example - Using Classes
RingLibuv
Threads Support
Code Generator
Three Scopes
Scope Rules
TicTacToe 3D Game
Using RingOpenGL and RingAllegro for 3D Graphics
TicTacToe Game
Applications developed in little hours
Time()
Date and Time
TimeList()
Date and Time
times()
Stdlib Functions
Trace All Events
The Trace Library and the Interactive Debugger
Trace control flow between functions
The Trace Library and the Interactive Debugger
Trace Library and Interactive Debugger
What is new in Ring 1.5?
Transaction Example
MySQL Functions
Transactions and Using Commit and Rollback
ODBC Functions
Transform Substring To Another Substring
Strings
Transparent Image
Graphics and Game Programming
Transparent Implementation
Language Design
Tree Class
Stdlib Classes
Triangle Rotation
Using RingOpenGL and RingFreeGLUT for 3D Graphics
Trim()
Strings
TrimAll()
Stdlib Functions
TrimLeft()
Stdlib Functions
TrimRight()
Stdlib Functions
TrueType Fonts
Graphics and Game Programming
Try/Carch/Done
Eval() and Debugging
Trying to be natural
Language Design
Type Hints Library
What is new in Ring 1.5?
Type()
Data Type

U

Ungetc()
Files
Unsigned()
Mathematical Functions
Update the Android SDK
Building RingQt Applications for Mobile
Upload Files
Web Development (CGI Library)
URL Encode
Web Development (CGI Library)
Use TTF Fonts
RingLibSDL
User Types
The Type Hints Library
Users registration and Login
Web Development (CGI Library)
Using "()" around the function parameters
Syntax Flexibility
Using $ and @ in the start of the variable name
Syntax Flexibility
Using && and || operators
What is new in Ring 1.6?
Using '<' and ':' operators as 'from' keyword
What is new in Ring 1.3?
Using 'case' as 'on' in switch statements
Syntax Flexibility
Using 'def' as 'func' in functions/methods definition
Syntax Flexibility
Using 'end' keyword after Packages/Classes/Functions
Syntax Flexibility
Using 'endpackage'/'endclass'/'endfunc' keywords after Packages/Classes/Functions
Syntax Flexibility
Using 'put' and 'get' as 'see' and 'give'
Syntax Flexibility
Using ? to print expression then new line
Getting Started - First Style
What is new in Ring 1.6?
Using _ in numbers
Mathematical Functions
Using Atom
Using Other Code Editors
Using Bootstrap Library using Functions
Web Development (CGI Library)
Using Bootstrap Library using Objects
Web Development (CGI Library)
Using Braces to access objects inside Class Methods
Scope Rules
Using braces to escape from the current object scope
Scope Rules
Using braces to start and end different control structures
Syntax Flexibility
Using braces { } in Packages/Classes/Functions
Syntax Flexibility
Using C/C++ Compiler and Linker
Distributing Ring Application
Using configuration file that wrap C++ library
Code Generator
Using CR as Carriage return
What is new in Ring 1.6?
Using Emacs Editor
Using Other Code Editors
Using Eval() with our Natural Code
Natural Language Programming
Using f after numbers
Mathematical Functions
Using Fonts
Using RingOpenGL and RingFreeGLUT for 3D Graphics
Using Geany
Using Other Code Editors
Using Layout
Desktop and Mobile Development
Using Layouts
Form Designer
Using len() and For Loops
Performance Tips
Using Lists during definition
Lists
Using Many Source Code Files
Program Structure
Using Notepad++
Using Other Code Editors
Using NULL instead of NULLPointer()
What is new in Ring 1.2?
Using Object.Attribute
Scope Rules
Using Other Code Editors
Introduction
Using Atom
Using Emacs Editor
Using Geany
Using Notepad++
Using Sublime Text 2
Using Visual Studio IDE
Using QCheckBox
Desktop and Mobile Development
Using QComboBox Class
Desktop and Mobile Development
Using QDateEdit
Desktop and Mobile Development
Using QDesktopWidget Class
Desktop and Mobile Development
Using QDial
Desktop and Mobile Development
Using QDockWidget
Desktop and Mobile Development
Using QFrame
Desktop and Mobile Development
Using QInputDialog Class
Desktop and Mobile Development
Using qLCDNumber
Desktop and Mobile Development
Using QProgressBar
Desktop and Mobile Development
Using QProgressBar and Timer
Desktop and Mobile Development
Using QRadioButton and QButtonGroup
Desktop and Mobile Development
Using QSlider
Desktop and Mobile Development
Using QSpinBox
Desktop and Mobile Development
Using QTableWidget
Desktop and Mobile Development
Using QTabWidget
Desktop and Mobile Development
Using QTreeView and QFileSystemModel
Desktop and Mobile Development
Using QTreeWidget and QTreeWidgetItem
Desktop and Mobile Development
Using QWebView
Desktop and Mobile Development
Using Ring2EXE
Building RingQt Applications for Mobile
Distributing Ring Application using Ring2EXE
Using RingOpenGL and RingAllegro for 3D Graphics
3D Cube and Texture
Introduction
Many Cubes
More 3D Samples
TicTacToe 3D Game
Using RingOpenGL and RingFreeGLUT for 3D Graphics
Drawing using RingOpenGL
Frames Per Second
Introduction
Keyboard Events and Colors
Make a Cube using RingOpenGL and RingFreeGLUT
Menu Events
Mouse Events
Samples Source (Authors)
The Camera
The First Triangle
The First Window using RingFreeGLUT
Triangle Rotation
Using Fonts
What is RingFreeGLUT?
What is RingOpenGL?
Window Resize Event
Using RingZip Classes
RingZip
Using Self.Attribute
Object Oriented Programming
Using Self.Attribute in the Class Region to define new attributes
What is new in Ring 1.1?
Using Semi-colon after and between statements
Syntax Flexibility
Using String2Constant
Multi-language applications
Using Sublime Text 2
Using Other Code Editors
Using Tab instead of char(9)
What is new in Ring 1.6?
Using the ! operator as not
What is new in Ring 1.6?
Using the 'else' keyword as 'other' in switch statement
Syntax Flexibility
Using the 'elseif' keyword as 'but' in if statement
Syntax Flexibility
Using the 'end' keyword in different control structures
Syntax Flexibility
Using the Interactive Debugger
The Trace Library and the Interactive Debugger
Using the Natural Library
Defining Commands
Defining commands using classes
Introduction
Natural Library - Demo Program
Operators
Using the QColorDialog Class
Desktop and Mobile Development
Using the QFileDialog Class
Desktop and Mobile Development
Using the QListWidget Class
Desktop and Mobile Development
Using the QTextEdit Class
Desktop and Mobile Development
Using the QTimer Class
Desktop and Mobile Development
Using the tool
Code Generator
Using This in the class region as Self
Object Oriented Programming
What is new in Ring 1.8?
Using This.Attribute and This.Method()
Object Oriented Programming
Using This.Attribute in nested Braces inside the Class Methods
What is new in Ring 1.1?
Using Types inside Code
The Type Hints Library
Using Visual Studio IDE
Using Other Code Editors

V

value()
Stdlib Functions
Variables
Deep Copy
Dynamic Typing
Introduction
Weakly Typed
Variables Scope
Functions - First Style
Functions - Second Style
Functions - Third Style
varptr()
Low Level Functions
Version() Function
System Functions
Video-Music-Player Application
Applications developed in little hours
What is new in Ring 1.5?
Virtual Machine Instructions
Reference
Visual Implementation
Language Design

W

Weakly Typed
Variables
Web Development (CGI Library)
Application Class
CRUD Example using MVC
Configure the Apache web server
Cookies
Database, ModelBase & ControllerBase classes
Generating Pages using Objects
Gradient
HTML Lists
HTML Special Characters
HTML Tables
HTTP Get Example
HTTP POST Example
Hash Functions
Hello World Program using the Web Library
HtmlPage Class, [1]
Introduction
Page Class
Random Image
Ring CGI Hello World Program
ScriptFunctions Class
StyleFunctions Class
Templates
URL Encode
Upload Files
Users registration and Login
Using Bootstrap Library using Functions
Using Bootstrap Library using Objects
Web Library Features
WebLib API
WebPage Class
Web Library Features
Web Development (CGI Library)
WebLib API
Web Development (CGI Library)
WebPage Class
Web Development (CGI Library)
Weight History Application
Desktop and Mobile Development
Werdy Application
Applications developed in little hours
What about predefined parameters or optional parameters in functions?
Frequently Asked Questions
What about the Boolean values in Ring?
Frequently Asked Questions
What are the advantages of using Ring over native C or C++?
Frequently Asked Questions
What are the advantages to using Ring over C# or Java?
Frequently Asked Questions
What are the advantages to using Ring over Lisp or Smalltalk?
Frequently Asked Questions
What are the advantages to using Ring over Python and Ruby?
Frequently Asked Questions
What are the advantages to using Ring over Tcl and Lua?
Frequently Asked Questions
What happens when we create a new object?
Frequently Asked Questions
What is new in Ring 1.1?
Better Code Generator for Extensions
Better Documentation
Better Natural Language Programming Support
Game Engine for 2D Games
Generate/Execute Ring Object Files (*.ringo)
Introduction
List of changes and new features
New Functions and Changes
RingLibSDL
RingSQLite
StdLib functions and classes written in Ring
Syntax Flexibility
Using Self.Attribute in the Class Region to define new attributes
Using This.Attribute in nested Braces inside the Class Methods
What is new in Ring 1.2?
Better Call Command
Better Functions
Better Quality
Better Ring Notepad
Better RingQt
Display Warnings Option
Introduction
List of changes and new features
New Functions
Objects Library for RingQt
RingLibCurl
Using NULL instead of NULLPointer()
What is new in Ring 1.3?
Better Loop|Exit Command
Better Ring Notepad
Better RingQt
Better StdLib
Embedding Ring in Ring without sharing the State
Form Designer
Introduction
List of changes and new features
New Functions
Return Self by Reference
Ring mode for Emacs Editor
RingZip Library
Using '<' and ':' operators as 'from' keyword
What is new in Ring 1.4.1?
What is new in Ring 1.4?
What is new in Ring 1.4?
Better RingQt
Better StdLib
Better WebLib
Change: Basic Extensions are separated from RingVM
Convert between Numbers and Bytes
Introduction
List of changes and new features
New Style to Ring Notepad
Qt Class Convertor
RingREPL
The Natural Library
What is new in Ring 1.4.1?
What is new in Ring 1.5.1?
What is new in Ring 1.5?
What is new in Ring 1.5.2?
What is new in Ring 1.5?
What is new in Ring 1.5.3?
What is new in Ring 1.5?
What is new in Ring 1.5.4?
What is new in Ring 1.5?
What is new in Ring 1.5?
Better Code Generator for Extensions
Better Documentation Generator for Extensions
Better Objects Library
Better Quality
Better Ring Notepad
Better RingQt
Better StdLib
Better WebLib
Calculator Application
Introduction
List of changes and new features
More Syntax Flexibility
Ring VM - Tracing Functions
RingFreeGLUT Extension
RingOpenGL Extension
Trace Library and Interactive Debugger
Type Hints Library
Video-Music-Player Application
What is new in Ring 1.5.1?
What is new in Ring 1.5.2?
What is new in Ring 1.5.3?
What is new in Ring 1.5.4?
Windows StartUp Manager Application
What is new in Ring 1.6?
Better Ring For Android
Better Ring Notepad
Better RingQt
Better RingREPL
Better RingVM
Better Scripts for building Ring
Better StdLib
Employee Application
Introduction
List of changes and new features
New Tool: Folder2qrc
New Tool: Ring2EXE
RingConsoleColors Extension
RingMurmurHash Extension
Using && and || operators
Using ? to print expression then new line
Using CR as Carriage return
Using Tab instead of char(9)
Using the ! operator as not
What is new in Ring 1.7?
Better Documentation
Better Ring Notepad
Better Ring VM
Better Ring2EXE
Better RingQt
Better RingZip
Better Trace Library
Introduction
List of changes and new features
New Command: Load Package
RingLibuv Extension
ring_state_new() and ring_state_mainfile() functions
ringvm_see() and ringvm_give() functions
What is new in Ring 1.8?
Better Cards Game
Better Code Generator For Extensions
Better Form Designer
Better Performance
Better Ring Compiler and VM
Better RingQt
Compiling on Manjaro Linux
Default value for object attributes is NULL
Find in files Application
FoxRing Library
Introduction
List of changes and new features
Merge binary characters
More 3D Samples
Notes to extensions creators
StopWatch Application
String2Constant Application
The For Loops uses the local scope
Using This in the class region as Self
What is RingFreeGLUT?
Using RingOpenGL and RingFreeGLUT for 3D Graphics
What is RingOpenGL?
Using RingOpenGL and RingFreeGLUT for 3D Graphics
What is the difference between Ring and Python? And is Ring Open Source?
Frequently Asked Questions
Where can I write a program and execute it?
Frequently Asked Questions
Which of 3 coding styles are commonly used or recommended by the community?
Frequently Asked Questions
While Loop
Control Structures - First Style
Control Structures - Third Style
Why do we need Yet Another Programming Language (YAPL)?
Frequently Asked Questions
Why I get a strange result when printing nl with lists?
Frequently Asked Questions
Why I get Calling Function without definition Error?
Frequently Asked Questions
Why is Ring largely focussed on UI creation?
Frequently Asked Questions
Why is Ring weakly typed?
Frequently Asked Questions
Why Ring is not case-sensitive
Frequently Asked Questions
Why Ring uses 'See', 'Give', 'But' and 'Ok' Keywords?
Frequently Asked Questions
Why Ring?
Language Design
Why setClickEvent() doesn't see the object methods directly?
Frequently Asked Questions
Why the ability to define your own languages Instead of just handing over the syntax so you can parse it using whatever code you like?
Frequently Asked Questions
Why the Assignment operator uses Deep copy?
Frequently Asked Questions
Why the window title bar is going outside the screen?
Frequently Asked Questions
Why this example use the GetChar() twice?
Frequently Asked Questions
Why Type Hints?
The Type Hints Library
Why we don't use () after the qApp class name?
Frequently Asked Questions
Why you can specify the number of loops you want to break out of?
Frequently Asked Questions
Window Flags
Form Designer
Window Resize Event
Using RingOpenGL and RingFreeGLUT for 3D Graphics
Windows StartUp Manager Application
Applications developed in little hours
What is new in Ring 1.5?
Windowsnl() Function
System Functions
Wrap structures
Code Generator
Wrapping C++ Classes
Code Generator
Write file using Write()
Files
Writing Comments
Getting Started - First Style
Getting Started - Second Style
Getting Started - Third Style

Z

Zip Class Reference
RingZip
ZipEntry Class Reference
RingZip