SlideShare a Scribd company logo
1 of 25
Download to read offline
Ring Documentation, Release 1.5
How to get the file size using ftell() and fseek() func-
tions?, 1705
How to insert an item to the first position in the list?,
1710
How to perform some manipulations on selected
cells in QTableWidget?, 1721
How to print keys or values only in List/Dictionary?,
1706
How to print lists that contains objects?, 1710
How to print new lines and other characters?, 1711
How to use many source code files in the project?,
1707
How to use NULL and ISNULL() function?, 1709
How to use SQLite using ODBC?, 1715
Introduction, 1690
Is Ring some sort of improvement over PHP?, 1693
List index start from 1, 1699
Philosophy behind data types in Ring, 1696
Search of global names while defining the class at-
tributes, 1703
The documentation says functional programming is
supported, but then this happens?, 1695
What about predefined parameters or optional pa-
rameters in functions?, 1705
What about the Boolean values in Ring?, 1697
What are the advantages to using Ring over C# or
Java?, 1695
What are the advantages to using Ring over Lisp or
Smalltalk?, 1692
What are the advantages to using Ring over native C
or C++?, 1693
What are the advantages to using Ring over Python
and Ruby?, 1694
What are the advantages to using Ring over Tcl and
Lua?, 1694
What happens when we create a new object?, 1701
What is the difference between Ring and Python?
And is Ring Open Source?, 1693
Where can I write a program and execute it?, 1704
Why do we need Yet Another Programming Lan-
guage (YAPL)?, 1691
Why I get a strange result when printing nl with
lists?, 1706
Why I get Calling Function without definition Er-
ror?, 1717
Why Ring is largely focussed on UI creation?, 1693
Why Ring is not case-sensitive, 1699
Why Ring is weakly typed?, 1692
Why Ring uses ’See’, ’Give’, ’But’ and ’Ok’ Key-
words?, 1696
Why setClickEvent() doesn’t see the object methods
directly?, 1717
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?, 1695
Why the Assignment operator uses Deep copy?,
1700
Why the window title bar is going outside the
screen?, 1711
Why this example use the GetChar() twice?, 1708
Why we don’t use () after the qApp class name?,
1711
Why you can specify the number of loops you want
to break out of?, 1696
Fseek()
Files, 203
Fsetpos()
Files, 204
FSize()
Stdlib Functions, 298
Ftell()
Files, 203
Function Prototype
Extension, 729
function prototype
Code Generator, 738
Function Structure
Extension, 727
Functional Programming
Anonymous and Nested Functions, 264
Equality of functions, 265
First-Class Functions, 263
Higher-order Functions, 263
Introduction, 261
Pure Functions, 262
Functions - First Style
Call Functions, 155
Declare parameters, 156
Define Functions, 155
Introduction, 154
Main Function, 156
Recursion, 158
Return Value, 157
Send Parameters, 156
Variables Scope, 157
Functions - Second Style
Call Functions, 159
Declare parameters, 160
Define Functions, 159
Introduction, 158
Main Function, 160
Recursion, 162
Return Value, 161
Send Parameters, 160
Variables Scope, 161
Functions - Third Style
Call Functions, 163
Declare parameters, 164
Index 1745
Ring Documentation, Release 1.5
Define Functions, 163
Introduction, 162
Main Function, 164
Recursion, 166
Return Value, 165
Send Parameters, 164
Variables Scope, 165
functions()
Reflection and Meta-programming, 268
Fwrite()
Files, 206
Game Class
Game Engine for 2D Games, 430
Game Engine Classes
Game Engine for 2D Games, 429
Game Engine for 2D Games
Animate Class, 432
Animate Events, 443
Animation, 437
Animation and Functions, 438
Creating the Game Window, 432
Drawing Text, 433
Flappy Bird 3000 Game, 459
Game Class, 430
Game Engine Classes, 429
GameObject Class, 430
Games Layer, 429
Graphics Library Bindings, 428
Interface to graphics library, 428
Introduction, 427
Map, 445
Map Class, 432
Map Events, 446
Moving Text, 434
Object and Drawing, 448
Playing Sound, 436
Project Layers, 428
Sound Class, 432
Sprite Automatic Movement, 439
Sprite Class, 431
Sprite Keypress Event, 440
Sprite Mouse Event, 441
Sprite State Event, 442
Stars Fighter Game, 451
Super Man 2016 Game, 466
Text Class, 431
What is new in Ring 1.1?, 98
GameObject Class
Game Engine for 2D Games, 430
Games Layer
Game Engine for 2D Games, 429
gcd()
Stdlib Functions, 292
Generate Object File
Command Line Options, 697
Generate/Execute Ring Object Files (*.ringo)
What is new in Ring 1.1?, 93
Generating Pages using Objects
Web Development (CGI Library), 371
Get Active Source File Name
System Functions, 213
Get Command Line Arguments
System Functions, 212
Get List Item
Lists, 169
Get List Size
Lists, 169
Get Number of Characters from position
Strings, 179
Get Parameters Values
Extension, 728
Get Request
RingLibCurl, 401
Get Stock Data From Yahoo
RingLibCurl, 403
Get String Length
Strings, 176
Get Substring from position to end
Strings, 179
getattribute()
Reflection and Meta-programming, 280
GetChar()
Getting Input, 153
getnumber()
Stdlib Functions, 285
getstring()
Stdlib Functions, 285
Getter and Setter Methods
Frequently Asked Questions, 1702
Getting Input
GetChar(), 153
Getting Started - First Style, 111
Getting Started - Second Style, 113
Getting Started - Third Style, 115
Give Command, 153
Input(), 154
Introduction, 152
Getting Started - First Style
Getting Input, 111
Hello World, 110
Introduction, 109
Multi-Line literals, 110
No Explicit End For Statements, 111
Not Case-Sensitive, 110
Run the program, 110
Writing Comments, 111
Getting Started - Second Style
Index 1746
Ring Documentation, Release 1.5
Getting Input, 113
Hello World, 112
Introduction, 111
Multi-Line literals, 112
No Explicit End For Statements, 113
Not Case-Sensitive, 112
Run the program, 112
Writing Comments, 113
Getting Started - Third Style
Getting Input, 115
Hello World, 114
Introduction, 113
Multi-Line literals, 114
No Explicit End For Statements, 115
Not Case-Sensitive, 114
Run the program, 114
Writing Comments, 115
Give Command
Getting Input, 153
globals()
Reflection and Meta-programming, 267
Goal of including the Main function in Ring
Frequently Asked Questions, 1698
Gradient
Web Development (CGI Library), 370
Graphics and Game Programming
Drawing, Animation and Input, 408
Introduction, 407
Playing Sound, 415
Scaling and Rotating Images, 416
Threads, 418
Transparent Image, 417
TrueType Fonts, 414
Graphics Library Bindings
Game Engine for 2D Games, 428
Hash Functions
Web Development (CGI Library), 365
HashTable Class
Stdlib Classes, 307
Hello World
Getting Started - First Style, 110
Getting Started - Second Style, 112
Getting Started - Third Style, 114
Hello World Program using the Web Library
Web Development (CGI Library), 348
Hex()
Data Type, 192
Hex2str()
Data Type, 193
Higher-order Functions
Functional Programming, 263
History
Introduction, 13
Natural Language Programming, 330
How can I disable maximize button and resize window?
Frequently Asked Questions, 1714
How Ring find a functions and methods?
Scope Rules for Functions and Methods, 664
How Ring find the Variable?
Scope Rules, 650
How to add Combobox and other elements to the cells of
a QTableWidget?
Frequently Asked Questions, 1721
How to Close a window then displaying another one?
Frequently Asked Questions, 1713
How to contribute?
Applications, 109
Compiler and Virtual Machine (VM), 109
Documentation, 108
Editors Support, 109
Extensions in C/C++, 109
Ideas and suggestions, 109
Introduction, 107
Libraries in Ring, 109
Samples, 108
Special thanks to contributors, 108
Testing, 108
How to create a Modal Window?
Frequently Asked Questions, 1713
How to create an array of buttons in GUI applications?
Frequently Asked Questions, 1712
How to extend RingQt and add more classes?
Frequently Asked Questions, 1718
How to get the current source file path?
Frequently Asked Questions, 1705
How to get the file size using ftell() and fseek() functions?
Frequently Asked Questions, 1705
How to insert an item to the first position in the list?
Frequently Asked Questions, 1710
How to perform some manipulations on selected cells in
QTableWidget?
Frequently Asked Questions, 1721
How to print keys or values only in List/Dictionary?
Frequently Asked Questions, 1706
How to print lists that contains objects?
Frequently Asked Questions, 1710
How to print new lines and other characters?
Frequently Asked Questions, 1711
How to use many source code files in the project?
Frequently Asked Questions, 1707
How to use NULL and ISNULL() function?
Frequently Asked Questions, 1709
How to use SQLite using ODBC?
Frequently Asked Questions, 1715
HTML Lists
Web Development (CGI Library), 368
HTML Special Characters
Index 1747
Ring Documentation, Release 1.5
Web Development (CGI Library), 364
HTML Tables
Web Development (CGI Library), 369
HtmlPage Class
Web Development (CGI Library), 376, 400
HTTP Get Example
Web Development (CGI Library), 349
HTTP POST Example
Web Development (CGI Library), 354
Ideas and suggestions
How to contribute?, 109
If Statement
Control Structures - Second Style, 145
Control Structures - Third Style, 148
Inheritance
Object Oriented Programming, 255
Inheritance from GUI Classes
Desktop and Mobile Development, 590
Input()
Getting Input, 154
Insert()
Lists, 172
Install Qt for Android
Building RingQt Applications for Mobile, 633
Interactive Debugger
The Trace Library and the Interactive Debugger, 719
Interface to graphics library
Game Engine for 2D Games, 428
Internet Class
Stdlib Classes, 323
Introduction
Features, 13
History, 13
Introduction, 11
Motivation, 12
Is Ring some sort of improvement over PHP?
Frequently Asked Questions, 1693
IsAlNum()
Data Type, 188
IsAlpha()
Data Type, 188
IsAndroid() Function
System Functions, 211
isattribute()
Reflection and Meta-programming, 276
iscfunction()
Reflection and Meta-programming, 270
isclass()
Reflection and Meta-programming, 272
IsCntrl()
Data Type, 188
IsDigit()
Data Type, 189
IsFreeBSD() Function
System Functions, 211
isfunction()
Reflection and Meta-programming, 270
isglobal()
Reflection and Meta-programming, 269
IsGraph()
Data Type, 189
isleapyear()
Stdlib Functions, 294
IsLinux() Function
System Functions, 211
IsList()
Data Type, 187
islocal()
Reflection and Meta-programming, 269
IsLower()
Data Type, 189
IsMacOSX() Function
System Functions, 210
ismainsourcefile()
Stdlib Functions, 297
ismethod()
Reflection and Meta-programming, 277
IsMSDOS() Function
System Functions, 210
IsNULL()
Data Type, 187
IsNumber()
Data Type, 186
isobject()
Reflection and Meta-programming, 275
ispackage()
Reflection and Meta-programming, 271
ispackagesclass()
Reflection and Meta-programming, 274
isprime()
Stdlib Functions, 290
IsPrint()
Data Type, 189
isprivateattribute()
Reflection and Meta-programming, 276
isprivatemethod()
Reflection and Meta-programming, 277
IsPunct()
Data Type, 190
IsSpace()
Data Type, 190
isspecial()
Stdlib Functions, 288
IsString()
Data Type, 186
IsUnix() Function
System Functions, 210
Index 1748
Ring Documentation, Release 1.5
IsUpper()
Data Type, 190
isvowel()
Stdlib Functions, 289
IsWindows() Function
System Functions, 210
IsWindows64() Function
System Functions, 210
IsXdigit()
Data Type, 190
JustFileName()
Stdlib Functions, 286
JustFilePath()
Stdlib Functions, 285
Keyboard Events and Colors
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 488
Keyboard Shortcuts
Form Designer, 646
KeyPress and Mouse Move Events
Desktop and Mobile Development, 584
Language Design
Compact Syntax, 19
Define Declarative Languages, 22
Define Natural Statements, 20
Designed for a clear goal, 17
Encourage Organization, 19
Introduction, 16
Simple, 17
Smart Garbage Collector, 25
Transparent Implementation, 23
Trying to be natural, 18
Visual Implementation, 24
Why Ring?, 17
Language Functions
Reference, 1724
Language Grammar
Reference, 1727
Language Keywords
Reference, 1723
Language Shell
Demo Programs, 219
lcm()
Stdlib Functions, 292
Left()
Strings, 177
Libraries in Ring
How to contribute?, 109
Library Usage
Objects Library for RingQt Application, 636
linecount()
Stdlib Functions, 289
Lines()
Strings, 178
List Class
Stdlib Classes, 304
List index start from 1
Frequently Asked Questions, 1699
List of changes and new features
What is new in Ring 1.1?, 92
What is new in Ring 1.2?, 86
What is new in Ring 1.3?, 73
What is new in Ring 1.4.1?, 60
What is new in Ring 1.4?, 64
What is new in Ring 1.5?, 26
list of functions
Mathematical Functions, 194
list2file()
Stdlib Functions, 290
ListAllFiles() Function
Stdlib Functions, 299
Lists
Access List Items by String Index, 174
Add Items, 168
Copy Lists, 172
Create Lists, 168
Delete Item From List, 169
First-Class Lists, 173
Get List Item, 169
Get List Size, 169
Insert(), 172
Introduction, 167
Nested Lists, 172
Passing Lists to Functions, 173
Passing Parameters Using List, 174
Reverse(), 171
Search, 170
Set List Item, 169
Sort(), 170
Swap Items, 175
Using Lists during definition, 173
Load Syntax Files
Syntax Flexibility, 669
Loading the Trace library
The Trace Library and the Interactive Debugger, 718
locals()
Reflection and Meta-programming, 267
Logical Operators
Operators, 135
Loop Command
Control Structures - First Style, 142
Looping
Control Structures, 149
Control Structures - First Style, 139
Control Structures - Second Style, 146
Low Level Functions
Index 1749
Ring Documentation, Release 1.5
callgc(), 698
Example - The Trace Library, 714
Example - Using the Trace Functions, 710
Introduction, 697
nullpointer(), 700
object2pointer(), 700
pointer2object(), 700
ptrcmp(), 701
ringvm_callfunc(), 710
RingVM_CallList(), 706
RingVM_CFunctionsList(), 702
RingVM_ClassesList(), 702
ringvm_evalinscope(), 709
RingVM_FilesList(), 707
RingVM_FunctionsList(), 702
ringvm_hideerrorMsg(), 709
RingVM_MemoryList(), 704
RingVM_PackagesList(), 703
ringvm_passerror(), 709
ringvm_scopescount(), 709
ringvm_settrace(), 708
ringvm_tracedata(), 708
ringvm_traceevent(), 708
ringvm_tracefunc(), 709
space(), 699
varptr(), 699
Main Function
Functions - First Style, 156
Functions - Second Style, 160
Functions - Third Style, 164
Main Menu
Demo Programs, 219
Make a Cube using RingOpenGL and RingFreeGLUT
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 525
makedir()
Stdlib Functions, 298
Map
Game Engine for 2D Games, 445
Map Class
Game Engine for 2D Games, 432
Map Events
Game Engine for 2D Games, 446
map()
Stdlib Functions, 287
Math Class
Stdlib Classes, 309
Mathematical Functions
Decimals(), 197
Example, 194
Introduction, 193
list of functions, 194
Random(), 196
Unsigned(), 197
matrixmulti()
Stdlib Functions, 294
matrixtrans()
Stdlib Functions, 295
MD5()
Security and Internet Functions, 244
Menu Events
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 501
Menubar and StyleSheet Example
Desktop and Mobile Development, 564
Menubar Designer
Form Designer, 646
mergemethods()
Reflection and Meta-programming, 282
Methods to use Events with Events Filter
Desktop and Mobile Development, 627
methods()
Reflection and Meta-programming, 275
Misc Operators
Operators, 136
Module Organization
Extension, 726
More Beatiful Code
Declarative Programming, 328
More Samples and Tests
Form Designer, 648
More Syntax Flexibility
What is new in Ring 1.5?, 57
Motivation
Introduction, 12
Mouse Events
RingLibSDL, 425
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 497
Movable Label Example
Desktop and Mobile Development, 580
Moving Objects using the Mouse
Desktop and Mobile Development, 586
Moving Text
Game Engine for 2D Games, 434
Multi-Line literals
Getting Started - First Style, 110
Getting Started - Second Style, 112
Getting Started - Third Style, 114
MySQL Class
Stdlib Classes, 320
MySQL Functions
Create Database, 233
Create Table and Insert Data, 234
Introduction, 231
MySQL_AutoCommit(), 239
MySQL_Close(), 233
Index 1750
Ring Documentation, Release 1.5
MySQL_Columns(), 236
MySQL_Commit(), 239
MySQL_Connect(), 233
MySQL_Error(), 233
MySQL_Escape_String(), 238
MySQL_Info(), 232
MySQL_Init(), 233
MySQL_Inser_ID(), 235
MySQL_Next_Result(), 236
MySQL_Query(), 233
MySQL_Result(), 236
MySQL_Result2(), 237
MySQL_Rollback(), 239
Print Query Result, 236
Restore Image From The Database, 238
Save Image Inside the Database, 238
Transaction Example, 239
MySQL_AutoCommit()
MySQL Functions, 239
MySQL_Close()
MySQL Functions, 233
MySQL_Columns()
MySQL Functions, 236
MySQL_Columns() Implementation
Extension, 732
MySQL_Commit()
MySQL Functions, 239
MySQL_Connect()
MySQL Functions, 233
MySQL_Error()
MySQL Functions, 233
MySQL_Escape_String()
MySQL Functions, 238
MySQL_Info()
MySQL Functions, 232
MySQL_Init()
MySQL Functions, 233
MySQL_Inser_ID()
MySQL Functions, 235
MySQL_Next_Result()
MySQL Functions, 236
MySQL_Query()
MySQL Functions, 233
MySQL_Result()
MySQL Functions, 236
MySQL_Result2()
MySQL Functions, 237
MySQL_Rollback()
MySQL Functions, 239
Natural Language Programming
BraceError() Method, 337
BraceExprEval Method, 336
BraceStart and BraceEnd Methods, 335
Change the ’=’ operator to ’is’, 333
Change the Ring Keyword ’And’, 331
Change the Ring Operator ’+’, 332
Clean Natural Code, 338
Example, 330
History, 330
Introduction, 329
Real Natual Code, 336
Using Eval() with our Natural Code, 334
Natural Library - Demo Program
Using the Natural Library, 340
Nested Lists
Lists, 172
New Classes names - Index Start from 1
Desktop and Mobile Development, 629
New Functions
What is new in Ring 1.2?, 86
What is new in Ring 1.3?, 82
New Functions and Changes
What is new in Ring 1.1?, 95
New Sample : Sixteen Puzzle
What is new in Ring 1.4.1?, 62
New Style to Ring Notepad
What is new in Ring 1.4.1?, 61
What is new in Ring 1.4?, 67
newlist()
Stdlib Functions, 288
No Explicit End For Statements
Getting Started - First Style, 111
Getting Started - Second Style, 113
Getting Started - Third Style, 115
No Run
Command Line Options, 696
Not Case-Sensitive
Getting Started - First Style, 110
Getting Started - Second Style, 112
Getting Started - Third Style, 114
Notepad Application
Desktop and Mobile Development, 603
nullpointer()
Low Level Functions, 700
Number()
Data Type, 191
Numbers and Bytes
Files, 208
Object and Drawing
Game Engine for 2D Games, 448
Object Library Source Code
Objects Library for RingQt Application, 640
Object Oriented Programming
Access Objects Using Braces, 251
Classes and Objects, 249
Composition, 252
Index 1751
Ring Documentation, Release 1.5
Dynamic Attributes, 256
Find() and List of Objects, 257
Inheritance, 255
Introduction, 248
Operator Overloading, 254
Packages, 256
Printing Objects, 257
Private Attributes and Methods, 253
Setter and Getter, 253
Sort() and List of Objects, 258
Using Self.Attribute, 260
object2pointer()
Low Level Functions, 700
objectid()
Reflection and Meta-programming, 274
Objects inside lists
Declarative Programming, 324
Objects Library for RingQt
What is new in Ring 1.2?, 88
Objects Library for RingQt Application
Example, 636
Introduction, 635
Library Usage, 636
Object Library Source Code, 640
Open_WindowAndLink() Function, 639, 640
Open_WindowInPackages() Function, 640
ODBC Class
Stdlib Classes, 319
ODBC Functions
Execute Query and Print Result, 227
Introduction, 222
odbc_autocommit(), 229
odbc_close(), 224
odbc_colcount(), 226
odbc_columns(), 228
odbc_commit(), 229
odbc_connect(), 225
odbc_datasources(), 224
odbc_disconnect(), 226
odbc_drivers(), 223
odbc_execute(), 226
odbc_fetch(), 227
odbc_getdata(), 227
odbc_init(), 223
odbc_rollback(), 229
odbc_tables(), 227
Open and Close Connection, 226
Print List of ODBC Data Sources, 225
Print List of ODBC Drivers, 224
Save and Restore Images, 230
Transactions and Using Commit and Rollback, 229
odbc_autocommit()
ODBC Functions, 229
odbc_close()
ODBC Functions, 224
odbc_colcount()
ODBC Functions, 226
odbc_columns()
ODBC Functions, 228
odbc_commit()
ODBC Functions, 229
odbc_connect()
ODBC Functions, 225
odbc_datasources()
ODBC Functions, 224
odbc_disconnect()
ODBC Functions, 226
odbc_drivers()
ODBC Functions, 223
odbc_execute()
ODBC Functions, 226
odbc_fetch()
ODBC Functions, 227
odbc_getdata()
ODBC Functions, 227
odbc_init()
ODBC Functions, 223
odbc_rollback()
ODBC Functions, 229
odbc_tables()
ODBC Functions, 227
Open and Close Connection
ODBC Functions, 226
Open_WindowAndLink() Function
Objects Library for RingQt Application, 639, 640
Open_WindowInPackages() Function
Objects Library for RingQt Application, 640
Operator Overloading
Object Oriented Programming, 254
Operators
Arithmetic Operators, 135
Assignment Operators, 136
Bitwise Operators, 135
Introduction, 134
Logical Operators, 135
Misc Operators, 136
Operators Precedence, 136
Relational Operators, 135
Using the Natural Library, 344
Operators Precedence
Operators, 136
Other Widgets Events
Desktop and Mobile Development, 568
packagename()
Reflection and Meta-programming, 283
Packages
Object Oriented Programming, 256
Index 1752
Ring Documentation, Release 1.5
packages()
Reflection and Meta-programming, 271
packagesclasses()
Reflection and Meta-programming, 273
Page Class
Web Development (CGI Library), 396
palindrome()
Stdlib Functions, 294
Pass Error
The Trace Library and the Interactive Debugger, 719
Passing Lists to Functions
Lists, 173
Passing Parameters Using List
Lists, 174
Performance
Command Line Options, 696
permutation()
Stdlib Functions, 295
Perror()
Files, 204
Philosophy behind data types in Ring
Frequently Asked Questions, 1696
Play Sound
RingLibSDL, 426
Playing Sound
Desktop and Mobile Development, 578
Game Engine for 2D Games, 436
Graphics and Game Programming, 415
pointer2object()
Low Level Functions, 700
Post Request
RingLibCurl, 401
Prefix for Functions Names
Code Generator, 740
PrevFileName() Function
System Functions, 213
Print files in Zip file
RingZip, 405
Print List of ODBC Data Sources
ODBC Functions, 225
Print List of ODBC Drivers
ODBC Functions, 224
Print Query Result
MySQL Functions, 236
print()
Stdlib Functions, 284
Print2Str() Function
Stdlib Functions, 284
Printing Final Intermediate Code
Command Line Options, 691
Printing Instruction Operation Code
Command Line Options, 696
Printing Intermediate Code
Command Line Options, 689
Printing Objects
Object Oriented Programming, 257
Printing Rules
Command Line Options, 685
Printing Tokens
Command Line Options, 683
Printing using QPrinter
Desktop and Mobile Development, 576
Private Attributes and Methods
Object Oriented Programming, 253
prodlist()
Stdlib Functions, 293
Program Structure
Introduction, 166
Source Code File Sections, 167
Using Many Source Code Files, 167
Project Folder
Building Games For Android, 478
Project Layers
Game Engine for 2D Games, 428
Protecting the Source Code
Distributing Ring Application, 681
ptrcmp()
Low Level Functions, 701
Pure Functions
Functional Programming, 262
puts()
Stdlib Functions, 284
QAbstractButton Class
RingQt Classes Reference, 1591
QAbstractItemView Class
RingQt Classes Reference, 1577
QAbstractScrollArea Class
RingQt Classes Reference, 1577
QAbstractSlider Class
RingQt Classes Reference, 1584
QAbstractSocket Class
RingQt Classes Reference, 1613
QAbstractSpinBox Class
RingQt Classes Reference, 1587
QAction Class
RingQt Classes Reference, 1595
QAllEvents Class
RingQt Classes Reference, 1626
QApp Class
RingQt Classes Reference, 1544
QAxBase Class
RingQt Classes Reference, 1678
QAxObject Class
RingQt Classes Reference, 1677
QBitmap Class
RingQt Classes Reference, 1552
QBluetoothAddress Class
Index 1753
Ring Documentation, Release 1.5
RingQt Classes Reference, 1683
QBluetoothDeviceDiscoveryAgent Class
RingQt Classes Reference, 1683
QBluetoothDeviceInfo Class
RingQt Classes Reference, 1684
QBluetoothHostInfo Class
RingQt Classes Reference, 1684
QBluetoothLocalDevice Class
RingQt Classes Reference, 1685
QBluetoothServer Class
RingQt Classes Reference, 1686
QBluetoothServiceDiscoveryAgent Class
RingQt Classes Reference, 1686
QBluetoothServiceInfo Class
RingQt Classes Reference, 1687
QBluetoothSocket Class
RingQt Classes Reference, 1688
QBluetoothTransferManager Class
RingQt Classes Reference, 1689
QBluetoothTransferReply Class
RingQt Classes Reference, 1689
QBluetoothTransferRequest Class
RingQt Classes Reference, 1689
QBluetoothUuid Class
RingQt Classes Reference, 1690
QBoxLayout Class
RingQt Classes Reference, 1668
QBrush Class
RingQt Classes Reference, 1609
QBuffer Class
RingQt Classes Reference, 1683
QButtonGroup Class
RingQt Classes Reference, 1593
QByteArray Class
RingQt Classes Reference, 1610
QCamera Class
RingQt Classes Reference, 1662
QCameraImageCapture Class
RingQt Classes Reference, 1663
QCameraViewfinder Class
RingQt Classes Reference, 1662
QCheckBox Class
RingQt Classes Reference, 1591
QColor Class
RingQt Classes Reference, 1604
QColorDialog Class
RingQt Classes Reference, 1622
QComboBox Class
RingQt Classes Reference, 1567
QCompleter Class
RingQt Classes Reference, 1672
QCompleter2 Class
RingQt Classes Reference, 1673
QCompleter3 Class
RingQt Classes Reference, 1673
QCursor Class
RingQt Classes Reference, 1676
QDate Class
RingQt Classes Reference, 1635
QDateEdit Class
RingQt Classes Reference, 1586
QDateTimeEdit Class
RingQt Classes Reference, 1586
QDesktopServices Class
RingQt Classes Reference, 1544
QDesktopWidget Class
RingQt Classes Reference, 1628
QDial Class
RingQt Classes Reference, 1588
QDialog Class
RingQt Classes Reference, 1620
QDir Class
RingQt Classes Reference, 1562
QDirModel Class
RingQt Classes Reference, 1618
QDockWidget Class
RingQt Classes Reference, 1573
QEvent Class
RingQt Classes Reference, 1597
QFileDialog Class
RingQt Classes Reference, 1599
QFileInfo Class
RingQt Classes Reference, 1617
QFileSystemModel Class
RingQt Classes Reference, 1562
QFont Class
RingQt Classes Reference, 1607
QFontDialog Class
RingQt Classes Reference, 1619
QFontMetrics Class
RingQt Classes Reference, 1666
QFrame Class
RingQt Classes Reference, 1576
QFrame2 Class
RingQt Classes Reference, 1576
QFrame3 Class
RingQt Classes Reference, 1577
QGradient Class
RingQt Classes Reference, 1669
QGraphicsVideoItem Class
RingQt Classes Reference, 1662
QGridLayout Class
RingQt Classes Reference, 1659
QHBoxLayout Class
RingQt Classes Reference, 1555
QHeaderView Class
RingQt Classes Reference, 1664
QHostAddress Class
Index 1754
Ring Documentation, Release 1.5
RingQt Classes Reference, 1616
QHostInfo Class
RingQt Classes Reference, 1617
QIcon Class
RingQt Classes Reference, 1553
QImage Class
RingQt Classes Reference, 1645
QInputDialog Class
RingQt Classes Reference, 1624
QIODevice Class
RingQt Classes Reference, 1612
QJsonArray Class
RingQt Classes Reference, 1654
QJsonDocument Class
RingQt Classes Reference, 1655
QJsonObject Class
RingQt Classes Reference, 1655
QJsonParseError Class
RingQt Classes Reference, 1656
QJsonValue Class
RingQt Classes Reference, 1656
QKeySequence Class
RingQt Classes Reference, 1624
QLabel Class
RingQt Classes Reference, 1551
QLayout Class
RingQt Classes Reference, 1668
QLCDNumber Class
RingQt Classes Reference, 1624
QLinearGradient Class
RingQt Classes Reference, 1669
QLineEdit Class
RingQt Classes Reference, 1553
QLineEdit Events and QMessageBox
Desktop and Mobile Development, 566
QListView Class
RingQt Classes Reference, 1677
QListWidget Class
RingQt Classes Reference, 1558
QListWidgetItem Class
RingQt Classes Reference, 1633
QMainWindow Class
RingQt Classes Reference, 1571
QMdiArea Class
RingQt Classes Reference, 1675
QMdiSubWindow Class
RingQt Classes Reference, 1676
QMediaObject Class
RingQt Classes Reference, 1664
QMediaPlayer Class
RingQt Classes Reference, 1593
QMediaPlaylist Class
RingQt Classes Reference, 1594
QMenu Class
RingQt Classes Reference, 1569
QMenuBar Class
RingQt Classes Reference, 1569
QMessageBox Class
RingQt Classes Reference, 1597
QMessagebox Example
Desktop and Mobile Development, 581
QMutex Class
RingQt Classes Reference, 1682
QMutexLocker Class
RingQt Classes Reference, 1683
QNetworkAccessManager Class
RingQt Classes Reference, 1642
QNetworkProxy Class
RingQt Classes Reference, 1614
QNetworkReply Class
RingQt Classes Reference, 1643
QNetworkRequest Class
RingQt Classes Reference, 1642
QObject Class
RingQt Classes Reference, 1544
QPainter Class
RingQt Classes Reference, 1600
QPainter2 Class
RingQt Classes Reference, 1602
QPainterPath Class
RingQt Classes Reference, 1644
QPen Class
RingQt Classes Reference, 1603
QPicture Class
RingQt Classes Reference, 1603
QPixmap Class
RingQt Classes Reference, 1552
QPixmap2 Class
RingQt Classes Reference, 1553
QPlainTextEdit Class
RingQt Classes Reference, 1656
QPoint Class
RingQt Classes Reference, 1670
QPointF Class
RingQt Classes Reference, 1670
QPrinter Class
RingQt Classes Reference, 1606
QProcess Class
RingQt Classes Reference, 1673
QProgressBar Class
RingQt Classes Reference, 1583
QPushButton Class
RingQt Classes Reference, 1552
QRadioButton Class
RingQt Classes Reference, 1592
QRect Class
RingQt Classes Reference, 1628
QRegularExpression Class
Index 1755
Ring Documentation, Release 1.5
RingQt Classes Reference, 1652
QRegularExpressionMatch Class
RingQt Classes Reference, 1653
QRegularExpressionMatchIterator Class
RingQt Classes Reference, 1653
QScrollArea Class
RingQt Classes Reference, 1671
QSerialPort Class
RingQt Classes Reference, 1679
QSerialPortInfo Class
RingQt Classes Reference, 1680
QSize Class
RingQt Classes Reference, 1553
QSlider Class
RingQt Classes Reference, 1585
QSpinBox Class
RingQt Classes Reference, 1583
QSplashScreen Class
RingQt Classes Reference, 1667
QSplitter Class
RingQt Classes Reference, 1671
QSqlDatabase Class
RingQt Classes Reference, 1636
QSqlDriver Class
RingQt Classes Reference, 1637
QSqlDriverCreatorBase Class
RingQt Classes Reference, 1640
QSqlError Class
RingQt Classes Reference, 1638
QSqlField Class
RingQt Classes Reference, 1640
QSqlIndex Class
RingQt Classes Reference, 1639
QSqlQuery Class
RingQt Classes Reference, 1637
QSqlRecord Class
RingQt Classes Reference, 1639
QStatusBar Class
RingQt Classes Reference, 1572
QString2 Class
RingQt Classes Reference, 1673
QStringList Class
RingQt Classes Reference, 1622
QStringRef Class
RingQt Classes Reference, 1681
QSystemTrayIcon Class
RingQt Classes Reference, 1634
Qt Class Convertor
What is new in Ring 1.4?, 71
Qt configuration file
Code Generator, 747
QTableView Class
RingQt Classes Reference, 1579
QTableWidget Class
RingQt Classes Reference, 1580
QTableWidgetItem Class
RingQt Classes Reference, 1575
QTabWidget Class
RingQt Classes Reference, 1573
QTcpServer Class
RingQt Classes Reference, 1615
QTcpSocket Class
RingQt Classes Reference, 1615
QTest Class
RingQt Classes Reference, 1544
QTextBlock Class
RingQt Classes Reference, 1632
QTextCharFormat Class
RingQt Classes Reference, 1660
QTextCodec Class
RingQt Classes Reference, 1636
QTextCursor Class
RingQt Classes Reference, 1620
QTextDocument Class
RingQt Classes Reference, 1630
QTextEdit Class
RingQt Classes Reference, 1556
QThread Class
RingQt Classes Reference, 1651
QThreadPool Class
RingQt Classes Reference, 1652
QTime Class
RingQt Classes Reference, 1633
QTimer Class
RingQt Classes Reference, 1598
QToolBar Class
RingQt Classes Reference, 1570
QToolButton Class
RingQt Classes Reference, 1678
QTreeView Class
RingQt Classes Reference, 1560
QTreeWidget Class
RingQt Classes Reference, 1563
QTreeWidgetItem Class
RingQt Classes Reference, 1565
Queue Class
Stdlib Classes, 306
Quotes about Ring
Applications developed in little hours, 1
QUrl Class
RingQt Classes Reference, 1590
QUuid Class
RingQt Classes Reference, 1678
QVariant Class
RingQt Classes Reference, 1640
QVBoxLayout Class
RingQt Classes Reference, 1555
QVideoWidget and QMediaPlayer
Index 1756
Ring Documentation, Release 1.5
Desktop and Mobile Development, 560
QVideoWidget Class
RingQt Classes Reference, 1594
QVideoWidgetControl Class
RingQt Classes Reference, 1662
QWebView Class
RingQt Classes Reference, 1589
QWidget Class
RingQt Classes Reference, 1545
QXmlStreamAttribute Class
RingQt Classes Reference, 1651
QXmlStreamAttributes Class
RingQt Classes Reference, 1650
QXmlStreamEntityDeclaration Class
RingQt Classes Reference, 1650
QXmlStreamEntityResolver Class
RingQt Classes Reference, 1650
QXmlStreamNamespaceDeclaration Class
RingQt Classes Reference, 1650
QXmlStreamNotationDeclaration Class
RingQt Classes Reference, 1649
QXmlStreamReader Class
RingQt Classes Reference, 1647
QXmlStreamWriter Class
RingQt Classes Reference, 1648
Raise()
Eval() and Debugging, 217
RandBytes()
Security and Internet Functions, 247
Random Image
Web Development (CGI Library), 367
Random()
Mathematical Functions, 196
Read File using Read()
Files, 200
readline()
Stdlib Functions, 296
Real Natual Code
Natural Language Programming, 336
Recursion
Functions - First Style, 158
Functions - Second Style, 162
Functions - Third Style, 166
Reference
Compiler Errors, 1725
Introduction, 1722
Language Functions, 1724
Language Grammar, 1727
Language Keywords, 1723
Runtime Errors, 1726
Virtual Machine Instructions, 1729
Reflection and Meta-programming
addattribute(), 278
addmethod(), 278
attributes(), 275
cfunctions(), 268
classes(), 272
classname(), 274
functions(), 268
getattribute(), 280
globals(), 267
Introduction, 266
isattribute(), 276
iscfunction(), 270
isclass(), 272
isfunction(), 270
isglobal(), 269
islocal(), 269
ismethod(), 277
isobject(), 275
ispackage(), 271
ispackagesclass(), 274
isprivateattribute(), 276
isprivatemethod(), 277
locals(), 267
mergemethods(), 282
methods(), 275
objectid(), 274
packagename(), 283
packages(), 271
packagesclasses(), 273
setattribute(), 281
Register New Functions
Code Generator, 741
Regular Expressions
Desktop and Mobile Development, 595
Relational Operators
Operators, 135
Remove()
Files, 201
Rename()
Files, 201
Resources
Contact the Autor, 1736
Introduction, 1735
Ring Group, 1736
Ring Language Website, 1736
Restore Image From The Database
MySQL Functions, 238
Return object by reference
Declarative Programming, 325
Return Self by Reference
What is new in Ring 1.3?, 82
Return Value
Extension, 728
Functions - First Style, 157
Functions - Second Style, 161
Index 1757
Ring Documentation, Release 1.5
Functions - Third Style, 165
Reverse()
Lists, 171
Rewind()
Files, 203
Right()
Strings, 177
RING API - list Functions
Extension, 730
RING API - String Functions
Extension, 732
Ring CGI Hello World Program
Web Development (CGI Library), 348
Ring Group
Resources, 1736
Ring Language Website
Resources, 1736
Ring mode for Emacs Editor
What is new in Ring 1.3?, 80
Ring Notepad
Introduction, 115
Ring Notepad - Creating and running your first con-
sole application, 116
Ring Notepad - Creating and running your first game,
121
Ring Notepad - Creating and running your first GUI
application, 119
Ring Notepad - Creating and running your first Web
application, 120
Ring Notepad - Main Window, 116
The Browser Menu, 125
The Edit Menu, 123
The File Menu, 123
The Help Menu, 126
The Main File in the Project, 122
The Program Menu, 125
The Tools Menu, 126
The View Menu, 124
Ring Notepad - Creating and running your first console
application
Ring Notepad, 116
Ring Notepad - Creating and running your first game
Ring Notepad, 121
Ring Notepad - Creating and running your first GUI ap-
plication
Ring Notepad, 119
Ring Notepad - Creating and running your first Web ap-
plication
Ring Notepad, 120
Ring Notepad - Main Window
Ring Notepad, 116
Ring State
Embedding Ring Language in C/C++ Programs, 735
Ring State Functions
Embedding Ring Language in C/C++ Programs, 735
Ring State Variables
Embedding Ring Language in C/C++ Programs, 736
Ring VM - Tracing Functions
What is new in Ring 1.5?, 51
ring_ext.c
Extension, 725
ring_ext.h
Extension, 725
RingAllegro Functions Reference
Introduction, 767
RingCodeHighlighter Class
RingQt Classes Reference, 1646
RingFreeGLUT Extension
What is new in Ring 1.5?, 37
RingFreeGLUT Functions Reference
Introduction, 802
RingLibCurl
Facebook Login, 401
Get Request, 401
Get Stock Data From Yahoo, 403
Introduction, 400
Post Request, 401
Save output to string, 402
What is new in Ring 1.2?, 89
RingLibCurl Functions Reference
Introduction, 757
RingLibSDL
Close Window Event, 424
Create Window, 421
Display Image, 421
Display PNG Images, 422
Display Transparent Images, 423
Draw Rectangle, 422
Introduction, 420
Mouse Events, 425
Play Sound, 426
Switch Between Two Images, 421
Use TTF Fonts, 423
What is new in Ring 1.1?, 98
RingLibSDL Functions Reference
Introduction, 786
RingLibZip Functions Reference
Introduction, 766
RingOpenGL (OpenGL 1.1) Functions Reference
Introduction, 811
RingOpenGL (OpenGL 1.2) Functions Reference
Introduction, 836
RingOpenGL (OpenGL 1.3) Functions Reference
Introduction, 862
RingOpenGL (OpenGL 1.4) Functions Reference
Introduction, 891
RingOpenGL (OpenGL 1.5) Functions Reference
Introduction, 921
Index 1758
Ring Documentation, Release 1.5
RingOpenGL (OpenGL 2.0) Functions Reference
Introduction, 952
RingOpenGL (OpenGL 2.1) Functions Reference
Introduction, 986
RingOpenGL (OpenGL 3.0) Functions Reference
Introduction, 1028
RingOpenGL (OpenGL 3.1) Functions Reference
Introduction, 1073
RingOpenGL (OpenGL 3.2) Functions Reference
Introduction, 1119
RingOpenGL (OpenGL 3.3) Functions Reference
Introduction, 1166
RingOpenGL (OpenGL 4.0) Functions Reference
Introduction, 1213
RingOpenGL (OpenGL 4.1) Functions Reference
Introduction, 1260
RingOpenGL (OpenGL 4.2) Functions Reference
Introduction, 1307
RingOpenGL (OpenGL 4.3) Functions Reference
Introduction, 1354
RingOpenGL (OpenGL 4.4) Functions Reference
Introduction, 1401
RingOpenGL (OpenGL 4.5) Functions Reference
Introduction, 1448
RingOpenGL (OpenGL 4.6) Functions Reference
Introduction, 1495
RingOpenGL Extension
What is new in Ring 1.5?, 46
RingQt Classes and their Qt Documentation
Desktop and Mobile Development, 629
RingQt Classes Reference
CodeEditor Class, 1659
Introduction, 1543
QAbstractButton Class, 1591
QAbstractItemView Class, 1577
QAbstractScrollArea Class, 1577
QAbstractSlider Class, 1584
QAbstractSocket Class, 1613
QAbstractSpinBox Class, 1587
QAction Class, 1595
QAllEvents Class, 1626
QApp Class, 1544
QAxBase Class, 1678
QAxObject Class, 1677
QBitmap Class, 1552
QBluetoothAddress Class, 1683
QBluetoothDeviceDiscoveryAgent Class, 1683
QBluetoothDeviceInfo Class, 1684
QBluetoothHostInfo Class, 1684
QBluetoothLocalDevice Class, 1685
QBluetoothServer Class, 1686
QBluetoothServiceDiscoveryAgent Class, 1686
QBluetoothServiceInfo Class, 1687
QBluetoothSocket Class, 1688
QBluetoothTransferManager Class, 1689
QBluetoothTransferReply Class, 1689
QBluetoothTransferRequest Class, 1689
QBluetoothUuid Class, 1690
QBoxLayout Class, 1668
QBrush Class, 1609
QBuffer Class, 1683
QButtonGroup Class, 1593
QByteArray Class, 1610
QCamera Class, 1662
QCameraImageCapture Class, 1663
QCameraViewfinder Class, 1662
QCheckBox Class, 1591
QColor Class, 1604
QColorDialog Class, 1622
QComboBox Class, 1567
QCompleter Class, 1672
QCompleter2 Class, 1673
QCompleter3 Class, 1673
QCursor Class, 1676
QDate Class, 1635
QDateEdit Class, 1586
QDateTimeEdit Class, 1586
QDesktopServices Class, 1544
QDesktopWidget Class, 1628
QDial Class, 1588
QDialog Class, 1620
QDir Class, 1562
QDirModel Class, 1618
QDockWidget Class, 1573
QEvent Class, 1597
QFileDialog Class, 1599
QFileInfo Class, 1617
QFileSystemModel Class, 1562
QFont Class, 1607
QFontDialog Class, 1619
QFontMetrics Class, 1666
QFrame Class, 1576
QFrame2 Class, 1576
QFrame3 Class, 1577
QGradient Class, 1669
QGraphicsVideoItem Class, 1662
QGridLayout Class, 1659
QHBoxLayout Class, 1555
QHeaderView Class, 1664
QHostAddress Class, 1616
QHostInfo Class, 1617
QIcon Class, 1553
QImage Class, 1645
QInputDialog Class, 1624
QIODevice Class, 1612
QJsonArray Class, 1654
QJsonDocument Class, 1655
QJsonObject Class, 1655
Index 1759
Ring Documentation, Release 1.5
QJsonParseError Class, 1656
QJsonValue Class, 1656
QKeySequence Class, 1624
QLabel Class, 1551
QLayout Class, 1668
QLCDNumber Class, 1624
QLinearGradient Class, 1669
QLineEdit Class, 1553
QListView Class, 1677
QListWidget Class, 1558
QListWidgetItem Class, 1633
QMainWindow Class, 1571
QMdiArea Class, 1675
QMdiSubWindow Class, 1676
QMediaObject Class, 1664
QMediaPlayer Class, 1593
QMediaPlaylist Class, 1594
QMenu Class, 1569
QMenuBar Class, 1569
QMessageBox Class, 1597
QMutex Class, 1682
QMutexLocker Class, 1683
QNetworkAccessManager Class, 1642
QNetworkProxy Class, 1614
QNetworkReply Class, 1643
QNetworkRequest Class, 1642
QObject Class, 1544
QPainter Class, 1600
QPainter2 Class, 1602
QPainterPath Class, 1644
QPen Class, 1603
QPicture Class, 1603
QPixmap Class, 1552
QPixmap2 Class, 1553
QPlainTextEdit Class, 1656
QPoint Class, 1670
QPointF Class, 1670
QPrinter Class, 1606
QProcess Class, 1673
QProgressBar Class, 1583
QPushButton Class, 1552
QRadioButton Class, 1592
QRect Class, 1628
QRegularExpression Class, 1652
QRegularExpressionMatch Class, 1653
QRegularExpressionMatchIterator Class, 1653
QScrollArea Class, 1671
QSerialPort Class, 1679
QSerialPortInfo Class, 1680
QSize Class, 1553
QSlider Class, 1585
QSpinBox Class, 1583
QSplashScreen Class, 1667
QSplitter Class, 1671
QSqlDatabase Class, 1636
QSqlDriver Class, 1637
QSqlDriverCreatorBase Class, 1640
QSqlError Class, 1638
QSqlField Class, 1640
QSqlIndex Class, 1639
QSqlQuery Class, 1637
QSqlRecord Class, 1639
QStatusBar Class, 1572
QString2 Class, 1673
QStringList Class, 1622
QStringRef Class, 1681
QSystemTrayIcon Class, 1634
QTableView Class, 1579
QTableWidget Class, 1580
QTableWidgetItem Class, 1575
QTabWidget Class, 1573
QTcpServer Class, 1615
QTcpSocket Class, 1615
QTest Class, 1544
QTextBlock Class, 1632
QTextCharFormat Class, 1660
QTextCodec Class, 1636
QTextCursor Class, 1620
QTextDocument Class, 1630
QTextEdit Class, 1556
QThread Class, 1651
QThreadPool Class, 1652
QTime Class, 1633
QTimer Class, 1598
QToolBar Class, 1570
QToolButton Class, 1678
QTreeView Class, 1560
QTreeWidget Class, 1563
QTreeWidgetItem Class, 1565
QUrl Class, 1590
QUuid Class, 1678
QVariant Class, 1640
QVBoxLayout Class, 1555
QVideoWidget Class, 1594
QVideoWidgetControl Class, 1662
QWebView Class, 1589
QWidget Class, 1545
QXmlStreamAttribute Class, 1651
QXmlStreamAttributes Class, 1650
QXmlStreamEntityDeclaration Class, 1650
QXmlStreamEntityResolver Class, 1650
QXmlStreamNamespaceDeclaration Class, 1650
QXmlStreamNotationDeclaration Class, 1649
QXmlStreamReader Class, 1647
QXmlStreamWriter Class, 1648
RingCodeHighlighter Class, 1646
RingREPL
What is new in Ring 1.4?, 67
Index 1760
Ring Documentation, Release 1.5
RingSQLite
What is new in Ring 1.1?, 99
ringvm_callfunc()
Low Level Functions, 710
RingVM_CallList()
Low Level Functions, 706
RingVM_CFunctionsList()
Low Level Functions, 702
RingVM_ClassesList()
Low Level Functions, 702
ringvm_evalinscope()
Low Level Functions, 709
RingVM_FilesList()
Low Level Functions, 707
RingVM_FunctionsList()
Low Level Functions, 702
ringvm_hideerrorMsg()
Low Level Functions, 709
RingVM_MemoryList()
Low Level Functions, 704
RingVM_PackagesList()
Low Level Functions, 703
ringvm_passerror()
Low Level Functions, 709
ringvm_scopescount()
Low Level Functions, 709
ringvm_settrace()
Low Level Functions, 708
ringvm_tracedata()
Low Level Functions, 708
ringvm_traceevent()
Low Level Functions, 708
ringvm_tracefunc()
Low Level Functions, 709
RingZip
Create Zip File, 405
Extract Zip File, 405
Introduction, 404
Print files in Zip file, 405
Using RingZip Classes, 405
Zip Class Reference, 407
ZipEntry Class Reference, 407
RingZip Library
What is new in Ring 1.3?, 83
Rotate Text
Desktop and Mobile Development, 592
Rules
The Type Hints Library, 679
Run the program
Getting Started - First Style, 110
Getting Started - Second Style, 112
Getting Started - Third Style, 114
Running Forms
Form Designer, 643
Runtime Errors
Reference, 1726
Samples
How to contribute?, 108
Samples in this book
Applications developed in little hours, 8
Samples Source (Authors)
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 481
Save and Restore Images
ODBC Functions, 230
Save Image Inside the Database
MySQL Functions, 238
Save output to string
RingLibCurl, 402
Scaling and Rotating Images
Graphics and Game Programming, 416
Scope Rules
Accessing the class attributes from braces inside
class methods, 655
Conflict between Class Attributes and Local Vari-
ables, 652
Conflict between Global Variables and Class At-
tributes, 651
Conflict between self inside braces and self in the
class region, 658
Creating a Class for each Window in GUI applica-
tions, 657
Defining Variables and Variables Access, 649
How Ring find the Variable?, 650
Introduction, 648
Summary of Scope Rules, 662
The Self Object, 650
Three Scopes, 649
Using Braces to access objects inside Class Methods,
653
Using braces to escape from the current object scope,
661
Using Object.Attribute, 650
Scope Rules for Functions and Methods
Calling a function sharing the name with a method in
the current class, 666
Example about Sharing Names between Functions
and Methods, 664
How Ring find a functions and methods?, 664
Introduction, 663
ScriptFunctions Class
Web Development (CGI Library), 398
Search
Lists, 170
Search of global names while defining the class attributes
Frequently Asked Questions, 1703
Security and Internet Functions
Index 1761
Ring Documentation, Release 1.5
Decrypt(), 247
Download(), 248
Encrypt(), 246
Example, 247
File Hash, 247
Introduction, 243
MD5(), 244
RandBytes(), 247
SendEmail(), 248
SHA1(), 245
SHA224(), 246
SHA256(), 245
SHA384(), 246
SHA512(), 245
Security Class
Stdlib Classes, 322
Send Parameters
Functions - First Style, 156
Functions - Second Style, 160
Functions - Third Style, 164
SendEmail()
Security and Internet Functions, 248
Serial Execution of Programs
Embedding Ring in Ring, 723
Set List Item
Lists, 169
setattribute()
Reflection and Meta-programming, 281
Setter and Getter
Object Oriented Programming, 253
SHA1()
Security and Internet Functions, 245
SHA224()
Security and Internet Functions, 246
SHA256()
Security and Internet Functions, 245
SHA384()
Security and Internet Functions, 246
SHA512()
Security and Internet Functions, 245
Shared Libraries
Extension, 733
Short-circuit evaluation
Control Structures - First Style, 142
Shutdown() Function
System Functions, 215
sign()
Stdlib Functions, 290
Simple
Language Design, 17
Simple Client and Server Example
Desktop and Mobile Development, 596
Sin() Implementation
Extension, 729
Single: Desktop and Mobile Development
Introduction, 528
sleep()
Stdlib Functions, 297
Smart Garbage Collector
Language Design, 25
Sort()
Lists, 170
Sort() and List of Objects
Object Oriented Programming, 258
Sound Class
Game Engine for 2D Games, 432
Source Code File Sections
Program Structure, 167
space()
Low Level Functions, 699
Special thanks to contributors
How to contribute?, 108
split()
Stdlib Functions, 287
splitmany()
Stdlib Functions, 287
Sprite Automatic Movement
Game Engine for 2D Games, 439
Sprite Class
Game Engine for 2D Games, 431
Sprite Keypress Event
Game Engine for 2D Games, 440
Sprite Mouse Event
Game Engine for 2D Games, 441
Sprite State Event
Game Engine for 2D Games, 442
SQLite
Introduction, 240
sqlite_close(), 241
sqlite_execute(), 241
sqlite_init(), 241
sqlite_open(), 241
SQLite Class
Stdlib Classes, 321
sqlite_close()
SQLite, 241
sqlite_execute()
SQLite, 241
sqlite_init()
SQLite, 241
sqlite_open()
SQLite, 241
Squares Puzzle Game
Applications developed in little hours, 4
Stack Class
Stdlib Classes, 306
Stars Fighter Game
Game Engine for 2D Games, 451
Index 1762
Ring Documentation, Release 1.5
startswith()
Stdlib Functions, 291
StdBase Class
Stdlib Classes, 301
Stdlib Classes
Conversion Class, 318
DataType Class, 317
DateTime Class, 312
Debug Class, 316
File Class, 314
HashTable Class, 307
Internet Class, 323
Introduction, 300
List Class, 304
Math Class, 309
MySQL Class, 320
ODBC Class, 319
Queue Class, 306
Security Class, 322
SQLite Class, 321
Stack Class, 306
StdBase Class, 301
String Class, 302
System Class, 315
Tree Class, 308
Stdlib Functions
apppath(), 285
binarydigits(), 294
capitalized(), 288
changestring(), 297
dayofweek(), 295
direxists(), 297
endswith(), 291
EpochTime(), 299
evenorodd(), 293
factorial(), 289
factors(), 293
fibonacci(), 290
file2list(), 291
filter(), 287
FSize(), 298
gcd(), 292
getnumber(), 285
getstring(), 285
Introduction, 283
isleapyear(), 294
ismainsourcefile(), 297
isprime(), 290
isspecial(), 288
isvowel(), 289
JustFileName(), 286
JustFilePath(), 285
lcm(), 292
linecount(), 289
list2file(), 290
ListAllFiles() Function, 299
makedir(), 298
map(), 287
matrixmulti(), 294
matrixtrans(), 295
newlist(), 288
palindrome(), 294
permutation(), 295
print(), 284
Print2Str() Function, 284
prodlist(), 293
puts(), 284
readline(), 296
sign(), 290
sleep(), 297
split(), 287
splitmany(), 287
startswith(), 291
substring(), 296
sumlist(), 292
SystemCmd() Function, 299
times(), 286
TrimAll(), 298
TrimLeft(), 298
TrimRight(), 299
value(), 286
StdLib functions and classes written in Ring
What is new in Ring 1.1?, 96
Step Option
Control Structures - First Style, 140
Str2Hex()
Data Type, 193
str2list() and list2str()
Strings, 180
strcmp()
Strings, 180
String Class
Stdlib Classes, 302
String Literals
Strings, 176
String()
Data Type, 191
Strings
Access String Letters, 176
Convert Letters Case, 176
Copy(), 178
Find SubString, 179
Get Number of Characters from position, 179
Get String Length, 176
Get Substring from position to end, 179
Introduction, 175
Left(), 177
Lines(), 178
Index 1763
Ring Documentation, Release 1.5
Right(), 177
str2list() and list2str(), 180
strcmp(), 180
String Literals, 176
Substr(), 178
Transform Substring To Another Substring, 179
Trim(), 178
StyleFunctions Class
Web Development (CGI Library), 398
Substr()
Strings, 178
substring()
Stdlib Functions, 296
sumlist()
Stdlib Functions, 292
Summary of Scope Rules
Scope Rules, 662
Super Man 2016 Game
Game Engine for 2D Games, 466
Swap Items
Lists, 175
Switch Between Two Images
RingLibSDL, 421
Switch Statement
Control Structures - First Style, 138
Control Structures - Second Style, 145
Control Structures - Third Style, 148
Syntax Flexibility
Change Language Keywords, 668
Change Language Operators, 669
Introduction, 667
Load Syntax Files, 669
Using ’case’ as ’on’ in switch statements, 675
Using ’def’ as ’func’ in functions/methods defini-
tion, 675
Using ’end’ keyword after Pack-
ages/Classes/Functions, 676
Using ’endpackage’/’endclass’/’endfunc’ keywords
after Packages/Classes/Functions, 676
Using ’put’ and ’get’ as ’see’ and ’give’, 675
Using () around the function parameters, 669
in the start of the variable name, 672
Using braces { } in Packages/Classes/Functions, 676
Using braces to start and end different control struc-
tures, 674
Using Semi-colon after and between statements, 671
Using the ’else’ keyword as ’other’ in switch state-
ment, 672
Using the ’elseif’ keyword as ’but’ in if statement,
672
Using the ’end’ keyword in different control struc-
tures, 673
What is new in Ring 1.1?, 93
SysGet() Function
System Functions, 210
System Class
Stdlib Classes, 315
System Functions
ChDir() Function, 214
CurrentDir() Function, 214
Example, 211
ExeFileName() Function, 214
ExeFolder() Function, 214
Get Active Source File Name, 213
Get Command Line Arguments, 212
Introduction, 208
IsAndroid() Function, 211
IsFreeBSD() Function, 211
IsLinux() Function, 211
IsMacOSX() Function, 210
IsMSDOS() Function, 210
IsUnix() Function, 210
IsWindows() Function, 210
IsWindows64() Function, 210
PrevFileName() Function, 213
Shutdown() Function, 215
SysGet() Function, 210
System() Function, 209
Version() Function, 214
Windowsnl() Function, 212
System() Function
System Functions, 209
SystemCmd() Function
Stdlib Functions, 299
Tempfile()
Files, 203
Templates
Web Development (CGI Library), 362
Tempname()
Files, 203
Testing
How to contribute?, 108
Text Class
Game Engine for 2D Games, 431
The Browser Menu
Ring Notepad, 125
The Camera
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 491
The Cards Game
Demo Programs, 618
Desktop and Mobile Development, 618
The Designer Windows
Form Designer, 642
The Difference between Qt and RingQt
Desktop and Mobile Development, 628
Index 1764
Ring Documentation, Release 1.5
The documentation says functional programming is sup-
ported, but then this happens?
Frequently Asked Questions, 1695
The Edit Menu
Ring Notepad, 123
The File Menu
Ring Notepad, 123
The First GUI Application
Desktop and Mobile Development, 529
The First Triangle
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 484
The First Window using RingFreeGLUT
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 482
The Help Menu
Ring Notepad, 126
The Main File in the Project
Ring Notepad, 122
The Natural Library
What is new in Ring 1.4?, 65
The Program Menu
Ring Notepad, 125
The Properties
Form Designer, 642
The Self Object
Scope Rules, 650
The Tools Menu
Ring Notepad, 126
The Trace Library and the Interactive Debugger
BreakPoint, 720
Disable BreakPoints, 720
Execute Program Line by Line, 719
Interactive Debugger, 719
Introduction, 717
Loading the Trace library, 718
Pass Error, 719
Trace All Events, 718
Trace control flow between functions, 718
Using the Interactive Debugger, 720
The Type Hints Library
Example, 678
Introduction to the Type Hints Library, 677
Rules, 679
User Types, 678
Using Types inside Code, 679
Why Type Hints?, 678
The View Menu
Ring Notepad, 124
Threads
Graphics and Game Programming, 418
Threads Support
Code Generator, 745
Three Scopes
Scope Rules, 649
TicTacToe Game
Applications developed in little hours, 4
Time()
Date and Time, 182
TimeList()
Date and Time, 183
times()
Stdlib Functions, 286
Trace All Events
The Trace Library and the Interactive Debugger, 718
Trace control flow between functions
The Trace Library and the Interactive Debugger, 718
Trace Library and Interactive Debugger
What is new in Ring 1.5?, 55
Transaction Example
MySQL Functions, 239
Transactions and Using Commit and Rollback
ODBC Functions, 229
Transform Substring To Another Substring
Strings, 179
Transparent Image
Graphics and Game Programming, 417
Transparent Implementation
Language Design, 23
Tree Class
Stdlib Classes, 308
Triangle Rotation
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 487
Trim()
Strings, 178
TrimAll()
Stdlib Functions, 298
TrimLeft()
Stdlib Functions, 298
TrimRight()
Stdlib Functions, 299
TrueType Fonts
Graphics and Game Programming, 414
Try/Carch/Done
Eval() and Debugging, 216
Trying to be natural
Language Design, 18
Type Hints Library
What is new in Ring 1.5?, 58
Type()
Data Type, 187
Ungetc()
Files, 205
Unsigned()
Mathematical Functions, 197
Update the Android SDK
Index 1765
Ring Documentation, Release 1.5
Building RingQt Applications for Mobile, 633
Upload Files
Web Development (CGI Library), 356
URL Encode
Web Development (CGI Library), 361
Use TTF Fonts
RingLibSDL, 423
User Types
The Type Hints Library, 678
Users registration and Login
Web Development (CGI Library), 383
Using ’<’ and ’:’ operators as ’from’ keyword
What is new in Ring 1.3?, 82
Using ’case’ as ’on’ in switch statements
Syntax Flexibility, 675
Using ’def’ as ’func’ in functions/methods definition
Syntax Flexibility, 675
Using ’end’ keyword after Packages/Classes/Functions
Syntax Flexibility, 676
Using ’endpackage’/’endclass’/’endfunc’ keywords after
Packages/Classes/Functions
Syntax Flexibility, 676
Using ’put’ and ’get’ as ’see’ and ’give’
Syntax Flexibility, 675
Using () around the function parameters
Syntax Flexibility, 669
in the start of the variable name
Syntax Flexibility, 672
Using Atom
Using Other Code Editors, 129
Using Bootstrap Library using Functions
Web Development (CGI Library), 377
Using Bootstrap Library using Objects
Web Development (CGI Library), 378
Using braces { } in Packages/Classes/Functions
Syntax Flexibility, 676
Using Braces to access objects inside Class Methods
Scope Rules, 653
Using braces to escape from the current object scope
Scope Rules, 661
Using braces to start and end different control structures
Syntax Flexibility, 674
Using C/C++ Compiler and Linker
Distributing Ring Application, 682
Using configuration file that wrap C++ library
Code Generator, 747
Using Emacs Editor
Using Other Code Editors, 131
Using Eval() with our Natural Code
Natural Language Programming, 334
Using Fonts
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 508
Using Geany
Using Other Code Editors, 128
Using Layout
Desktop and Mobile Development, 530
Using Layouts
Form Designer, 648
Using Lists during definition
Lists, 173
Using Many Source Code Files
Program Structure, 167
Using Notepad++
Using Other Code Editors, 127
Using NULL instead of NULLPointer()
What is new in Ring 1.2?, 90
Using Object.Attribute
Scope Rules, 650
Using Other Code Editors
Introduction, 126
Using Atom, 129
Using Emacs Editor, 131
Using Geany, 128
Using Notepad++, 127
Using Sublime Text 2, 130
Using Visual Studio IDE, 131
Using QCheckBox
Desktop and Mobile Development, 556
Using QComboBox Class
Desktop and Mobile Development, 538
Using QDateEdit
Desktop and Mobile Development, 551
Using QDesktopWidget Class
Desktop and Mobile Development, 591
Using QDial
Desktop and Mobile Development, 552
Using QDockWidget
Desktop and Mobile Development, 544
Using QFrame
Desktop and Mobile Development, 561
Using QInputDialog Class
Desktop and Mobile Development, 582
Using qLCDNumber
Desktop and Mobile Development, 579
Using QProgressBar
Desktop and Mobile Development, 548
Using QProgressBar and Timer
Desktop and Mobile Development, 571
Using QRadioButton and QButtonGroup
Desktop and Mobile Development, 557
Using QSlider
Desktop and Mobile Development, 549
Using QSpinBox
Desktop and Mobile Development, 549
Using QTableWidget
Desktop and Mobile Development, 547
Using QTabWidget
Index 1766
Ring Documentation, Release 1.5
Desktop and Mobile Development, 545
Using QTreeView and QFileSystemModel
Desktop and Mobile Development, 536
Using QTreeWidget and QTreeWidgetItem
Desktop and Mobile Development, 537
Using QWebView
Desktop and Mobile Development, 555
Using RingOpenGL and RingFreeGLUT for 3D Graphics
Drawing using RingOpenGL, 483
Frames Per Second, 516
Introduction, 480
Keyboard Events and Colors, 488
Make a Cube using RingOpenGL and RingFreeG-
LUT, 525
Menu Events, 501
Mouse Events, 497
Samples Source (Authors), 481
The Camera, 491
The First Triangle, 484
The First Window using RingFreeGLUT, 482
Triangle Rotation, 487
Using Fonts, 508
What is RingFreeGLUT?, 482
What is RingOpenGL?, 481
Window Resize Event, 485
Using RingZip Classes
RingZip, 405
Using Self.Attribute
Object Oriented Programming, 260
Using Self.Attribute in the Class Region to define new at-
tributes
What is new in Ring 1.1?, 100
Using Semi-colon after and between statements
Syntax Flexibility, 671
Using Sublime Text 2
Using Other Code Editors, 130
Using the ’else’ keyword as ’other’ in switch statement
Syntax Flexibility, 672
Using the ’elseif’ keyword as ’but’ in if statement
Syntax Flexibility, 672
Using the ’end’ keyword in different control structures
Syntax Flexibility, 673
Using the Interactive Debugger
The Trace Library and the Interactive Debugger, 720
Using the Natural Library
Defining Commands, 342
Defining commands using classes, 345
Introduction, 339
Natural Library - Demo Program, 340
Operators, 344
Using the QColorDialog Class
Desktop and Mobile Development, 578
Using the QFileDialog Class
Desktop and Mobile Development, 573
Using the QListWidget Class
Desktop and Mobile Development, 533
Using the QTextEdit Class
Desktop and Mobile Development, 532
Using the QTimer Class
Desktop and Mobile Development, 570
Using the tool
Code Generator, 738
Using This.Attribute in nested Braces inside the Class
Methods
What is new in Ring 1.1?, 100
Using Types inside Code
The Type Hints Library, 679
Using Visual Studio IDE
Using Other Code Editors, 131
value()
Stdlib Functions, 286
Variables
Deep Copy, 133
Dynamic Typing, 133
Introduction, 132
Weakly Typed, 134
Variables Scope
Functions - First Style, 157
Functions - Second Style, 161
Functions - Third Style, 165
varptr()
Low Level Functions, 699
Version() Function
System Functions, 214
Video-Music-Player Application
What is new in Ring 1.5?, 26
Virtual Machine Instructions
Reference, 1729
Visual Implementation
Language Design, 24
Weakly Typed
Variables, 134
Web Development (CGI Library)
Application Class, 395
Configure the Apache web server, 347
Cookies, 359
CRUD Example using MVC, 381
Database, ModelBase & ControllerBase classes, 389
Generating Pages using Objects, 371
Gradient, 370
Hash Functions, 365
Hello World Program using the Web Library, 348
HTML Lists, 368
HTML Special Characters, 364
HTML Tables, 369
HtmlPage Class, 376, 400
Index 1767
Ring Documentation, Release 1.5
HTTP Get Example, 349
HTTP POST Example, 354
Introduction, 346
Page Class, 396
Random Image, 367
Ring CGI Hello World Program, 348
ScriptFunctions Class, 398
StyleFunctions Class, 398
Templates, 362
Upload Files, 356
URL Encode, 361
Users registration and Login, 383
Using Bootstrap Library using Functions, 377
Using Bootstrap Library using Objects, 378
Web Library Features, 349
WebLib API, 394
WebPage Class, 399
Web Library Features
Web Development (CGI Library), 349
WebLib API
Web Development (CGI Library), 394
WebPage Class
Web Development (CGI Library), 399
Weight History Application
Desktop and Mobile Development, 599
Werdy Application
Applications developed in little hours, 6
What about predefined parameters or optional parameters
in functions?
Frequently Asked Questions, 1705
What about the Boolean values in Ring?
Frequently Asked Questions, 1697
What are the advantages to using Ring over C# or Java?
Frequently Asked Questions, 1695
What are the advantages to using Ring over Lisp or
Smalltalk?
Frequently Asked Questions, 1692
What are the advantages to using Ring over native C or
C++?
Frequently Asked Questions, 1693
What are the advantages to using Ring over Python and
Ruby?
Frequently Asked Questions, 1694
What are the advantages to using Ring over Tcl and Lua?
Frequently Asked Questions, 1694
What happens when we create a new object?
Frequently Asked Questions, 1701
What is new in Ring 1.1?
Better Code Generator for Extensions, 100
Better Documentation, 100
Better Natural Language Programming Support, 92
Game Engine for 2D Games, 98
Generate/Execute Ring Object Files (*.ringo), 93
Introduction, 91
List of changes and new features, 92
New Functions and Changes, 95
RingLibSDL, 98
RingSQLite, 99
StdLib functions and classes written in Ring, 96
Syntax Flexibility, 93
Using Self.Attribute in the Class Region to define
new attributes, 100
Using This.Attribute in nested Braces inside the
Class Methods, 100
What is new in Ring 1.2?
Better Call Command, 90
Better Functions, 87
Better Quality, 90
Better Ring Notepad, 87
Better RingQt, 87
Display Warnings Option, 90
Introduction, 85
List of changes and new features, 86
New Functions, 86
Objects Library for RingQt, 88
RingLibCurl, 89
Using NULL instead of NULLPointer(), 90
What is new in Ring 1.3?
Better Loop|Exit Command, 81
Better Ring Notepad, 77
Better RingQt, 73
Better StdLib, 81
Embedding Ring in Ring without sharing the State,
83
Form Designer, 84
Introduction, 72
List of changes and new features, 73
New Functions, 82
Return Self by Reference, 82
Ring mode for Emacs Editor, 80
RingZip Library, 83
Using ’<’ and ’:’ operators as ’from’ keyword, 82
What is new in Ring 1.4.1?
Better RingQt, 62
Better Scripts for Building from Source Code, 60
Better StdLib, 61
Introduction, 59
List of changes and new features, 60
New Sample : Sixteen Puzzle, 62
New Style to Ring Notepad, 61
What is new in Ring 1.4?
Better RingQt, 71
Better StdLib, 69
Better WebLib, 69
Change: Basic Extensions are separated from
RingVM, 64
Convert between Numbers and Bytes, 68
Introduction, 63
Index 1768
Ring Documentation, Release 1.5
List of changes and new features, 64
New Style to Ring Notepad, 67
Qt Class Convertor, 71
RingREPL, 67
The Natural Library, 65
What is new in Ring 1.5?
Better Code Generator for Extensions, 50
Better Documentation Generator for Extensions, 51
Better Objects Library, 37
Better Quality, 59
Better Ring Notepad, 28
Better RingQt, 35
Better StdLib, 31
Better WebLib, 32
Calculator Application, 27
Introduction, 25
List of changes and new features, 26
More Syntax Flexibility, 57
Ring VM - Tracing Functions, 51
RingFreeGLUT Extension, 37
RingOpenGL Extension, 46
Trace Library and Interactive Debugger, 55
Type Hints Library, 58
Video-Music-Player Application, 26
Windows StartUp Manager Application, 27
What is RingFreeGLUT?
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 482
What is RingOpenGL?
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 481
What is the difference between Ring and Python? And is
Ring Open Source?
Frequently Asked Questions, 1693
Where can I write a program and execute it?
Frequently Asked Questions, 1704
While Loop
Control Structures - First Style, 139
Control Structures - Third Style, 149
Why do we need Yet Another Programming Language
(YAPL)?
Frequently Asked Questions, 1691
Why I get a strange result when printing nl with lists?
Frequently Asked Questions, 1706
Why I get Calling Function without definition Error?
Frequently Asked Questions, 1717
Why Ring is largely focussed on UI creation?
Frequently Asked Questions, 1693
Why Ring is not case-sensitive
Frequently Asked Questions, 1699
Why Ring is weakly typed?
Frequently Asked Questions, 1692
Why Ring uses ’See’, ’Give’, ’But’ and ’Ok’ Keywords?
Frequently Asked Questions, 1696
Why Ring?
Language Design, 17
Why setClickEvent() doesn’t see the object methods di-
rectly?
Frequently Asked Questions, 1717
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, 1695
Why the Assignment operator uses Deep copy?
Frequently Asked Questions, 1700
Why the window title bar is going outside the screen?
Frequently Asked Questions, 1711
Why this example use the GetChar() twice?
Frequently Asked Questions, 1708
Why Type Hints?
The Type Hints Library, 678
Why we don’t use () after the qApp class name?
Frequently Asked Questions, 1711
Why you can specify the number of loops you want to
break out of?
Frequently Asked Questions, 1696
Window Flags
Form Designer, 647
Window Resize Event
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 485
Windows StartUp Manager Application
What is new in Ring 1.5?, 27
Windowsnl() Function
System Functions, 212
Wrap structures
Code Generator, 740
Wrapping C++ Classes
Code Generator, 746
Write file using Write()
Files, 200
Writing Comments
Getting Started - First Style, 111
Getting Started - Second Style, 113
Getting Started - Third Style, 115
Zip Class Reference
RingZip, 407
ZipEntry Class Reference
RingZip, 407
Index 1769

More Related Content

What's hot

Kotlin Slides from Devoxx 2011
Kotlin Slides from Devoxx 2011Kotlin Slides from Devoxx 2011
Kotlin Slides from Devoxx 2011
Andrey Breslav
 
Kotlin advanced - language reference for android developers
Kotlin advanced - language reference for android developersKotlin advanced - language reference for android developers
Kotlin advanced - language reference for android developers
Bartosz Kosarzycki
 

What's hot (20)

Go Language Hands-on Workshop Material
Go Language Hands-on Workshop MaterialGo Language Hands-on Workshop Material
Go Language Hands-on Workshop Material
 
Kotlin Slides from Devoxx 2011
Kotlin Slides from Devoxx 2011Kotlin Slides from Devoxx 2011
Kotlin Slides from Devoxx 2011
 
Stetl for INSPIRE Data Transformation
Stetl for INSPIRE Data TransformationStetl for INSPIRE Data Transformation
Stetl for INSPIRE Data Transformation
 
The Ring programming language version 1.5.1 book - Part 13 of 180
The Ring programming language version 1.5.1 book - Part 13 of 180The Ring programming language version 1.5.1 book - Part 13 of 180
The Ring programming language version 1.5.1 book - Part 13 of 180
 
Dive into Pinkoi 2013
Dive into Pinkoi 2013Dive into Pinkoi 2013
Dive into Pinkoi 2013
 
FTD JVM Internals
FTD JVM InternalsFTD JVM Internals
FTD JVM Internals
 
5 Minute Intro to Stetl
5 Minute Intro to Stetl5 Minute Intro to Stetl
5 Minute Intro to Stetl
 
Geospatial ETL with Stetl - GeoPython 2016
Geospatial ETL with Stetl - GeoPython 2016Geospatial ETL with Stetl - GeoPython 2016
Geospatial ETL with Stetl - GeoPython 2016
 
The Ring programming language version 1.5.2 book - Part 180 of 181
The Ring programming language version 1.5.2 book - Part 180 of 181The Ring programming language version 1.5.2 book - Part 180 of 181
The Ring programming language version 1.5.2 book - Part 180 of 181
 
Taming Rich GML with Stetl - FOSS4G 2013 Nottingham
Taming Rich GML with Stetl - FOSS4G 2013 NottinghamTaming Rich GML with Stetl - FOSS4G 2013 Nottingham
Taming Rich GML with Stetl - FOSS4G 2013 Nottingham
 
Kotlin
KotlinKotlin
Kotlin
 
The Ring programming language version 1.7 book - Part 17 of 196
The Ring programming language version 1.7 book - Part 17 of 196The Ring programming language version 1.7 book - Part 17 of 196
The Ring programming language version 1.7 book - Part 17 of 196
 
Language Design Trade-offs
Language Design Trade-offsLanguage Design Trade-offs
Language Design Trade-offs
 
The Ring programming language version 1.5.4 book - Part 180 of 185
The Ring programming language version 1.5.4 book - Part 180 of 185The Ring programming language version 1.5.4 book - Part 180 of 185
The Ring programming language version 1.5.4 book - Part 180 of 185
 
Kotlin advanced - language reference for android developers
Kotlin advanced - language reference for android developersKotlin advanced - language reference for android developers
Kotlin advanced - language reference for android developers
 
The Ring programming language version 1.5.2 book - Part 176 of 181
The Ring programming language version 1.5.2 book - Part 176 of 181The Ring programming language version 1.5.2 book - Part 176 of 181
The Ring programming language version 1.5.2 book - Part 176 of 181
 
Use PEG to Write a Programming Language Parser
Use PEG to Write a Programming Language ParserUse PEG to Write a Programming Language Parser
Use PEG to Write a Programming Language Parser
 
Java Full Throttle
Java Full ThrottleJava Full Throttle
Java Full Throttle
 
Learning Git with Workflows
Learning Git with WorkflowsLearning Git with Workflows
Learning Git with Workflows
 
Preon (J-Fall 2008)
Preon (J-Fall 2008)Preon (J-Fall 2008)
Preon (J-Fall 2008)
 

Similar to The Ring programming language version 1.5 book - Part 31 of 31

Similar to The Ring programming language version 1.5 book - Part 31 of 31 (20)

The Ring programming language version 1.7 book - Part 194 of 196
The Ring programming language version 1.7 book - Part 194 of 196The Ring programming language version 1.7 book - Part 194 of 196
The Ring programming language version 1.7 book - Part 194 of 196
 
The Ring programming language version 1.5.4 book - Part 183 of 185
The Ring programming language version 1.5.4 book - Part 183 of 185The Ring programming language version 1.5.4 book - Part 183 of 185
The Ring programming language version 1.5.4 book - Part 183 of 185
 
The Ring programming language version 1.5.3 book - Part 194 of 194
The Ring programming language version 1.5.3 book - Part 194 of 194The Ring programming language version 1.5.3 book - Part 194 of 194
The Ring programming language version 1.5.3 book - Part 194 of 194
 
The Ring programming language version 1.8 book - Part 200 of 202
The Ring programming language version 1.8 book - Part 200 of 202The Ring programming language version 1.8 book - Part 200 of 202
The Ring programming language version 1.8 book - Part 200 of 202
 
The Ring programming language version 1.10 book - Part 212 of 212
The Ring programming language version 1.10 book - Part 212 of 212The Ring programming language version 1.10 book - Part 212 of 212
The Ring programming language version 1.10 book - Part 212 of 212
 
The Ring programming language version 1.5.2 book - Part 181 of 181
The Ring programming language version 1.5.2 book - Part 181 of 181The Ring programming language version 1.5.2 book - Part 181 of 181
The Ring programming language version 1.5.2 book - Part 181 of 181
 
The Ring programming language version 1.2 book - Part 84 of 84
The Ring programming language version 1.2 book - Part 84 of 84The Ring programming language version 1.2 book - Part 84 of 84
The Ring programming language version 1.2 book - Part 84 of 84
 
The Ring programming language version 1.5.3 book - Part 192 of 194
The Ring programming language version 1.5.3 book - Part 192 of 194The Ring programming language version 1.5.3 book - Part 192 of 194
The Ring programming language version 1.5.3 book - Part 192 of 194
 
The Ring programming language version 1.5.1 book - Part 178 of 180
The Ring programming language version 1.5.1 book - Part 178 of 180 The Ring programming language version 1.5.1 book - Part 178 of 180
The Ring programming language version 1.5.1 book - Part 178 of 180
 
The Ring programming language version 1.4 book - Part 30 of 30
The Ring programming language version 1.4 book - Part 30 of 30The Ring programming language version 1.4 book - Part 30 of 30
The Ring programming language version 1.4 book - Part 30 of 30
 
The Ring programming language version 1.8 book - Part 202 of 202
The Ring programming language version 1.8 book - Part 202 of 202The Ring programming language version 1.8 book - Part 202 of 202
The Ring programming language version 1.8 book - Part 202 of 202
 
The Ring programming language version 1.9 book - Part 207 of 210
The Ring programming language version 1.9 book - Part 207 of 210The Ring programming language version 1.9 book - Part 207 of 210
The Ring programming language version 1.9 book - Part 207 of 210
 
The Ring programming language version 1.8 book - Part 199 of 202
The Ring programming language version 1.8 book - Part 199 of 202The Ring programming language version 1.8 book - Part 199 of 202
The Ring programming language version 1.8 book - Part 199 of 202
 
The Ring programming language version 1.5.2 book - Part 178 of 181
The Ring programming language version 1.5.2 book - Part 178 of 181The Ring programming language version 1.5.2 book - Part 178 of 181
The Ring programming language version 1.5.2 book - Part 178 of 181
 
The Ring programming language version 1.4.1 book - Part 31 of 31
The Ring programming language version 1.4.1 book - Part 31 of 31The Ring programming language version 1.4.1 book - Part 31 of 31
The Ring programming language version 1.4.1 book - Part 31 of 31
 
The Ring programming language version 1.10 book - Part 208 of 212
The Ring programming language version 1.10 book - Part 208 of 212The Ring programming language version 1.10 book - Part 208 of 212
The Ring programming language version 1.10 book - Part 208 of 212
 
The Ring programming language version 1.3 book - Part 87 of 88
The Ring programming language version 1.3 book - Part 87 of 88The Ring programming language version 1.3 book - Part 87 of 88
The Ring programming language version 1.3 book - Part 87 of 88
 
The Ring programming language version 1.5.4 book - Part 185 of 185
The Ring programming language version 1.5.4 book - Part 185 of 185The Ring programming language version 1.5.4 book - Part 185 of 185
The Ring programming language version 1.5.4 book - Part 185 of 185
 
The Ring programming language version 1.9 book - Part 206 of 210
The Ring programming language version 1.9 book - Part 206 of 210The Ring programming language version 1.9 book - Part 206 of 210
The Ring programming language version 1.9 book - Part 206 of 210
 
The Ring programming language version 1.5.1 book - Part 10 of 180
The Ring programming language version 1.5.1 book - Part 10 of 180The Ring programming language version 1.5.1 book - Part 10 of 180
The Ring programming language version 1.5.1 book - Part 10 of 180
 

More from Mahmoud Samir Fayed

More from Mahmoud Samir Fayed (20)

The Ring programming language version 1.10 book - Part 211 of 212
The Ring programming language version 1.10 book - Part 211 of 212The Ring programming language version 1.10 book - Part 211 of 212
The Ring programming language version 1.10 book - Part 211 of 212
 
The Ring programming language version 1.10 book - Part 210 of 212
The Ring programming language version 1.10 book - Part 210 of 212The Ring programming language version 1.10 book - Part 210 of 212
The Ring programming language version 1.10 book - Part 210 of 212
 
The Ring programming language version 1.10 book - Part 207 of 212
The Ring programming language version 1.10 book - Part 207 of 212The Ring programming language version 1.10 book - Part 207 of 212
The Ring programming language version 1.10 book - Part 207 of 212
 
The Ring programming language version 1.10 book - Part 205 of 212
The Ring programming language version 1.10 book - Part 205 of 212The Ring programming language version 1.10 book - Part 205 of 212
The Ring programming language version 1.10 book - Part 205 of 212
 
The Ring programming language version 1.10 book - Part 206 of 212
The Ring programming language version 1.10 book - Part 206 of 212The Ring programming language version 1.10 book - Part 206 of 212
The Ring programming language version 1.10 book - Part 206 of 212
 
The Ring programming language version 1.10 book - Part 204 of 212
The Ring programming language version 1.10 book - Part 204 of 212The Ring programming language version 1.10 book - Part 204 of 212
The Ring programming language version 1.10 book - Part 204 of 212
 
The Ring programming language version 1.10 book - Part 203 of 212
The Ring programming language version 1.10 book - Part 203 of 212The Ring programming language version 1.10 book - Part 203 of 212
The Ring programming language version 1.10 book - Part 203 of 212
 
The Ring programming language version 1.10 book - Part 202 of 212
The Ring programming language version 1.10 book - Part 202 of 212The Ring programming language version 1.10 book - Part 202 of 212
The Ring programming language version 1.10 book - Part 202 of 212
 
The Ring programming language version 1.10 book - Part 201 of 212
The Ring programming language version 1.10 book - Part 201 of 212The Ring programming language version 1.10 book - Part 201 of 212
The Ring programming language version 1.10 book - Part 201 of 212
 
The Ring programming language version 1.10 book - Part 200 of 212
The Ring programming language version 1.10 book - Part 200 of 212The Ring programming language version 1.10 book - Part 200 of 212
The Ring programming language version 1.10 book - Part 200 of 212
 
The Ring programming language version 1.10 book - Part 199 of 212
The Ring programming language version 1.10 book - Part 199 of 212The Ring programming language version 1.10 book - Part 199 of 212
The Ring programming language version 1.10 book - Part 199 of 212
 
The Ring programming language version 1.10 book - Part 198 of 212
The Ring programming language version 1.10 book - Part 198 of 212The Ring programming language version 1.10 book - Part 198 of 212
The Ring programming language version 1.10 book - Part 198 of 212
 
The Ring programming language version 1.10 book - Part 197 of 212
The Ring programming language version 1.10 book - Part 197 of 212The Ring programming language version 1.10 book - Part 197 of 212
The Ring programming language version 1.10 book - Part 197 of 212
 
The Ring programming language version 1.10 book - Part 196 of 212
The Ring programming language version 1.10 book - Part 196 of 212The Ring programming language version 1.10 book - Part 196 of 212
The Ring programming language version 1.10 book - Part 196 of 212
 
The Ring programming language version 1.10 book - Part 195 of 212
The Ring programming language version 1.10 book - Part 195 of 212The Ring programming language version 1.10 book - Part 195 of 212
The Ring programming language version 1.10 book - Part 195 of 212
 
The Ring programming language version 1.10 book - Part 194 of 212
The Ring programming language version 1.10 book - Part 194 of 212The Ring programming language version 1.10 book - Part 194 of 212
The Ring programming language version 1.10 book - Part 194 of 212
 
The Ring programming language version 1.10 book - Part 193 of 212
The Ring programming language version 1.10 book - Part 193 of 212The Ring programming language version 1.10 book - Part 193 of 212
The Ring programming language version 1.10 book - Part 193 of 212
 
The Ring programming language version 1.10 book - Part 192 of 212
The Ring programming language version 1.10 book - Part 192 of 212The Ring programming language version 1.10 book - Part 192 of 212
The Ring programming language version 1.10 book - Part 192 of 212
 
The Ring programming language version 1.10 book - Part 191 of 212
The Ring programming language version 1.10 book - Part 191 of 212The Ring programming language version 1.10 book - Part 191 of 212
The Ring programming language version 1.10 book - Part 191 of 212
 
The Ring programming language version 1.10 book - Part 190 of 212
The Ring programming language version 1.10 book - Part 190 of 212The Ring programming language version 1.10 book - Part 190 of 212
The Ring programming language version 1.10 book - Part 190 of 212
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

The Ring programming language version 1.5 book - Part 31 of 31

  • 1. Ring Documentation, Release 1.5 How to get the file size using ftell() and fseek() func- tions?, 1705 How to insert an item to the first position in the list?, 1710 How to perform some manipulations on selected cells in QTableWidget?, 1721 How to print keys or values only in List/Dictionary?, 1706 How to print lists that contains objects?, 1710 How to print new lines and other characters?, 1711 How to use many source code files in the project?, 1707 How to use NULL and ISNULL() function?, 1709 How to use SQLite using ODBC?, 1715 Introduction, 1690 Is Ring some sort of improvement over PHP?, 1693 List index start from 1, 1699 Philosophy behind data types in Ring, 1696 Search of global names while defining the class at- tributes, 1703 The documentation says functional programming is supported, but then this happens?, 1695 What about predefined parameters or optional pa- rameters in functions?, 1705 What about the Boolean values in Ring?, 1697 What are the advantages to using Ring over C# or Java?, 1695 What are the advantages to using Ring over Lisp or Smalltalk?, 1692 What are the advantages to using Ring over native C or C++?, 1693 What are the advantages to using Ring over Python and Ruby?, 1694 What are the advantages to using Ring over Tcl and Lua?, 1694 What happens when we create a new object?, 1701 What is the difference between Ring and Python? And is Ring Open Source?, 1693 Where can I write a program and execute it?, 1704 Why do we need Yet Another Programming Lan- guage (YAPL)?, 1691 Why I get a strange result when printing nl with lists?, 1706 Why I get Calling Function without definition Er- ror?, 1717 Why Ring is largely focussed on UI creation?, 1693 Why Ring is not case-sensitive, 1699 Why Ring is weakly typed?, 1692 Why Ring uses ’See’, ’Give’, ’But’ and ’Ok’ Key- words?, 1696 Why setClickEvent() doesn’t see the object methods directly?, 1717 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?, 1695 Why the Assignment operator uses Deep copy?, 1700 Why the window title bar is going outside the screen?, 1711 Why this example use the GetChar() twice?, 1708 Why we don’t use () after the qApp class name?, 1711 Why you can specify the number of loops you want to break out of?, 1696 Fseek() Files, 203 Fsetpos() Files, 204 FSize() Stdlib Functions, 298 Ftell() Files, 203 Function Prototype Extension, 729 function prototype Code Generator, 738 Function Structure Extension, 727 Functional Programming Anonymous and Nested Functions, 264 Equality of functions, 265 First-Class Functions, 263 Higher-order Functions, 263 Introduction, 261 Pure Functions, 262 Functions - First Style Call Functions, 155 Declare parameters, 156 Define Functions, 155 Introduction, 154 Main Function, 156 Recursion, 158 Return Value, 157 Send Parameters, 156 Variables Scope, 157 Functions - Second Style Call Functions, 159 Declare parameters, 160 Define Functions, 159 Introduction, 158 Main Function, 160 Recursion, 162 Return Value, 161 Send Parameters, 160 Variables Scope, 161 Functions - Third Style Call Functions, 163 Declare parameters, 164 Index 1745
  • 2. Ring Documentation, Release 1.5 Define Functions, 163 Introduction, 162 Main Function, 164 Recursion, 166 Return Value, 165 Send Parameters, 164 Variables Scope, 165 functions() Reflection and Meta-programming, 268 Fwrite() Files, 206 Game Class Game Engine for 2D Games, 430 Game Engine Classes Game Engine for 2D Games, 429 Game Engine for 2D Games Animate Class, 432 Animate Events, 443 Animation, 437 Animation and Functions, 438 Creating the Game Window, 432 Drawing Text, 433 Flappy Bird 3000 Game, 459 Game Class, 430 Game Engine Classes, 429 GameObject Class, 430 Games Layer, 429 Graphics Library Bindings, 428 Interface to graphics library, 428 Introduction, 427 Map, 445 Map Class, 432 Map Events, 446 Moving Text, 434 Object and Drawing, 448 Playing Sound, 436 Project Layers, 428 Sound Class, 432 Sprite Automatic Movement, 439 Sprite Class, 431 Sprite Keypress Event, 440 Sprite Mouse Event, 441 Sprite State Event, 442 Stars Fighter Game, 451 Super Man 2016 Game, 466 Text Class, 431 What is new in Ring 1.1?, 98 GameObject Class Game Engine for 2D Games, 430 Games Layer Game Engine for 2D Games, 429 gcd() Stdlib Functions, 292 Generate Object File Command Line Options, 697 Generate/Execute Ring Object Files (*.ringo) What is new in Ring 1.1?, 93 Generating Pages using Objects Web Development (CGI Library), 371 Get Active Source File Name System Functions, 213 Get Command Line Arguments System Functions, 212 Get List Item Lists, 169 Get List Size Lists, 169 Get Number of Characters from position Strings, 179 Get Parameters Values Extension, 728 Get Request RingLibCurl, 401 Get Stock Data From Yahoo RingLibCurl, 403 Get String Length Strings, 176 Get Substring from position to end Strings, 179 getattribute() Reflection and Meta-programming, 280 GetChar() Getting Input, 153 getnumber() Stdlib Functions, 285 getstring() Stdlib Functions, 285 Getter and Setter Methods Frequently Asked Questions, 1702 Getting Input GetChar(), 153 Getting Started - First Style, 111 Getting Started - Second Style, 113 Getting Started - Third Style, 115 Give Command, 153 Input(), 154 Introduction, 152 Getting Started - First Style Getting Input, 111 Hello World, 110 Introduction, 109 Multi-Line literals, 110 No Explicit End For Statements, 111 Not Case-Sensitive, 110 Run the program, 110 Writing Comments, 111 Getting Started - Second Style Index 1746
  • 3. Ring Documentation, Release 1.5 Getting Input, 113 Hello World, 112 Introduction, 111 Multi-Line literals, 112 No Explicit End For Statements, 113 Not Case-Sensitive, 112 Run the program, 112 Writing Comments, 113 Getting Started - Third Style Getting Input, 115 Hello World, 114 Introduction, 113 Multi-Line literals, 114 No Explicit End For Statements, 115 Not Case-Sensitive, 114 Run the program, 114 Writing Comments, 115 Give Command Getting Input, 153 globals() Reflection and Meta-programming, 267 Goal of including the Main function in Ring Frequently Asked Questions, 1698 Gradient Web Development (CGI Library), 370 Graphics and Game Programming Drawing, Animation and Input, 408 Introduction, 407 Playing Sound, 415 Scaling and Rotating Images, 416 Threads, 418 Transparent Image, 417 TrueType Fonts, 414 Graphics Library Bindings Game Engine for 2D Games, 428 Hash Functions Web Development (CGI Library), 365 HashTable Class Stdlib Classes, 307 Hello World Getting Started - First Style, 110 Getting Started - Second Style, 112 Getting Started - Third Style, 114 Hello World Program using the Web Library Web Development (CGI Library), 348 Hex() Data Type, 192 Hex2str() Data Type, 193 Higher-order Functions Functional Programming, 263 History Introduction, 13 Natural Language Programming, 330 How can I disable maximize button and resize window? Frequently Asked Questions, 1714 How Ring find a functions and methods? Scope Rules for Functions and Methods, 664 How Ring find the Variable? Scope Rules, 650 How to add Combobox and other elements to the cells of a QTableWidget? Frequently Asked Questions, 1721 How to Close a window then displaying another one? Frequently Asked Questions, 1713 How to contribute? Applications, 109 Compiler and Virtual Machine (VM), 109 Documentation, 108 Editors Support, 109 Extensions in C/C++, 109 Ideas and suggestions, 109 Introduction, 107 Libraries in Ring, 109 Samples, 108 Special thanks to contributors, 108 Testing, 108 How to create a Modal Window? Frequently Asked Questions, 1713 How to create an array of buttons in GUI applications? Frequently Asked Questions, 1712 How to extend RingQt and add more classes? Frequently Asked Questions, 1718 How to get the current source file path? Frequently Asked Questions, 1705 How to get the file size using ftell() and fseek() functions? Frequently Asked Questions, 1705 How to insert an item to the first position in the list? Frequently Asked Questions, 1710 How to perform some manipulations on selected cells in QTableWidget? Frequently Asked Questions, 1721 How to print keys or values only in List/Dictionary? Frequently Asked Questions, 1706 How to print lists that contains objects? Frequently Asked Questions, 1710 How to print new lines and other characters? Frequently Asked Questions, 1711 How to use many source code files in the project? Frequently Asked Questions, 1707 How to use NULL and ISNULL() function? Frequently Asked Questions, 1709 How to use SQLite using ODBC? Frequently Asked Questions, 1715 HTML Lists Web Development (CGI Library), 368 HTML Special Characters Index 1747
  • 4. Ring Documentation, Release 1.5 Web Development (CGI Library), 364 HTML Tables Web Development (CGI Library), 369 HtmlPage Class Web Development (CGI Library), 376, 400 HTTP Get Example Web Development (CGI Library), 349 HTTP POST Example Web Development (CGI Library), 354 Ideas and suggestions How to contribute?, 109 If Statement Control Structures - Second Style, 145 Control Structures - Third Style, 148 Inheritance Object Oriented Programming, 255 Inheritance from GUI Classes Desktop and Mobile Development, 590 Input() Getting Input, 154 Insert() Lists, 172 Install Qt for Android Building RingQt Applications for Mobile, 633 Interactive Debugger The Trace Library and the Interactive Debugger, 719 Interface to graphics library Game Engine for 2D Games, 428 Internet Class Stdlib Classes, 323 Introduction Features, 13 History, 13 Introduction, 11 Motivation, 12 Is Ring some sort of improvement over PHP? Frequently Asked Questions, 1693 IsAlNum() Data Type, 188 IsAlpha() Data Type, 188 IsAndroid() Function System Functions, 211 isattribute() Reflection and Meta-programming, 276 iscfunction() Reflection and Meta-programming, 270 isclass() Reflection and Meta-programming, 272 IsCntrl() Data Type, 188 IsDigit() Data Type, 189 IsFreeBSD() Function System Functions, 211 isfunction() Reflection and Meta-programming, 270 isglobal() Reflection and Meta-programming, 269 IsGraph() Data Type, 189 isleapyear() Stdlib Functions, 294 IsLinux() Function System Functions, 211 IsList() Data Type, 187 islocal() Reflection and Meta-programming, 269 IsLower() Data Type, 189 IsMacOSX() Function System Functions, 210 ismainsourcefile() Stdlib Functions, 297 ismethod() Reflection and Meta-programming, 277 IsMSDOS() Function System Functions, 210 IsNULL() Data Type, 187 IsNumber() Data Type, 186 isobject() Reflection and Meta-programming, 275 ispackage() Reflection and Meta-programming, 271 ispackagesclass() Reflection and Meta-programming, 274 isprime() Stdlib Functions, 290 IsPrint() Data Type, 189 isprivateattribute() Reflection and Meta-programming, 276 isprivatemethod() Reflection and Meta-programming, 277 IsPunct() Data Type, 190 IsSpace() Data Type, 190 isspecial() Stdlib Functions, 288 IsString() Data Type, 186 IsUnix() Function System Functions, 210 Index 1748
  • 5. Ring Documentation, Release 1.5 IsUpper() Data Type, 190 isvowel() Stdlib Functions, 289 IsWindows() Function System Functions, 210 IsWindows64() Function System Functions, 210 IsXdigit() Data Type, 190 JustFileName() Stdlib Functions, 286 JustFilePath() Stdlib Functions, 285 Keyboard Events and Colors Using RingOpenGL and RingFreeGLUT for 3D Graphics, 488 Keyboard Shortcuts Form Designer, 646 KeyPress and Mouse Move Events Desktop and Mobile Development, 584 Language Design Compact Syntax, 19 Define Declarative Languages, 22 Define Natural Statements, 20 Designed for a clear goal, 17 Encourage Organization, 19 Introduction, 16 Simple, 17 Smart Garbage Collector, 25 Transparent Implementation, 23 Trying to be natural, 18 Visual Implementation, 24 Why Ring?, 17 Language Functions Reference, 1724 Language Grammar Reference, 1727 Language Keywords Reference, 1723 Language Shell Demo Programs, 219 lcm() Stdlib Functions, 292 Left() Strings, 177 Libraries in Ring How to contribute?, 109 Library Usage Objects Library for RingQt Application, 636 linecount() Stdlib Functions, 289 Lines() Strings, 178 List Class Stdlib Classes, 304 List index start from 1 Frequently Asked Questions, 1699 List of changes and new features What is new in Ring 1.1?, 92 What is new in Ring 1.2?, 86 What is new in Ring 1.3?, 73 What is new in Ring 1.4.1?, 60 What is new in Ring 1.4?, 64 What is new in Ring 1.5?, 26 list of functions Mathematical Functions, 194 list2file() Stdlib Functions, 290 ListAllFiles() Function Stdlib Functions, 299 Lists Access List Items by String Index, 174 Add Items, 168 Copy Lists, 172 Create Lists, 168 Delete Item From List, 169 First-Class Lists, 173 Get List Item, 169 Get List Size, 169 Insert(), 172 Introduction, 167 Nested Lists, 172 Passing Lists to Functions, 173 Passing Parameters Using List, 174 Reverse(), 171 Search, 170 Set List Item, 169 Sort(), 170 Swap Items, 175 Using Lists during definition, 173 Load Syntax Files Syntax Flexibility, 669 Loading the Trace library The Trace Library and the Interactive Debugger, 718 locals() Reflection and Meta-programming, 267 Logical Operators Operators, 135 Loop Command Control Structures - First Style, 142 Looping Control Structures, 149 Control Structures - First Style, 139 Control Structures - Second Style, 146 Low Level Functions Index 1749
  • 6. Ring Documentation, Release 1.5 callgc(), 698 Example - The Trace Library, 714 Example - Using the Trace Functions, 710 Introduction, 697 nullpointer(), 700 object2pointer(), 700 pointer2object(), 700 ptrcmp(), 701 ringvm_callfunc(), 710 RingVM_CallList(), 706 RingVM_CFunctionsList(), 702 RingVM_ClassesList(), 702 ringvm_evalinscope(), 709 RingVM_FilesList(), 707 RingVM_FunctionsList(), 702 ringvm_hideerrorMsg(), 709 RingVM_MemoryList(), 704 RingVM_PackagesList(), 703 ringvm_passerror(), 709 ringvm_scopescount(), 709 ringvm_settrace(), 708 ringvm_tracedata(), 708 ringvm_traceevent(), 708 ringvm_tracefunc(), 709 space(), 699 varptr(), 699 Main Function Functions - First Style, 156 Functions - Second Style, 160 Functions - Third Style, 164 Main Menu Demo Programs, 219 Make a Cube using RingOpenGL and RingFreeGLUT Using RingOpenGL and RingFreeGLUT for 3D Graphics, 525 makedir() Stdlib Functions, 298 Map Game Engine for 2D Games, 445 Map Class Game Engine for 2D Games, 432 Map Events Game Engine for 2D Games, 446 map() Stdlib Functions, 287 Math Class Stdlib Classes, 309 Mathematical Functions Decimals(), 197 Example, 194 Introduction, 193 list of functions, 194 Random(), 196 Unsigned(), 197 matrixmulti() Stdlib Functions, 294 matrixtrans() Stdlib Functions, 295 MD5() Security and Internet Functions, 244 Menu Events Using RingOpenGL and RingFreeGLUT for 3D Graphics, 501 Menubar and StyleSheet Example Desktop and Mobile Development, 564 Menubar Designer Form Designer, 646 mergemethods() Reflection and Meta-programming, 282 Methods to use Events with Events Filter Desktop and Mobile Development, 627 methods() Reflection and Meta-programming, 275 Misc Operators Operators, 136 Module Organization Extension, 726 More Beatiful Code Declarative Programming, 328 More Samples and Tests Form Designer, 648 More Syntax Flexibility What is new in Ring 1.5?, 57 Motivation Introduction, 12 Mouse Events RingLibSDL, 425 Using RingOpenGL and RingFreeGLUT for 3D Graphics, 497 Movable Label Example Desktop and Mobile Development, 580 Moving Objects using the Mouse Desktop and Mobile Development, 586 Moving Text Game Engine for 2D Games, 434 Multi-Line literals Getting Started - First Style, 110 Getting Started - Second Style, 112 Getting Started - Third Style, 114 MySQL Class Stdlib Classes, 320 MySQL Functions Create Database, 233 Create Table and Insert Data, 234 Introduction, 231 MySQL_AutoCommit(), 239 MySQL_Close(), 233 Index 1750
  • 7. Ring Documentation, Release 1.5 MySQL_Columns(), 236 MySQL_Commit(), 239 MySQL_Connect(), 233 MySQL_Error(), 233 MySQL_Escape_String(), 238 MySQL_Info(), 232 MySQL_Init(), 233 MySQL_Inser_ID(), 235 MySQL_Next_Result(), 236 MySQL_Query(), 233 MySQL_Result(), 236 MySQL_Result2(), 237 MySQL_Rollback(), 239 Print Query Result, 236 Restore Image From The Database, 238 Save Image Inside the Database, 238 Transaction Example, 239 MySQL_AutoCommit() MySQL Functions, 239 MySQL_Close() MySQL Functions, 233 MySQL_Columns() MySQL Functions, 236 MySQL_Columns() Implementation Extension, 732 MySQL_Commit() MySQL Functions, 239 MySQL_Connect() MySQL Functions, 233 MySQL_Error() MySQL Functions, 233 MySQL_Escape_String() MySQL Functions, 238 MySQL_Info() MySQL Functions, 232 MySQL_Init() MySQL Functions, 233 MySQL_Inser_ID() MySQL Functions, 235 MySQL_Next_Result() MySQL Functions, 236 MySQL_Query() MySQL Functions, 233 MySQL_Result() MySQL Functions, 236 MySQL_Result2() MySQL Functions, 237 MySQL_Rollback() MySQL Functions, 239 Natural Language Programming BraceError() Method, 337 BraceExprEval Method, 336 BraceStart and BraceEnd Methods, 335 Change the ’=’ operator to ’is’, 333 Change the Ring Keyword ’And’, 331 Change the Ring Operator ’+’, 332 Clean Natural Code, 338 Example, 330 History, 330 Introduction, 329 Real Natual Code, 336 Using Eval() with our Natural Code, 334 Natural Library - Demo Program Using the Natural Library, 340 Nested Lists Lists, 172 New Classes names - Index Start from 1 Desktop and Mobile Development, 629 New Functions What is new in Ring 1.2?, 86 What is new in Ring 1.3?, 82 New Functions and Changes What is new in Ring 1.1?, 95 New Sample : Sixteen Puzzle What is new in Ring 1.4.1?, 62 New Style to Ring Notepad What is new in Ring 1.4.1?, 61 What is new in Ring 1.4?, 67 newlist() Stdlib Functions, 288 No Explicit End For Statements Getting Started - First Style, 111 Getting Started - Second Style, 113 Getting Started - Third Style, 115 No Run Command Line Options, 696 Not Case-Sensitive Getting Started - First Style, 110 Getting Started - Second Style, 112 Getting Started - Third Style, 114 Notepad Application Desktop and Mobile Development, 603 nullpointer() Low Level Functions, 700 Number() Data Type, 191 Numbers and Bytes Files, 208 Object and Drawing Game Engine for 2D Games, 448 Object Library Source Code Objects Library for RingQt Application, 640 Object Oriented Programming Access Objects Using Braces, 251 Classes and Objects, 249 Composition, 252 Index 1751
  • 8. Ring Documentation, Release 1.5 Dynamic Attributes, 256 Find() and List of Objects, 257 Inheritance, 255 Introduction, 248 Operator Overloading, 254 Packages, 256 Printing Objects, 257 Private Attributes and Methods, 253 Setter and Getter, 253 Sort() and List of Objects, 258 Using Self.Attribute, 260 object2pointer() Low Level Functions, 700 objectid() Reflection and Meta-programming, 274 Objects inside lists Declarative Programming, 324 Objects Library for RingQt What is new in Ring 1.2?, 88 Objects Library for RingQt Application Example, 636 Introduction, 635 Library Usage, 636 Object Library Source Code, 640 Open_WindowAndLink() Function, 639, 640 Open_WindowInPackages() Function, 640 ODBC Class Stdlib Classes, 319 ODBC Functions Execute Query and Print Result, 227 Introduction, 222 odbc_autocommit(), 229 odbc_close(), 224 odbc_colcount(), 226 odbc_columns(), 228 odbc_commit(), 229 odbc_connect(), 225 odbc_datasources(), 224 odbc_disconnect(), 226 odbc_drivers(), 223 odbc_execute(), 226 odbc_fetch(), 227 odbc_getdata(), 227 odbc_init(), 223 odbc_rollback(), 229 odbc_tables(), 227 Open and Close Connection, 226 Print List of ODBC Data Sources, 225 Print List of ODBC Drivers, 224 Save and Restore Images, 230 Transactions and Using Commit and Rollback, 229 odbc_autocommit() ODBC Functions, 229 odbc_close() ODBC Functions, 224 odbc_colcount() ODBC Functions, 226 odbc_columns() ODBC Functions, 228 odbc_commit() ODBC Functions, 229 odbc_connect() ODBC Functions, 225 odbc_datasources() ODBC Functions, 224 odbc_disconnect() ODBC Functions, 226 odbc_drivers() ODBC Functions, 223 odbc_execute() ODBC Functions, 226 odbc_fetch() ODBC Functions, 227 odbc_getdata() ODBC Functions, 227 odbc_init() ODBC Functions, 223 odbc_rollback() ODBC Functions, 229 odbc_tables() ODBC Functions, 227 Open and Close Connection ODBC Functions, 226 Open_WindowAndLink() Function Objects Library for RingQt Application, 639, 640 Open_WindowInPackages() Function Objects Library for RingQt Application, 640 Operator Overloading Object Oriented Programming, 254 Operators Arithmetic Operators, 135 Assignment Operators, 136 Bitwise Operators, 135 Introduction, 134 Logical Operators, 135 Misc Operators, 136 Operators Precedence, 136 Relational Operators, 135 Using the Natural Library, 344 Operators Precedence Operators, 136 Other Widgets Events Desktop and Mobile Development, 568 packagename() Reflection and Meta-programming, 283 Packages Object Oriented Programming, 256 Index 1752
  • 9. Ring Documentation, Release 1.5 packages() Reflection and Meta-programming, 271 packagesclasses() Reflection and Meta-programming, 273 Page Class Web Development (CGI Library), 396 palindrome() Stdlib Functions, 294 Pass Error The Trace Library and the Interactive Debugger, 719 Passing Lists to Functions Lists, 173 Passing Parameters Using List Lists, 174 Performance Command Line Options, 696 permutation() Stdlib Functions, 295 Perror() Files, 204 Philosophy behind data types in Ring Frequently Asked Questions, 1696 Play Sound RingLibSDL, 426 Playing Sound Desktop and Mobile Development, 578 Game Engine for 2D Games, 436 Graphics and Game Programming, 415 pointer2object() Low Level Functions, 700 Post Request RingLibCurl, 401 Prefix for Functions Names Code Generator, 740 PrevFileName() Function System Functions, 213 Print files in Zip file RingZip, 405 Print List of ODBC Data Sources ODBC Functions, 225 Print List of ODBC Drivers ODBC Functions, 224 Print Query Result MySQL Functions, 236 print() Stdlib Functions, 284 Print2Str() Function Stdlib Functions, 284 Printing Final Intermediate Code Command Line Options, 691 Printing Instruction Operation Code Command Line Options, 696 Printing Intermediate Code Command Line Options, 689 Printing Objects Object Oriented Programming, 257 Printing Rules Command Line Options, 685 Printing Tokens Command Line Options, 683 Printing using QPrinter Desktop and Mobile Development, 576 Private Attributes and Methods Object Oriented Programming, 253 prodlist() Stdlib Functions, 293 Program Structure Introduction, 166 Source Code File Sections, 167 Using Many Source Code Files, 167 Project Folder Building Games For Android, 478 Project Layers Game Engine for 2D Games, 428 Protecting the Source Code Distributing Ring Application, 681 ptrcmp() Low Level Functions, 701 Pure Functions Functional Programming, 262 puts() Stdlib Functions, 284 QAbstractButton Class RingQt Classes Reference, 1591 QAbstractItemView Class RingQt Classes Reference, 1577 QAbstractScrollArea Class RingQt Classes Reference, 1577 QAbstractSlider Class RingQt Classes Reference, 1584 QAbstractSocket Class RingQt Classes Reference, 1613 QAbstractSpinBox Class RingQt Classes Reference, 1587 QAction Class RingQt Classes Reference, 1595 QAllEvents Class RingQt Classes Reference, 1626 QApp Class RingQt Classes Reference, 1544 QAxBase Class RingQt Classes Reference, 1678 QAxObject Class RingQt Classes Reference, 1677 QBitmap Class RingQt Classes Reference, 1552 QBluetoothAddress Class Index 1753
  • 10. Ring Documentation, Release 1.5 RingQt Classes Reference, 1683 QBluetoothDeviceDiscoveryAgent Class RingQt Classes Reference, 1683 QBluetoothDeviceInfo Class RingQt Classes Reference, 1684 QBluetoothHostInfo Class RingQt Classes Reference, 1684 QBluetoothLocalDevice Class RingQt Classes Reference, 1685 QBluetoothServer Class RingQt Classes Reference, 1686 QBluetoothServiceDiscoveryAgent Class RingQt Classes Reference, 1686 QBluetoothServiceInfo Class RingQt Classes Reference, 1687 QBluetoothSocket Class RingQt Classes Reference, 1688 QBluetoothTransferManager Class RingQt Classes Reference, 1689 QBluetoothTransferReply Class RingQt Classes Reference, 1689 QBluetoothTransferRequest Class RingQt Classes Reference, 1689 QBluetoothUuid Class RingQt Classes Reference, 1690 QBoxLayout Class RingQt Classes Reference, 1668 QBrush Class RingQt Classes Reference, 1609 QBuffer Class RingQt Classes Reference, 1683 QButtonGroup Class RingQt Classes Reference, 1593 QByteArray Class RingQt Classes Reference, 1610 QCamera Class RingQt Classes Reference, 1662 QCameraImageCapture Class RingQt Classes Reference, 1663 QCameraViewfinder Class RingQt Classes Reference, 1662 QCheckBox Class RingQt Classes Reference, 1591 QColor Class RingQt Classes Reference, 1604 QColorDialog Class RingQt Classes Reference, 1622 QComboBox Class RingQt Classes Reference, 1567 QCompleter Class RingQt Classes Reference, 1672 QCompleter2 Class RingQt Classes Reference, 1673 QCompleter3 Class RingQt Classes Reference, 1673 QCursor Class RingQt Classes Reference, 1676 QDate Class RingQt Classes Reference, 1635 QDateEdit Class RingQt Classes Reference, 1586 QDateTimeEdit Class RingQt Classes Reference, 1586 QDesktopServices Class RingQt Classes Reference, 1544 QDesktopWidget Class RingQt Classes Reference, 1628 QDial Class RingQt Classes Reference, 1588 QDialog Class RingQt Classes Reference, 1620 QDir Class RingQt Classes Reference, 1562 QDirModel Class RingQt Classes Reference, 1618 QDockWidget Class RingQt Classes Reference, 1573 QEvent Class RingQt Classes Reference, 1597 QFileDialog Class RingQt Classes Reference, 1599 QFileInfo Class RingQt Classes Reference, 1617 QFileSystemModel Class RingQt Classes Reference, 1562 QFont Class RingQt Classes Reference, 1607 QFontDialog Class RingQt Classes Reference, 1619 QFontMetrics Class RingQt Classes Reference, 1666 QFrame Class RingQt Classes Reference, 1576 QFrame2 Class RingQt Classes Reference, 1576 QFrame3 Class RingQt Classes Reference, 1577 QGradient Class RingQt Classes Reference, 1669 QGraphicsVideoItem Class RingQt Classes Reference, 1662 QGridLayout Class RingQt Classes Reference, 1659 QHBoxLayout Class RingQt Classes Reference, 1555 QHeaderView Class RingQt Classes Reference, 1664 QHostAddress Class Index 1754
  • 11. Ring Documentation, Release 1.5 RingQt Classes Reference, 1616 QHostInfo Class RingQt Classes Reference, 1617 QIcon Class RingQt Classes Reference, 1553 QImage Class RingQt Classes Reference, 1645 QInputDialog Class RingQt Classes Reference, 1624 QIODevice Class RingQt Classes Reference, 1612 QJsonArray Class RingQt Classes Reference, 1654 QJsonDocument Class RingQt Classes Reference, 1655 QJsonObject Class RingQt Classes Reference, 1655 QJsonParseError Class RingQt Classes Reference, 1656 QJsonValue Class RingQt Classes Reference, 1656 QKeySequence Class RingQt Classes Reference, 1624 QLabel Class RingQt Classes Reference, 1551 QLayout Class RingQt Classes Reference, 1668 QLCDNumber Class RingQt Classes Reference, 1624 QLinearGradient Class RingQt Classes Reference, 1669 QLineEdit Class RingQt Classes Reference, 1553 QLineEdit Events and QMessageBox Desktop and Mobile Development, 566 QListView Class RingQt Classes Reference, 1677 QListWidget Class RingQt Classes Reference, 1558 QListWidgetItem Class RingQt Classes Reference, 1633 QMainWindow Class RingQt Classes Reference, 1571 QMdiArea Class RingQt Classes Reference, 1675 QMdiSubWindow Class RingQt Classes Reference, 1676 QMediaObject Class RingQt Classes Reference, 1664 QMediaPlayer Class RingQt Classes Reference, 1593 QMediaPlaylist Class RingQt Classes Reference, 1594 QMenu Class RingQt Classes Reference, 1569 QMenuBar Class RingQt Classes Reference, 1569 QMessageBox Class RingQt Classes Reference, 1597 QMessagebox Example Desktop and Mobile Development, 581 QMutex Class RingQt Classes Reference, 1682 QMutexLocker Class RingQt Classes Reference, 1683 QNetworkAccessManager Class RingQt Classes Reference, 1642 QNetworkProxy Class RingQt Classes Reference, 1614 QNetworkReply Class RingQt Classes Reference, 1643 QNetworkRequest Class RingQt Classes Reference, 1642 QObject Class RingQt Classes Reference, 1544 QPainter Class RingQt Classes Reference, 1600 QPainter2 Class RingQt Classes Reference, 1602 QPainterPath Class RingQt Classes Reference, 1644 QPen Class RingQt Classes Reference, 1603 QPicture Class RingQt Classes Reference, 1603 QPixmap Class RingQt Classes Reference, 1552 QPixmap2 Class RingQt Classes Reference, 1553 QPlainTextEdit Class RingQt Classes Reference, 1656 QPoint Class RingQt Classes Reference, 1670 QPointF Class RingQt Classes Reference, 1670 QPrinter Class RingQt Classes Reference, 1606 QProcess Class RingQt Classes Reference, 1673 QProgressBar Class RingQt Classes Reference, 1583 QPushButton Class RingQt Classes Reference, 1552 QRadioButton Class RingQt Classes Reference, 1592 QRect Class RingQt Classes Reference, 1628 QRegularExpression Class Index 1755
  • 12. Ring Documentation, Release 1.5 RingQt Classes Reference, 1652 QRegularExpressionMatch Class RingQt Classes Reference, 1653 QRegularExpressionMatchIterator Class RingQt Classes Reference, 1653 QScrollArea Class RingQt Classes Reference, 1671 QSerialPort Class RingQt Classes Reference, 1679 QSerialPortInfo Class RingQt Classes Reference, 1680 QSize Class RingQt Classes Reference, 1553 QSlider Class RingQt Classes Reference, 1585 QSpinBox Class RingQt Classes Reference, 1583 QSplashScreen Class RingQt Classes Reference, 1667 QSplitter Class RingQt Classes Reference, 1671 QSqlDatabase Class RingQt Classes Reference, 1636 QSqlDriver Class RingQt Classes Reference, 1637 QSqlDriverCreatorBase Class RingQt Classes Reference, 1640 QSqlError Class RingQt Classes Reference, 1638 QSqlField Class RingQt Classes Reference, 1640 QSqlIndex Class RingQt Classes Reference, 1639 QSqlQuery Class RingQt Classes Reference, 1637 QSqlRecord Class RingQt Classes Reference, 1639 QStatusBar Class RingQt Classes Reference, 1572 QString2 Class RingQt Classes Reference, 1673 QStringList Class RingQt Classes Reference, 1622 QStringRef Class RingQt Classes Reference, 1681 QSystemTrayIcon Class RingQt Classes Reference, 1634 Qt Class Convertor What is new in Ring 1.4?, 71 Qt configuration file Code Generator, 747 QTableView Class RingQt Classes Reference, 1579 QTableWidget Class RingQt Classes Reference, 1580 QTableWidgetItem Class RingQt Classes Reference, 1575 QTabWidget Class RingQt Classes Reference, 1573 QTcpServer Class RingQt Classes Reference, 1615 QTcpSocket Class RingQt Classes Reference, 1615 QTest Class RingQt Classes Reference, 1544 QTextBlock Class RingQt Classes Reference, 1632 QTextCharFormat Class RingQt Classes Reference, 1660 QTextCodec Class RingQt Classes Reference, 1636 QTextCursor Class RingQt Classes Reference, 1620 QTextDocument Class RingQt Classes Reference, 1630 QTextEdit Class RingQt Classes Reference, 1556 QThread Class RingQt Classes Reference, 1651 QThreadPool Class RingQt Classes Reference, 1652 QTime Class RingQt Classes Reference, 1633 QTimer Class RingQt Classes Reference, 1598 QToolBar Class RingQt Classes Reference, 1570 QToolButton Class RingQt Classes Reference, 1678 QTreeView Class RingQt Classes Reference, 1560 QTreeWidget Class RingQt Classes Reference, 1563 QTreeWidgetItem Class RingQt Classes Reference, 1565 Queue Class Stdlib Classes, 306 Quotes about Ring Applications developed in little hours, 1 QUrl Class RingQt Classes Reference, 1590 QUuid Class RingQt Classes Reference, 1678 QVariant Class RingQt Classes Reference, 1640 QVBoxLayout Class RingQt Classes Reference, 1555 QVideoWidget and QMediaPlayer Index 1756
  • 13. Ring Documentation, Release 1.5 Desktop and Mobile Development, 560 QVideoWidget Class RingQt Classes Reference, 1594 QVideoWidgetControl Class RingQt Classes Reference, 1662 QWebView Class RingQt Classes Reference, 1589 QWidget Class RingQt Classes Reference, 1545 QXmlStreamAttribute Class RingQt Classes Reference, 1651 QXmlStreamAttributes Class RingQt Classes Reference, 1650 QXmlStreamEntityDeclaration Class RingQt Classes Reference, 1650 QXmlStreamEntityResolver Class RingQt Classes Reference, 1650 QXmlStreamNamespaceDeclaration Class RingQt Classes Reference, 1650 QXmlStreamNotationDeclaration Class RingQt Classes Reference, 1649 QXmlStreamReader Class RingQt Classes Reference, 1647 QXmlStreamWriter Class RingQt Classes Reference, 1648 Raise() Eval() and Debugging, 217 RandBytes() Security and Internet Functions, 247 Random Image Web Development (CGI Library), 367 Random() Mathematical Functions, 196 Read File using Read() Files, 200 readline() Stdlib Functions, 296 Real Natual Code Natural Language Programming, 336 Recursion Functions - First Style, 158 Functions - Second Style, 162 Functions - Third Style, 166 Reference Compiler Errors, 1725 Introduction, 1722 Language Functions, 1724 Language Grammar, 1727 Language Keywords, 1723 Runtime Errors, 1726 Virtual Machine Instructions, 1729 Reflection and Meta-programming addattribute(), 278 addmethod(), 278 attributes(), 275 cfunctions(), 268 classes(), 272 classname(), 274 functions(), 268 getattribute(), 280 globals(), 267 Introduction, 266 isattribute(), 276 iscfunction(), 270 isclass(), 272 isfunction(), 270 isglobal(), 269 islocal(), 269 ismethod(), 277 isobject(), 275 ispackage(), 271 ispackagesclass(), 274 isprivateattribute(), 276 isprivatemethod(), 277 locals(), 267 mergemethods(), 282 methods(), 275 objectid(), 274 packagename(), 283 packages(), 271 packagesclasses(), 273 setattribute(), 281 Register New Functions Code Generator, 741 Regular Expressions Desktop and Mobile Development, 595 Relational Operators Operators, 135 Remove() Files, 201 Rename() Files, 201 Resources Contact the Autor, 1736 Introduction, 1735 Ring Group, 1736 Ring Language Website, 1736 Restore Image From The Database MySQL Functions, 238 Return object by reference Declarative Programming, 325 Return Self by Reference What is new in Ring 1.3?, 82 Return Value Extension, 728 Functions - First Style, 157 Functions - Second Style, 161 Index 1757
  • 14. Ring Documentation, Release 1.5 Functions - Third Style, 165 Reverse() Lists, 171 Rewind() Files, 203 Right() Strings, 177 RING API - list Functions Extension, 730 RING API - String Functions Extension, 732 Ring CGI Hello World Program Web Development (CGI Library), 348 Ring Group Resources, 1736 Ring Language Website Resources, 1736 Ring mode for Emacs Editor What is new in Ring 1.3?, 80 Ring Notepad Introduction, 115 Ring Notepad - Creating and running your first con- sole application, 116 Ring Notepad - Creating and running your first game, 121 Ring Notepad - Creating and running your first GUI application, 119 Ring Notepad - Creating and running your first Web application, 120 Ring Notepad - Main Window, 116 The Browser Menu, 125 The Edit Menu, 123 The File Menu, 123 The Help Menu, 126 The Main File in the Project, 122 The Program Menu, 125 The Tools Menu, 126 The View Menu, 124 Ring Notepad - Creating and running your first console application Ring Notepad, 116 Ring Notepad - Creating and running your first game Ring Notepad, 121 Ring Notepad - Creating and running your first GUI ap- plication Ring Notepad, 119 Ring Notepad - Creating and running your first Web ap- plication Ring Notepad, 120 Ring Notepad - Main Window Ring Notepad, 116 Ring State Embedding Ring Language in C/C++ Programs, 735 Ring State Functions Embedding Ring Language in C/C++ Programs, 735 Ring State Variables Embedding Ring Language in C/C++ Programs, 736 Ring VM - Tracing Functions What is new in Ring 1.5?, 51 ring_ext.c Extension, 725 ring_ext.h Extension, 725 RingAllegro Functions Reference Introduction, 767 RingCodeHighlighter Class RingQt Classes Reference, 1646 RingFreeGLUT Extension What is new in Ring 1.5?, 37 RingFreeGLUT Functions Reference Introduction, 802 RingLibCurl Facebook Login, 401 Get Request, 401 Get Stock Data From Yahoo, 403 Introduction, 400 Post Request, 401 Save output to string, 402 What is new in Ring 1.2?, 89 RingLibCurl Functions Reference Introduction, 757 RingLibSDL Close Window Event, 424 Create Window, 421 Display Image, 421 Display PNG Images, 422 Display Transparent Images, 423 Draw Rectangle, 422 Introduction, 420 Mouse Events, 425 Play Sound, 426 Switch Between Two Images, 421 Use TTF Fonts, 423 What is new in Ring 1.1?, 98 RingLibSDL Functions Reference Introduction, 786 RingLibZip Functions Reference Introduction, 766 RingOpenGL (OpenGL 1.1) Functions Reference Introduction, 811 RingOpenGL (OpenGL 1.2) Functions Reference Introduction, 836 RingOpenGL (OpenGL 1.3) Functions Reference Introduction, 862 RingOpenGL (OpenGL 1.4) Functions Reference Introduction, 891 RingOpenGL (OpenGL 1.5) Functions Reference Introduction, 921 Index 1758
  • 15. Ring Documentation, Release 1.5 RingOpenGL (OpenGL 2.0) Functions Reference Introduction, 952 RingOpenGL (OpenGL 2.1) Functions Reference Introduction, 986 RingOpenGL (OpenGL 3.0) Functions Reference Introduction, 1028 RingOpenGL (OpenGL 3.1) Functions Reference Introduction, 1073 RingOpenGL (OpenGL 3.2) Functions Reference Introduction, 1119 RingOpenGL (OpenGL 3.3) Functions Reference Introduction, 1166 RingOpenGL (OpenGL 4.0) Functions Reference Introduction, 1213 RingOpenGL (OpenGL 4.1) Functions Reference Introduction, 1260 RingOpenGL (OpenGL 4.2) Functions Reference Introduction, 1307 RingOpenGL (OpenGL 4.3) Functions Reference Introduction, 1354 RingOpenGL (OpenGL 4.4) Functions Reference Introduction, 1401 RingOpenGL (OpenGL 4.5) Functions Reference Introduction, 1448 RingOpenGL (OpenGL 4.6) Functions Reference Introduction, 1495 RingOpenGL Extension What is new in Ring 1.5?, 46 RingQt Classes and their Qt Documentation Desktop and Mobile Development, 629 RingQt Classes Reference CodeEditor Class, 1659 Introduction, 1543 QAbstractButton Class, 1591 QAbstractItemView Class, 1577 QAbstractScrollArea Class, 1577 QAbstractSlider Class, 1584 QAbstractSocket Class, 1613 QAbstractSpinBox Class, 1587 QAction Class, 1595 QAllEvents Class, 1626 QApp Class, 1544 QAxBase Class, 1678 QAxObject Class, 1677 QBitmap Class, 1552 QBluetoothAddress Class, 1683 QBluetoothDeviceDiscoveryAgent Class, 1683 QBluetoothDeviceInfo Class, 1684 QBluetoothHostInfo Class, 1684 QBluetoothLocalDevice Class, 1685 QBluetoothServer Class, 1686 QBluetoothServiceDiscoveryAgent Class, 1686 QBluetoothServiceInfo Class, 1687 QBluetoothSocket Class, 1688 QBluetoothTransferManager Class, 1689 QBluetoothTransferReply Class, 1689 QBluetoothTransferRequest Class, 1689 QBluetoothUuid Class, 1690 QBoxLayout Class, 1668 QBrush Class, 1609 QBuffer Class, 1683 QButtonGroup Class, 1593 QByteArray Class, 1610 QCamera Class, 1662 QCameraImageCapture Class, 1663 QCameraViewfinder Class, 1662 QCheckBox Class, 1591 QColor Class, 1604 QColorDialog Class, 1622 QComboBox Class, 1567 QCompleter Class, 1672 QCompleter2 Class, 1673 QCompleter3 Class, 1673 QCursor Class, 1676 QDate Class, 1635 QDateEdit Class, 1586 QDateTimeEdit Class, 1586 QDesktopServices Class, 1544 QDesktopWidget Class, 1628 QDial Class, 1588 QDialog Class, 1620 QDir Class, 1562 QDirModel Class, 1618 QDockWidget Class, 1573 QEvent Class, 1597 QFileDialog Class, 1599 QFileInfo Class, 1617 QFileSystemModel Class, 1562 QFont Class, 1607 QFontDialog Class, 1619 QFontMetrics Class, 1666 QFrame Class, 1576 QFrame2 Class, 1576 QFrame3 Class, 1577 QGradient Class, 1669 QGraphicsVideoItem Class, 1662 QGridLayout Class, 1659 QHBoxLayout Class, 1555 QHeaderView Class, 1664 QHostAddress Class, 1616 QHostInfo Class, 1617 QIcon Class, 1553 QImage Class, 1645 QInputDialog Class, 1624 QIODevice Class, 1612 QJsonArray Class, 1654 QJsonDocument Class, 1655 QJsonObject Class, 1655 Index 1759
  • 16. Ring Documentation, Release 1.5 QJsonParseError Class, 1656 QJsonValue Class, 1656 QKeySequence Class, 1624 QLabel Class, 1551 QLayout Class, 1668 QLCDNumber Class, 1624 QLinearGradient Class, 1669 QLineEdit Class, 1553 QListView Class, 1677 QListWidget Class, 1558 QListWidgetItem Class, 1633 QMainWindow Class, 1571 QMdiArea Class, 1675 QMdiSubWindow Class, 1676 QMediaObject Class, 1664 QMediaPlayer Class, 1593 QMediaPlaylist Class, 1594 QMenu Class, 1569 QMenuBar Class, 1569 QMessageBox Class, 1597 QMutex Class, 1682 QMutexLocker Class, 1683 QNetworkAccessManager Class, 1642 QNetworkProxy Class, 1614 QNetworkReply Class, 1643 QNetworkRequest Class, 1642 QObject Class, 1544 QPainter Class, 1600 QPainter2 Class, 1602 QPainterPath Class, 1644 QPen Class, 1603 QPicture Class, 1603 QPixmap Class, 1552 QPixmap2 Class, 1553 QPlainTextEdit Class, 1656 QPoint Class, 1670 QPointF Class, 1670 QPrinter Class, 1606 QProcess Class, 1673 QProgressBar Class, 1583 QPushButton Class, 1552 QRadioButton Class, 1592 QRect Class, 1628 QRegularExpression Class, 1652 QRegularExpressionMatch Class, 1653 QRegularExpressionMatchIterator Class, 1653 QScrollArea Class, 1671 QSerialPort Class, 1679 QSerialPortInfo Class, 1680 QSize Class, 1553 QSlider Class, 1585 QSpinBox Class, 1583 QSplashScreen Class, 1667 QSplitter Class, 1671 QSqlDatabase Class, 1636 QSqlDriver Class, 1637 QSqlDriverCreatorBase Class, 1640 QSqlError Class, 1638 QSqlField Class, 1640 QSqlIndex Class, 1639 QSqlQuery Class, 1637 QSqlRecord Class, 1639 QStatusBar Class, 1572 QString2 Class, 1673 QStringList Class, 1622 QStringRef Class, 1681 QSystemTrayIcon Class, 1634 QTableView Class, 1579 QTableWidget Class, 1580 QTableWidgetItem Class, 1575 QTabWidget Class, 1573 QTcpServer Class, 1615 QTcpSocket Class, 1615 QTest Class, 1544 QTextBlock Class, 1632 QTextCharFormat Class, 1660 QTextCodec Class, 1636 QTextCursor Class, 1620 QTextDocument Class, 1630 QTextEdit Class, 1556 QThread Class, 1651 QThreadPool Class, 1652 QTime Class, 1633 QTimer Class, 1598 QToolBar Class, 1570 QToolButton Class, 1678 QTreeView Class, 1560 QTreeWidget Class, 1563 QTreeWidgetItem Class, 1565 QUrl Class, 1590 QUuid Class, 1678 QVariant Class, 1640 QVBoxLayout Class, 1555 QVideoWidget Class, 1594 QVideoWidgetControl Class, 1662 QWebView Class, 1589 QWidget Class, 1545 QXmlStreamAttribute Class, 1651 QXmlStreamAttributes Class, 1650 QXmlStreamEntityDeclaration Class, 1650 QXmlStreamEntityResolver Class, 1650 QXmlStreamNamespaceDeclaration Class, 1650 QXmlStreamNotationDeclaration Class, 1649 QXmlStreamReader Class, 1647 QXmlStreamWriter Class, 1648 RingCodeHighlighter Class, 1646 RingREPL What is new in Ring 1.4?, 67 Index 1760
  • 17. Ring Documentation, Release 1.5 RingSQLite What is new in Ring 1.1?, 99 ringvm_callfunc() Low Level Functions, 710 RingVM_CallList() Low Level Functions, 706 RingVM_CFunctionsList() Low Level Functions, 702 RingVM_ClassesList() Low Level Functions, 702 ringvm_evalinscope() Low Level Functions, 709 RingVM_FilesList() Low Level Functions, 707 RingVM_FunctionsList() Low Level Functions, 702 ringvm_hideerrorMsg() Low Level Functions, 709 RingVM_MemoryList() Low Level Functions, 704 RingVM_PackagesList() Low Level Functions, 703 ringvm_passerror() Low Level Functions, 709 ringvm_scopescount() Low Level Functions, 709 ringvm_settrace() Low Level Functions, 708 ringvm_tracedata() Low Level Functions, 708 ringvm_traceevent() Low Level Functions, 708 ringvm_tracefunc() Low Level Functions, 709 RingZip Create Zip File, 405 Extract Zip File, 405 Introduction, 404 Print files in Zip file, 405 Using RingZip Classes, 405 Zip Class Reference, 407 ZipEntry Class Reference, 407 RingZip Library What is new in Ring 1.3?, 83 Rotate Text Desktop and Mobile Development, 592 Rules The Type Hints Library, 679 Run the program Getting Started - First Style, 110 Getting Started - Second Style, 112 Getting Started - Third Style, 114 Running Forms Form Designer, 643 Runtime Errors Reference, 1726 Samples How to contribute?, 108 Samples in this book Applications developed in little hours, 8 Samples Source (Authors) Using RingOpenGL and RingFreeGLUT for 3D Graphics, 481 Save and Restore Images ODBC Functions, 230 Save Image Inside the Database MySQL Functions, 238 Save output to string RingLibCurl, 402 Scaling and Rotating Images Graphics and Game Programming, 416 Scope Rules Accessing the class attributes from braces inside class methods, 655 Conflict between Class Attributes and Local Vari- ables, 652 Conflict between Global Variables and Class At- tributes, 651 Conflict between self inside braces and self in the class region, 658 Creating a Class for each Window in GUI applica- tions, 657 Defining Variables and Variables Access, 649 How Ring find the Variable?, 650 Introduction, 648 Summary of Scope Rules, 662 The Self Object, 650 Three Scopes, 649 Using Braces to access objects inside Class Methods, 653 Using braces to escape from the current object scope, 661 Using Object.Attribute, 650 Scope Rules for Functions and Methods Calling a function sharing the name with a method in the current class, 666 Example about Sharing Names between Functions and Methods, 664 How Ring find a functions and methods?, 664 Introduction, 663 ScriptFunctions Class Web Development (CGI Library), 398 Search Lists, 170 Search of global names while defining the class attributes Frequently Asked Questions, 1703 Security and Internet Functions Index 1761
  • 18. Ring Documentation, Release 1.5 Decrypt(), 247 Download(), 248 Encrypt(), 246 Example, 247 File Hash, 247 Introduction, 243 MD5(), 244 RandBytes(), 247 SendEmail(), 248 SHA1(), 245 SHA224(), 246 SHA256(), 245 SHA384(), 246 SHA512(), 245 Security Class Stdlib Classes, 322 Send Parameters Functions - First Style, 156 Functions - Second Style, 160 Functions - Third Style, 164 SendEmail() Security and Internet Functions, 248 Serial Execution of Programs Embedding Ring in Ring, 723 Set List Item Lists, 169 setattribute() Reflection and Meta-programming, 281 Setter and Getter Object Oriented Programming, 253 SHA1() Security and Internet Functions, 245 SHA224() Security and Internet Functions, 246 SHA256() Security and Internet Functions, 245 SHA384() Security and Internet Functions, 246 SHA512() Security and Internet Functions, 245 Shared Libraries Extension, 733 Short-circuit evaluation Control Structures - First Style, 142 Shutdown() Function System Functions, 215 sign() Stdlib Functions, 290 Simple Language Design, 17 Simple Client and Server Example Desktop and Mobile Development, 596 Sin() Implementation Extension, 729 Single: Desktop and Mobile Development Introduction, 528 sleep() Stdlib Functions, 297 Smart Garbage Collector Language Design, 25 Sort() Lists, 170 Sort() and List of Objects Object Oriented Programming, 258 Sound Class Game Engine for 2D Games, 432 Source Code File Sections Program Structure, 167 space() Low Level Functions, 699 Special thanks to contributors How to contribute?, 108 split() Stdlib Functions, 287 splitmany() Stdlib Functions, 287 Sprite Automatic Movement Game Engine for 2D Games, 439 Sprite Class Game Engine for 2D Games, 431 Sprite Keypress Event Game Engine for 2D Games, 440 Sprite Mouse Event Game Engine for 2D Games, 441 Sprite State Event Game Engine for 2D Games, 442 SQLite Introduction, 240 sqlite_close(), 241 sqlite_execute(), 241 sqlite_init(), 241 sqlite_open(), 241 SQLite Class Stdlib Classes, 321 sqlite_close() SQLite, 241 sqlite_execute() SQLite, 241 sqlite_init() SQLite, 241 sqlite_open() SQLite, 241 Squares Puzzle Game Applications developed in little hours, 4 Stack Class Stdlib Classes, 306 Stars Fighter Game Game Engine for 2D Games, 451 Index 1762
  • 19. Ring Documentation, Release 1.5 startswith() Stdlib Functions, 291 StdBase Class Stdlib Classes, 301 Stdlib Classes Conversion Class, 318 DataType Class, 317 DateTime Class, 312 Debug Class, 316 File Class, 314 HashTable Class, 307 Internet Class, 323 Introduction, 300 List Class, 304 Math Class, 309 MySQL Class, 320 ODBC Class, 319 Queue Class, 306 Security Class, 322 SQLite Class, 321 Stack Class, 306 StdBase Class, 301 String Class, 302 System Class, 315 Tree Class, 308 Stdlib Functions apppath(), 285 binarydigits(), 294 capitalized(), 288 changestring(), 297 dayofweek(), 295 direxists(), 297 endswith(), 291 EpochTime(), 299 evenorodd(), 293 factorial(), 289 factors(), 293 fibonacci(), 290 file2list(), 291 filter(), 287 FSize(), 298 gcd(), 292 getnumber(), 285 getstring(), 285 Introduction, 283 isleapyear(), 294 ismainsourcefile(), 297 isprime(), 290 isspecial(), 288 isvowel(), 289 JustFileName(), 286 JustFilePath(), 285 lcm(), 292 linecount(), 289 list2file(), 290 ListAllFiles() Function, 299 makedir(), 298 map(), 287 matrixmulti(), 294 matrixtrans(), 295 newlist(), 288 palindrome(), 294 permutation(), 295 print(), 284 Print2Str() Function, 284 prodlist(), 293 puts(), 284 readline(), 296 sign(), 290 sleep(), 297 split(), 287 splitmany(), 287 startswith(), 291 substring(), 296 sumlist(), 292 SystemCmd() Function, 299 times(), 286 TrimAll(), 298 TrimLeft(), 298 TrimRight(), 299 value(), 286 StdLib functions and classes written in Ring What is new in Ring 1.1?, 96 Step Option Control Structures - First Style, 140 Str2Hex() Data Type, 193 str2list() and list2str() Strings, 180 strcmp() Strings, 180 String Class Stdlib Classes, 302 String Literals Strings, 176 String() Data Type, 191 Strings Access String Letters, 176 Convert Letters Case, 176 Copy(), 178 Find SubString, 179 Get Number of Characters from position, 179 Get String Length, 176 Get Substring from position to end, 179 Introduction, 175 Left(), 177 Lines(), 178 Index 1763
  • 20. Ring Documentation, Release 1.5 Right(), 177 str2list() and list2str(), 180 strcmp(), 180 String Literals, 176 Substr(), 178 Transform Substring To Another Substring, 179 Trim(), 178 StyleFunctions Class Web Development (CGI Library), 398 Substr() Strings, 178 substring() Stdlib Functions, 296 sumlist() Stdlib Functions, 292 Summary of Scope Rules Scope Rules, 662 Super Man 2016 Game Game Engine for 2D Games, 466 Swap Items Lists, 175 Switch Between Two Images RingLibSDL, 421 Switch Statement Control Structures - First Style, 138 Control Structures - Second Style, 145 Control Structures - Third Style, 148 Syntax Flexibility Change Language Keywords, 668 Change Language Operators, 669 Introduction, 667 Load Syntax Files, 669 Using ’case’ as ’on’ in switch statements, 675 Using ’def’ as ’func’ in functions/methods defini- tion, 675 Using ’end’ keyword after Pack- ages/Classes/Functions, 676 Using ’endpackage’/’endclass’/’endfunc’ keywords after Packages/Classes/Functions, 676 Using ’put’ and ’get’ as ’see’ and ’give’, 675 Using () around the function parameters, 669 in the start of the variable name, 672 Using braces { } in Packages/Classes/Functions, 676 Using braces to start and end different control struc- tures, 674 Using Semi-colon after and between statements, 671 Using the ’else’ keyword as ’other’ in switch state- ment, 672 Using the ’elseif’ keyword as ’but’ in if statement, 672 Using the ’end’ keyword in different control struc- tures, 673 What is new in Ring 1.1?, 93 SysGet() Function System Functions, 210 System Class Stdlib Classes, 315 System Functions ChDir() Function, 214 CurrentDir() Function, 214 Example, 211 ExeFileName() Function, 214 ExeFolder() Function, 214 Get Active Source File Name, 213 Get Command Line Arguments, 212 Introduction, 208 IsAndroid() Function, 211 IsFreeBSD() Function, 211 IsLinux() Function, 211 IsMacOSX() Function, 210 IsMSDOS() Function, 210 IsUnix() Function, 210 IsWindows() Function, 210 IsWindows64() Function, 210 PrevFileName() Function, 213 Shutdown() Function, 215 SysGet() Function, 210 System() Function, 209 Version() Function, 214 Windowsnl() Function, 212 System() Function System Functions, 209 SystemCmd() Function Stdlib Functions, 299 Tempfile() Files, 203 Templates Web Development (CGI Library), 362 Tempname() Files, 203 Testing How to contribute?, 108 Text Class Game Engine for 2D Games, 431 The Browser Menu Ring Notepad, 125 The Camera Using RingOpenGL and RingFreeGLUT for 3D Graphics, 491 The Cards Game Demo Programs, 618 Desktop and Mobile Development, 618 The Designer Windows Form Designer, 642 The Difference between Qt and RingQt Desktop and Mobile Development, 628 Index 1764
  • 21. Ring Documentation, Release 1.5 The documentation says functional programming is sup- ported, but then this happens? Frequently Asked Questions, 1695 The Edit Menu Ring Notepad, 123 The File Menu Ring Notepad, 123 The First GUI Application Desktop and Mobile Development, 529 The First Triangle Using RingOpenGL and RingFreeGLUT for 3D Graphics, 484 The First Window using RingFreeGLUT Using RingOpenGL and RingFreeGLUT for 3D Graphics, 482 The Help Menu Ring Notepad, 126 The Main File in the Project Ring Notepad, 122 The Natural Library What is new in Ring 1.4?, 65 The Program Menu Ring Notepad, 125 The Properties Form Designer, 642 The Self Object Scope Rules, 650 The Tools Menu Ring Notepad, 126 The Trace Library and the Interactive Debugger BreakPoint, 720 Disable BreakPoints, 720 Execute Program Line by Line, 719 Interactive Debugger, 719 Introduction, 717 Loading the Trace library, 718 Pass Error, 719 Trace All Events, 718 Trace control flow between functions, 718 Using the Interactive Debugger, 720 The Type Hints Library Example, 678 Introduction to the Type Hints Library, 677 Rules, 679 User Types, 678 Using Types inside Code, 679 Why Type Hints?, 678 The View Menu Ring Notepad, 124 Threads Graphics and Game Programming, 418 Threads Support Code Generator, 745 Three Scopes Scope Rules, 649 TicTacToe Game Applications developed in little hours, 4 Time() Date and Time, 182 TimeList() Date and Time, 183 times() Stdlib Functions, 286 Trace All Events The Trace Library and the Interactive Debugger, 718 Trace control flow between functions The Trace Library and the Interactive Debugger, 718 Trace Library and Interactive Debugger What is new in Ring 1.5?, 55 Transaction Example MySQL Functions, 239 Transactions and Using Commit and Rollback ODBC Functions, 229 Transform Substring To Another Substring Strings, 179 Transparent Image Graphics and Game Programming, 417 Transparent Implementation Language Design, 23 Tree Class Stdlib Classes, 308 Triangle Rotation Using RingOpenGL and RingFreeGLUT for 3D Graphics, 487 Trim() Strings, 178 TrimAll() Stdlib Functions, 298 TrimLeft() Stdlib Functions, 298 TrimRight() Stdlib Functions, 299 TrueType Fonts Graphics and Game Programming, 414 Try/Carch/Done Eval() and Debugging, 216 Trying to be natural Language Design, 18 Type Hints Library What is new in Ring 1.5?, 58 Type() Data Type, 187 Ungetc() Files, 205 Unsigned() Mathematical Functions, 197 Update the Android SDK Index 1765
  • 22. Ring Documentation, Release 1.5 Building RingQt Applications for Mobile, 633 Upload Files Web Development (CGI Library), 356 URL Encode Web Development (CGI Library), 361 Use TTF Fonts RingLibSDL, 423 User Types The Type Hints Library, 678 Users registration and Login Web Development (CGI Library), 383 Using ’<’ and ’:’ operators as ’from’ keyword What is new in Ring 1.3?, 82 Using ’case’ as ’on’ in switch statements Syntax Flexibility, 675 Using ’def’ as ’func’ in functions/methods definition Syntax Flexibility, 675 Using ’end’ keyword after Packages/Classes/Functions Syntax Flexibility, 676 Using ’endpackage’/’endclass’/’endfunc’ keywords after Packages/Classes/Functions Syntax Flexibility, 676 Using ’put’ and ’get’ as ’see’ and ’give’ Syntax Flexibility, 675 Using () around the function parameters Syntax Flexibility, 669 in the start of the variable name Syntax Flexibility, 672 Using Atom Using Other Code Editors, 129 Using Bootstrap Library using Functions Web Development (CGI Library), 377 Using Bootstrap Library using Objects Web Development (CGI Library), 378 Using braces { } in Packages/Classes/Functions Syntax Flexibility, 676 Using Braces to access objects inside Class Methods Scope Rules, 653 Using braces to escape from the current object scope Scope Rules, 661 Using braces to start and end different control structures Syntax Flexibility, 674 Using C/C++ Compiler and Linker Distributing Ring Application, 682 Using configuration file that wrap C++ library Code Generator, 747 Using Emacs Editor Using Other Code Editors, 131 Using Eval() with our Natural Code Natural Language Programming, 334 Using Fonts Using RingOpenGL and RingFreeGLUT for 3D Graphics, 508 Using Geany Using Other Code Editors, 128 Using Layout Desktop and Mobile Development, 530 Using Layouts Form Designer, 648 Using Lists during definition Lists, 173 Using Many Source Code Files Program Structure, 167 Using Notepad++ Using Other Code Editors, 127 Using NULL instead of NULLPointer() What is new in Ring 1.2?, 90 Using Object.Attribute Scope Rules, 650 Using Other Code Editors Introduction, 126 Using Atom, 129 Using Emacs Editor, 131 Using Geany, 128 Using Notepad++, 127 Using Sublime Text 2, 130 Using Visual Studio IDE, 131 Using QCheckBox Desktop and Mobile Development, 556 Using QComboBox Class Desktop and Mobile Development, 538 Using QDateEdit Desktop and Mobile Development, 551 Using QDesktopWidget Class Desktop and Mobile Development, 591 Using QDial Desktop and Mobile Development, 552 Using QDockWidget Desktop and Mobile Development, 544 Using QFrame Desktop and Mobile Development, 561 Using QInputDialog Class Desktop and Mobile Development, 582 Using qLCDNumber Desktop and Mobile Development, 579 Using QProgressBar Desktop and Mobile Development, 548 Using QProgressBar and Timer Desktop and Mobile Development, 571 Using QRadioButton and QButtonGroup Desktop and Mobile Development, 557 Using QSlider Desktop and Mobile Development, 549 Using QSpinBox Desktop and Mobile Development, 549 Using QTableWidget Desktop and Mobile Development, 547 Using QTabWidget Index 1766
  • 23. Ring Documentation, Release 1.5 Desktop and Mobile Development, 545 Using QTreeView and QFileSystemModel Desktop and Mobile Development, 536 Using QTreeWidget and QTreeWidgetItem Desktop and Mobile Development, 537 Using QWebView Desktop and Mobile Development, 555 Using RingOpenGL and RingFreeGLUT for 3D Graphics Drawing using RingOpenGL, 483 Frames Per Second, 516 Introduction, 480 Keyboard Events and Colors, 488 Make a Cube using RingOpenGL and RingFreeG- LUT, 525 Menu Events, 501 Mouse Events, 497 Samples Source (Authors), 481 The Camera, 491 The First Triangle, 484 The First Window using RingFreeGLUT, 482 Triangle Rotation, 487 Using Fonts, 508 What is RingFreeGLUT?, 482 What is RingOpenGL?, 481 Window Resize Event, 485 Using RingZip Classes RingZip, 405 Using Self.Attribute Object Oriented Programming, 260 Using Self.Attribute in the Class Region to define new at- tributes What is new in Ring 1.1?, 100 Using Semi-colon after and between statements Syntax Flexibility, 671 Using Sublime Text 2 Using Other Code Editors, 130 Using the ’else’ keyword as ’other’ in switch statement Syntax Flexibility, 672 Using the ’elseif’ keyword as ’but’ in if statement Syntax Flexibility, 672 Using the ’end’ keyword in different control structures Syntax Flexibility, 673 Using the Interactive Debugger The Trace Library and the Interactive Debugger, 720 Using the Natural Library Defining Commands, 342 Defining commands using classes, 345 Introduction, 339 Natural Library - Demo Program, 340 Operators, 344 Using the QColorDialog Class Desktop and Mobile Development, 578 Using the QFileDialog Class Desktop and Mobile Development, 573 Using the QListWidget Class Desktop and Mobile Development, 533 Using the QTextEdit Class Desktop and Mobile Development, 532 Using the QTimer Class Desktop and Mobile Development, 570 Using the tool Code Generator, 738 Using This.Attribute in nested Braces inside the Class Methods What is new in Ring 1.1?, 100 Using Types inside Code The Type Hints Library, 679 Using Visual Studio IDE Using Other Code Editors, 131 value() Stdlib Functions, 286 Variables Deep Copy, 133 Dynamic Typing, 133 Introduction, 132 Weakly Typed, 134 Variables Scope Functions - First Style, 157 Functions - Second Style, 161 Functions - Third Style, 165 varptr() Low Level Functions, 699 Version() Function System Functions, 214 Video-Music-Player Application What is new in Ring 1.5?, 26 Virtual Machine Instructions Reference, 1729 Visual Implementation Language Design, 24 Weakly Typed Variables, 134 Web Development (CGI Library) Application Class, 395 Configure the Apache web server, 347 Cookies, 359 CRUD Example using MVC, 381 Database, ModelBase & ControllerBase classes, 389 Generating Pages using Objects, 371 Gradient, 370 Hash Functions, 365 Hello World Program using the Web Library, 348 HTML Lists, 368 HTML Special Characters, 364 HTML Tables, 369 HtmlPage Class, 376, 400 Index 1767
  • 24. Ring Documentation, Release 1.5 HTTP Get Example, 349 HTTP POST Example, 354 Introduction, 346 Page Class, 396 Random Image, 367 Ring CGI Hello World Program, 348 ScriptFunctions Class, 398 StyleFunctions Class, 398 Templates, 362 Upload Files, 356 URL Encode, 361 Users registration and Login, 383 Using Bootstrap Library using Functions, 377 Using Bootstrap Library using Objects, 378 Web Library Features, 349 WebLib API, 394 WebPage Class, 399 Web Library Features Web Development (CGI Library), 349 WebLib API Web Development (CGI Library), 394 WebPage Class Web Development (CGI Library), 399 Weight History Application Desktop and Mobile Development, 599 Werdy Application Applications developed in little hours, 6 What about predefined parameters or optional parameters in functions? Frequently Asked Questions, 1705 What about the Boolean values in Ring? Frequently Asked Questions, 1697 What are the advantages to using Ring over C# or Java? Frequently Asked Questions, 1695 What are the advantages to using Ring over Lisp or Smalltalk? Frequently Asked Questions, 1692 What are the advantages to using Ring over native C or C++? Frequently Asked Questions, 1693 What are the advantages to using Ring over Python and Ruby? Frequently Asked Questions, 1694 What are the advantages to using Ring over Tcl and Lua? Frequently Asked Questions, 1694 What happens when we create a new object? Frequently Asked Questions, 1701 What is new in Ring 1.1? Better Code Generator for Extensions, 100 Better Documentation, 100 Better Natural Language Programming Support, 92 Game Engine for 2D Games, 98 Generate/Execute Ring Object Files (*.ringo), 93 Introduction, 91 List of changes and new features, 92 New Functions and Changes, 95 RingLibSDL, 98 RingSQLite, 99 StdLib functions and classes written in Ring, 96 Syntax Flexibility, 93 Using Self.Attribute in the Class Region to define new attributes, 100 Using This.Attribute in nested Braces inside the Class Methods, 100 What is new in Ring 1.2? Better Call Command, 90 Better Functions, 87 Better Quality, 90 Better Ring Notepad, 87 Better RingQt, 87 Display Warnings Option, 90 Introduction, 85 List of changes and new features, 86 New Functions, 86 Objects Library for RingQt, 88 RingLibCurl, 89 Using NULL instead of NULLPointer(), 90 What is new in Ring 1.3? Better Loop|Exit Command, 81 Better Ring Notepad, 77 Better RingQt, 73 Better StdLib, 81 Embedding Ring in Ring without sharing the State, 83 Form Designer, 84 Introduction, 72 List of changes and new features, 73 New Functions, 82 Return Self by Reference, 82 Ring mode for Emacs Editor, 80 RingZip Library, 83 Using ’<’ and ’:’ operators as ’from’ keyword, 82 What is new in Ring 1.4.1? Better RingQt, 62 Better Scripts for Building from Source Code, 60 Better StdLib, 61 Introduction, 59 List of changes and new features, 60 New Sample : Sixteen Puzzle, 62 New Style to Ring Notepad, 61 What is new in Ring 1.4? Better RingQt, 71 Better StdLib, 69 Better WebLib, 69 Change: Basic Extensions are separated from RingVM, 64 Convert between Numbers and Bytes, 68 Introduction, 63 Index 1768
  • 25. Ring Documentation, Release 1.5 List of changes and new features, 64 New Style to Ring Notepad, 67 Qt Class Convertor, 71 RingREPL, 67 The Natural Library, 65 What is new in Ring 1.5? Better Code Generator for Extensions, 50 Better Documentation Generator for Extensions, 51 Better Objects Library, 37 Better Quality, 59 Better Ring Notepad, 28 Better RingQt, 35 Better StdLib, 31 Better WebLib, 32 Calculator Application, 27 Introduction, 25 List of changes and new features, 26 More Syntax Flexibility, 57 Ring VM - Tracing Functions, 51 RingFreeGLUT Extension, 37 RingOpenGL Extension, 46 Trace Library and Interactive Debugger, 55 Type Hints Library, 58 Video-Music-Player Application, 26 Windows StartUp Manager Application, 27 What is RingFreeGLUT? Using RingOpenGL and RingFreeGLUT for 3D Graphics, 482 What is RingOpenGL? Using RingOpenGL and RingFreeGLUT for 3D Graphics, 481 What is the difference between Ring and Python? And is Ring Open Source? Frequently Asked Questions, 1693 Where can I write a program and execute it? Frequently Asked Questions, 1704 While Loop Control Structures - First Style, 139 Control Structures - Third Style, 149 Why do we need Yet Another Programming Language (YAPL)? Frequently Asked Questions, 1691 Why I get a strange result when printing nl with lists? Frequently Asked Questions, 1706 Why I get Calling Function without definition Error? Frequently Asked Questions, 1717 Why Ring is largely focussed on UI creation? Frequently Asked Questions, 1693 Why Ring is not case-sensitive Frequently Asked Questions, 1699 Why Ring is weakly typed? Frequently Asked Questions, 1692 Why Ring uses ’See’, ’Give’, ’But’ and ’Ok’ Keywords? Frequently Asked Questions, 1696 Why Ring? Language Design, 17 Why setClickEvent() doesn’t see the object methods di- rectly? Frequently Asked Questions, 1717 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, 1695 Why the Assignment operator uses Deep copy? Frequently Asked Questions, 1700 Why the window title bar is going outside the screen? Frequently Asked Questions, 1711 Why this example use the GetChar() twice? Frequently Asked Questions, 1708 Why Type Hints? The Type Hints Library, 678 Why we don’t use () after the qApp class name? Frequently Asked Questions, 1711 Why you can specify the number of loops you want to break out of? Frequently Asked Questions, 1696 Window Flags Form Designer, 647 Window Resize Event Using RingOpenGL and RingFreeGLUT for 3D Graphics, 485 Windows StartUp Manager Application What is new in Ring 1.5?, 27 Windowsnl() Function System Functions, 212 Wrap structures Code Generator, 740 Wrapping C++ Classes Code Generator, 746 Write file using Write() Files, 200 Writing Comments Getting Started - First Style, 111 Getting Started - Second Style, 113 Getting Started - Third Style, 115 Zip Class Reference RingZip, 407 ZipEntry Class Reference RingZip, 407 Index 1769