SlideShare a Scribd company logo
1 of 30
Download to read offline
INDEX
Access List Items by String Index
Lists, 122
Access Objects Using Braces
Object Oriented Programming, 197
Access String Letters
Strings, 124
Accessing the class attributes from braces inside class
methods
Scope Rules, 545
Add Items
Lists, 116
addattribute()
Reflection and Meta-programming, 224
AddDays()
Date and Time, 132
Adding code to the generated code
Code Generator, 611
Adding Hyperlink to QLabel
Desktop and Mobile Development, 452
addmethod()
Reflection and Meta-programming, 224
Analog Clock
Applications developed in little hours, 4
Animate Class
Game Engine for 2D Games, 373
Animate Events
Game Engine for 2D Games, 384
Animation
Game Engine for 2D Games, 378
Animation and Functions
Game Engine for 2D Games, 379
Anonymous and Nested Functions
Functional Programming, 210
Application Class
Web Development (CGI Library), 338
Applications
How to contribute?, 69
Applications developed in little hours
Analog Clock, 4
FetchStockData Application, 2
Fifteen Puzzle Game, 3
Fifteen Puzzle Game 2, 6
Introduction, 1
Quotes about Ring, 1
Samples in this book, 7
Squares Puzzle Game, 4
TicTacToe Game, 3
Werdy Application, 5
apppath()
Stdlib Functions, 231
Arithmetic Operators
Operators, 91
Ascii()
Data Type, 139
Assert()
Eval() and Debugging, 164
Assignment Operators
Operators, 92
attributes()
Reflection and Meta-programming, 221
Better Call Command
What is new in Ring 1.2?, 51
Better Code Generator for Extensions
What is new in Ring 1.1?, 61
Better Documentation
What is new in Ring 1.1?, 61
Better Functions
What is new in Ring 1.2?, 48
Better Loop|Exit Command
What is new in Ring 1.3?, 42
Better Natural Language Programming Support
What is new in Ring 1.1?, 53
Better Quality
What is new in Ring 1.2?, 51
Better Ring Notepad
What is new in Ring 1.2?, 48
What is new in Ring 1.3?, 38
Better RingQt
What is new in Ring 1.2?, 48
What is new in Ring 1.3?, 34
What is new in Ring 1.4?, 32
Better StdLib
What is new in Ring 1.3?, 42
What is new in Ring 1.4?, 30
848
Ring Documentation, Release 1.4
Better WebLib
What is new in Ring 1.4?, 30
binarydigits()
Stdlib Functions, 240
Bitwise Operators
Operators, 91
BraceError() Method
Natural Language Programming, 281
BraceExprEval Method
Natural Language Programming, 280
BraceStart and BraceEnd Methods
Natural Language Programming, 279
Branching
Control Structures, 94
Control Structures - Second Style, 101
Control Structures - Third Style, 104
Building From Source Code
Building using CMake, 67
Building using MacOS X, 65
Building using Microsoft Windows, 63
Building using Ubuntu Linux, 64
Introduction, 62
Building Games For Android
Building the project, 420
Download Requirements and Update the Android
SDK, 419
Introduction, 418
Project Folder, 419
Building RingQt Applications for Mobile
Comments about developing for Android using
RingQt, 524
Download Requirements, 523
Install Qt for Android, 523
Introduction, 522
Update the Android SDK, 523
Building the project
Building Games For Android, 420
Building using CMake
Building From Source Code, 67
Building using MacOS X
Building From Source Code, 65
Building using Microsoft Windows
Building From Source Code, 63
Building using Ubuntu Linux
Building From Source Code, 64
Call Functions
Functions, 111
callgc()
Low Level Functions, 584
Calling a function sharing the name with a method in the
current class
Scope Rules for Functions and Methods, 556
Can I connect to dbase/harbour database?
Frequently Asked Questions, 827
Can Ring work on Windows XP?
Frequently Asked Questions, 829
capitalized()
Stdlib Functions, 234
cfunctions()
Reflection and Meta-programming, 214
CGI Support
Command Line Options, 582
Change Focus
Desktop and Mobile Development, 487
Change Language Keywords
Syntax Flexibility, 558
Change Language Operators
Syntax Flexibility, 559
Change the ’=’ operator to ’is’
Natural Language Programming, 277
Change the Ring Keyword ’And’
Natural Language Programming, 275
Change the Ring Operator ’+’
Natural Language Programming, 276
Change: Basic Extensions are separated from RingVM
What is new in Ring 1.4?, 25
changestring()
Stdlib Functions, 242
Char()
Data Type, 139
ChDir() Function
System Functions, 161
Check Character
Data Type, 134
Check Data Type
Data Type, 133
Check Parameters Count
Extension, 598
Check Parameters Type
Extension, 599
Classes and Objects
Object Oriented Programming, 195
Classes and their Methods to use the default events
Desktop and Mobile Development, 517
classes()
Reflection and Meta-programming, 218
classname()
Reflection and Meta-programming, 220
Clean Natural Code
Natural Language Programming, 282
Clearerr()
Files, 151
clock()
Date and Time, 130
Close Window Event
RingLibSDL, 365
ClosPerSecond()
Index 849
Ring Documentation, Release 1.4
Date and Time, 130
Code Generator
Adding code to the generated code, 611
Comments in configuration file, 613
Configuration file, 609
Configuration file for the Allegro library, 614
Configuration Files Examples, 627
Defining Constants, 612
Determine Structure Members Types, 612
Enum and Numbers, 613
Executing code during code generation, 613
Filtering using Expressions, 613
function prototype, 609
Introduction, 608
Prefix for Functions Names, 611
Qt configuration file, 617
Register New Functions, 612
Threads Support, 615
Using configuration file that wrap C++ library, 617
Using the tool, 609
Wrap structures, 611
Wrapping C++ Classes, 616
CodeEditor Class
RingQt Classes Reference, 781
Command Line Options
CGI Support, 582
Generate Object File, 583
Introduction, 568
No Run, 582
Performance, 582
Printing Final Intermediate Code, 577
Printing Instruction Operation Code, 582
Printing Intermediate Code, 575
Printing Rules, 571
Printing Tokens, 569
Comments about developing for Android using RingQt
Building RingQt Applications for Mobile, 524
Comments about evaluation
Control Structures - First Style, 99
Comments in configuration file
Code Generator, 613
Compact Syntax
Language Design, 20
Compiler and Virtual Machine (VM)
How to contribute?, 69
Compiler Errors
Reference, 836
Composition
Object Oriented Programming, 198
Configuration file
Code Generator, 609
Configuration file for the Allegro library
Code Generator, 614
Configuration Files Examples
Code Generator, 627
Configure the Apache web server
Web Development (CGI Library), 291
Conflict between Class Attributes and Local Variables
Scope Rules, 542
Conflict between Global Variables and Class Attributes
Frequently Asked Questions, 815
Scope Rules, 541
Conflict between self inside braces and self in the class
region
Scope Rules, 548
Constructor methods in Ring
Frequently Asked Questions, 811
Contact the Autor
Resources, 847
Control Structures
Branching, 94
Looping, 105
Control Structures - First Style
Comments about evaluation, 99
Do Again Loop, 97
Exit, 97
Exit from two loops, 97
Exit/Loop inside sub functions, 98
For In Loop, 96
for in to modify lists, 96
For Loop, 95
Introduction, 93
Loop Command, 98
Looping, 95
Short-circuit evaluation, 98
Step Option, 96
Switch Statement, 94
While Loop, 95
Control Structures - Second Style
Branching, 101
Exceptions, 103
For In Loop, 103
For Loop, 102
If Statement, 101
Introduction, 100
Looping, 102
Switch Statement, 101
Control Structures - Third Style
Branching, 104
Exceptions, 107
For In Loop, 107
For Loop, 106
If Statement, 104
Introduction, 103
Switch Statement, 104
While Loop, 105
Conversion
Data Type, 138
Index 850
Ring Documentation, Release 1.4
Conversion Class
Stdlib Classes, 262
Convert between Numbers and Bytes
What is new in Ring 1.4?, 29
Convert Letters Case
Strings, 124
Cookies
Web Development (CGI Library), 303
Copy Lists
Lists, 120
Copy()
Strings, 126
Could you explain the output of the StrCmp() function?
Frequently Asked Questions, 818
Create Database
MySQL Functions, 179
Create Lists
Lists, 116
Create Table and Insert Data
MySQL Functions, 180
Create Window
RingLibSDL, 362
Create Zip File
RingZip, 346
Creating a Class for each Window in GUI applications
Scope Rules, 547
Creating Menubar
Desktop and Mobile Development, 432
Creating more than one window
Desktop and Mobile Development, 470
Creating StatusBar
Desktop and Mobile Development, 436
Creating the Game Window
Game Engine for 2D Games, 373
Creating Toolbar
Desktop and Mobile Development, 435
Creating Windows Installer
Distributing Ring Application, 567
CRUD Example using MVC
Web Development (CGI Library), 324
CurrentDir() Function
System Functions, 160
Data Type
Ascii(), 139
Char(), 139
Check Character, 134
Check Data Type, 133
Conversion, 138
Dec(), 139
Hex(), 139
Hex2str(), 140
Introduction, 132
IsAlNum(), 135
IsAlpha(), 135
IsCntrl(), 135
IsDigit(), 136
IsGraph(), 136
IsList(), 134
IsLower(), 136
IsNULL(), 134
IsNumber(), 133
IsPrint(), 136
IsPunct(), 137
IsSpace(), 137
IsString(), 133
IsUpper(), 137
IsXdigit(), 137
Number(), 138
Str2Hex(), 140
String(), 138
Type(), 134
Database, ModelBase & ControllerBase classes
Web Development (CGI Library), 332
DataType Class
Stdlib Classes, 261
Date and Time
AddDays(), 132
clock(), 130
ClosPerSecond(), 130
Date(), 130
DiffDays(), 132
Introduction, 129
Time(), 130
TimeList(), 131
Date()
Date and Time, 130
DateTime Class
Stdlib Classes, 256
dayofweek()
Stdlib Functions, 241
Debug Class
Stdlib Classes, 260
Dec()
Data Type, 139
Decimals()
Mathematical Functions, 144
Declarative Programming
Declarative programming on the top of Object-
Oriented, 271
executing code after the end of object access, 271
Introduction, 267
More Beatiful Code, 272
Objects inside lists, 268
Return object by reference, 269
Declarative programming on the top of Object-Oriented
Declarative Programming, 271
Declare parameters
Index 851
Ring Documentation, Release 1.4
Functions, 112
Decrypt()
Security and Internet Functions, 193
Deep Copy
Variables, 89
Define Declarative Languages
Language Design, 23
Define Functions
Functions, 111
Define Natural Statements
Language Design, 21
Defining Commands
Using the Natural Library, 286
Defining commands using classes
Using the Natural Library, 289
Defining Constants
Code Generator, 612
Defining Variables and Variables Access
Scope Rules, 539
Delete Item From List
Lists, 117
Demo Programs
Introduction, 164
Language Shell, 165
Main Menu, 165
The Cards Game, 511
Designed for a clear goal
Language Design, 16
Desktop and Mobile Development
Adding Hyperlink to QLabel, 452
Change Focus, 487
Classes and their Methods to use the default events,
517
Creating Menubar, 432
Creating more than one window, 470
Creating StatusBar, 436
Creating Toolbar, 435
Dialog Functions, 477
Display Image using QLabel, 456
Display Scaled Image using QLabel, 465
Drawing using QPainter, 467
Dynamic Objects, 491
Inheritance from GUI Classes, 483
KeyPress and Mouse Move Events, 477
Menubar and StyleSheet Example, 457
Methods to use Events with Events Filter, 520
Movable Label Example, 473
Moving Objects using the Mouse, 479
New Classes names - Index Start from 1, 522
Notepad Application, 496
Other Widgets Events, 461
Playing Sound, 471
Printing using QPrinter, 469
QLineEdit Events and QMessageBox, 459
QMessagebox Example, 474
QVideoWidget and QMediaPlayer, 453
Regular Expressions, 488
RingQt Classes and their Qt Documentation, 522
Rotate Text, 485
Simple Client and Server Example, 489
The Cards Game, 511
The Difference between Qt and RingQt, 521
The First GUI Application, 422
Using Layout, 423
Using QCheckBox, 449
Using QComboBox Class, 431
Using QDateEdit, 444
Using QDesktopWidget Class, 484
Using QDial, 445
Using QDockWidget, 437
Using QFrame, 454
Using QInputDialog Class, 475
Using qLCDNumber, 472
Using QProgressBar, 441
Using QProgressBar and Timer, 464
Using QRadioButton and QButtonGroup, 450
Using QSlider, 442
Using QSpinBox, 442
Using QTableWidget, 440
Using QTabWidget, 438
Using QTreeView and QFileSystemModel, 429
Using QTreeWidget and QTreeWidgetItem, 430
Using QWebView, 448
Using the QColorDialog Class, 471
Using the QFileDialog Class, 466
Using the QListWidget Class, 426
Using the QTextEdit Class, 425
Using the QTimer Class, 463
Weight History Application, 492
Determine Structure Members Types
Code Generator, 612
Dialog Functions
Desktop and Mobile Development, 477
DiffDays()
Date and Time, 132
Dir()
Files, 147
direxists()
Stdlib Functions, 243
Display Error Message
Extension, 599
Display Image
RingLibSDL, 362
Display Image using QLabel
Desktop and Mobile Development, 456
Display PNG Images
RingLibSDL, 363
Display Scaled Image using QLabel
Index 852
Ring Documentation, Release 1.4
Desktop and Mobile Development, 465
Display Transparent Images
RingLibSDL, 364
Display Warnings Option
What is new in Ring 1.2?, 51
Distributing Applications and Games for Mobile
Distributing Ring Application, 568
Distributing Applications for Microsoft Windows
Distributing Ring Application, 567
Distributing Ring Application
Creating Windows Installer, 567
Distributing Applications and Games for Mobile,
568
Distributing Applications for Microsoft Windows,
567
Introduction, 566
Protecting the Source Code, 567
Using C/C++ Compiler and Linker, 568
Do Again Loop
Control Structures - First Style, 97
Documentation
How to contribute?, 68
Download Requirements
Building RingQt Applications for Mobile, 523
Download Requirements and Update the Android SDK
Building Games For Android, 419
Download()
Security and Internet Functions, 194
Draw Rectangle
RingLibSDL, 363
Drawing Text
Game Engine for 2D Games, 374
Drawing using QPainter
Desktop and Mobile Development, 467
Drawing, Animation and Input
Graphics and Game Programming, 349
Dynamic Attributes
Object Oriented Programming, 202
Dynamic Objects
Desktop and Mobile Development, 491
Dynamic Typing
Variables, 89
Editors Support
How to contribute?, 69
Embedding Ring in Ring
Embedding Ring in Ring without sharing the State,
594
Introduction, 593
Serial Execution of Programs, 594
Embedding Ring in Ring without sharing the State
Embedding Ring in Ring, 594
What is new in Ring 1.3?, 44
Embedding Ring Language in C/C++ Programs
Introduction, 605
Ring State, 606
Ring State Functions, 606
Ring State Variables, 607
Encourage Organization
Language Design, 18
Encrypt()
Security and Internet Functions, 192
endswith()
Stdlib Functions, 237
Entering Items
Form Designer, 537
Enum and Numbers
Code Generator, 613
Equality of functions
Functional Programming, 211
Eval()
Eval() and Debugging, 162
Eval() and Debugging
Assert(), 164
Eval(), 162
Introduction, 161
Raise(), 163
Try/Carch/Done, 162
evenorodd()
Stdlib Functions, 238
Events Code
Form Designer, 533
Example
Files, 153
Mathematical Functions, 141
Natural Language Programming, 274
Objects Library for RingQt Application, 526
Security and Internet Functions, 193
System Functions, 158
Example about Sharing Names between Functions and
Methods
Scope Rules for Functions and Methods, 554
Exceptions
Control Structures - Second Style, 103
Control Structures - Third Style, 107
Execute Query and Print Result
ODBC Functions, 173
executing code after the end of object access
Declarative Programming, 271
Executing code during code generation
Code Generator, 613
ExeFileName() Function
System Functions, 161
ExeFolder() Function
System Functions, 161
Exit
Control Structures - First Style, 97
Exit from two loops
Index 853
Ring Documentation, Release 1.4
Control Structures - First Style, 97
Exit/Loop inside sub functions
Control Structures - First Style, 98
Extension
Check Parameters Count, 598
Check Parameters Type, 599
Display Error Message, 599
Fopen() and Fclose() Implementation, 600
Function Prototype, 600
Function Structure, 598
Get Parameters Values, 599
Introduction, 595
Module Organization, 597
MySQL_Columns() Implementation, 603
Return Value, 599
RING API - list Functions, 601
RING API - String Functions, 603
ring_ext.c, 596
ring_ext.h, 596
Shared Libraries, 604
Sin() Implementation, 600
Extensions in C/C++
How to contribute?, 69
Extract Zip File
RingZip, 346
Facebook Login
RingLibCurl, 343
factorial()
Stdlib Functions, 235
factors()
Stdlib Functions, 239
Fclose()
Files, 148
Features
Introduction, 12
Feof()
Files, 151
Ferror()
Files, 151
FetchStockData Application
Applications developed in little hours, 2
Fexists()
Files, 153
Fflush()
Files, 149
Fgetc()
Files, 152
Fgetpos()
Files, 151
Fgets()
Files, 152
fibonacci()
Stdlib Functions, 235
Fifteen Puzzle Game
Applications developed in little hours, 3
Fifteen Puzzle Game 2
Applications developed in little hours, 6
File Class
Stdlib Classes, 258
File Hash
Security and Internet Functions, 193
file2list()
Stdlib Functions, 236
Files
Clearerr(), 151
Dir(), 147
Example, 153
Fclose(), 148
Feof(), 151
Ferror(), 151
Fexists(), 153
Fflush(), 149
Fgetc(), 152
Fgetpos(), 151
Fgets(), 152
Fopen(), 148
Fputc(), 152
Fputs(), 152
Fread(), 153
Freopen(), 149
Fseek(), 150
Fsetpos(), 151
Ftell(), 150
Fwrite(), 153
Introduction, 145
Numbers and Bytes, 155
Perror(), 151
Read File using Read(), 147
Remove(), 148
Rename(), 148
Rewind(), 150
Tempfile(), 150
Tempname(), 150
Ungetc(), 152
Write file using Write(), 147
filter()
Stdlib Functions, 232
Filtering using Expressions
Code Generator, 613
Find SubString
Strings, 127
Find() and List of Objects
Object Oriented Programming, 203
First-Class Functions
Functional Programming, 209
First-Class Lists
Lists, 121
Index 854
Ring Documentation, Release 1.4
Flappy Bird 3000 Game
Game Engine for 2D Games, 400
Fopen()
Files, 148
Fopen() and Fclose() Implementation
Extension, 600
For In Loop
Control Structures - First Style, 96
Control Structures - Second Style, 103
Control Structures - Third Style, 107
for in to modify lists
Control Structures - First Style, 96
For Loop
Control Structures - First Style, 95
Control Structures - Second Style, 102
Control Structures - Third Style, 106
Form Designer
Entering Items, 537
Events Code, 533
Introduction, 530
Keyboard Shortcuts, 536
Menubar Designer, 536
More Samples and Tests, 538
Running Forms, 533
The Designer Windows, 532
The Properties, 532
Using Layouts, 538
What is new in Ring 1.3?, 45
Window Flags, 537
Fputc()
Files, 152
Fputs()
Files, 152
Fread()
Files, 153
Freopen()
Files, 149
Frequently Asked Questions
Can I connect to dbase/harbour database?, 827
Can Ring work on Windows XP?, 829
Conflict between Global Variables and Class At-
tributes, 815
Constructor methods in Ring, 811
Could you explain the output of the StrCmp() func-
tion?, 818
Getter and Setter Methods, 813
Goal of including the Main function in Ring, 810
How can I disable maximize button and resize win-
dow?, 825
How to add Combobox and other elements to the
cells of a QTableWidget?, 832
How to Close a window then displaying another
one?, 824
How to create a Modal Window?, 824
How to create an array of buttons in GUI applica-
tions?, 823
How to extend RingQt and add more classes?, 829
How to get the current source file path?, 816
How to get the file size using ftell() and fseek() func-
tions?, 816
How to insert an item to the first position in the list?,
821
How to perform some manipulations on selected
cells in QTableWidget?, 832
How to print keys or values only in List/Dictionary?,
817
How to print lists that contains objects?, 821
How to print new lines and other characters?, 822
How to use many source code files in the project?,
818
How to use NULL and ISNULL() function?, 820
How to use SQLite using ODBC?, 826
Introduction, 802
Is Ring some sort of improvement over PHP?, 805
List index start from 1, 811
Philosophy behind data types in Ring, 808
Search of global names while defining the class at-
tributes, 814
The documentation says functional programming is
supported, but then this happens?, 807
What about predefined parameters or optional pa-
rameters in functions?, 816
What about the Boolean values in Ring?, 809
What are the advantages to using Ring over C# or
Java?, 807
What are the advantages to using Ring over Lisp or
Smalltalk?, 804
What are the advantages to using Ring over native C
or C++?, 805
What are the advantages to using Ring over Python
and Ruby?, 806
What are the advantages to using Ring over Tcl and
Lua?, 807
What happens when we create a new object?, 812
What is the difference between Ring and Python?
And is Ring Open Source?, 805
Where can I write a program and execute it?, 815
Why do we need Yet Another Programming Lan-
guage (YAPL)?, 803
Why I get a strange result when printing nl with
lists?, 817
Why I get Calling Function without definition Er-
ror?, 828
Why Ring is largely focussed on UI creation?, 805
Why Ring is weakly typed?, 804
Why Ring uses ’See’, ’Give’, ’But’ and ’Ok’ Key-
words?, 808
Why setClickEvent() doesn’t see the object methods
Index 855
Ring Documentation, Release 1.4
directly?, 828
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?, 808
Why the window title bar is going outside the
screen?, 822
Why this example use the GetChar() twice?, 819
Why we don’t use () after the qApp class name?, 822
Why you can specify the number of loops you want
to break out of?, 808
Fseek()
Files, 150
Fsetpos()
Files, 151
FSize()
Stdlib Functions, 244
Ftell()
Files, 150
Function Prototype
Extension, 600
function prototype
Code Generator, 609
Function Structure
Extension, 598
Functional Programming
Anonymous and Nested Functions, 210
Equality of functions, 211
First-Class Functions, 209
Higher-order Functions, 209
Introduction, 207
Pure Functions, 208
Functions
Call Functions, 111
Declare parameters, 112
Define Functions, 111
Introduction, 110
Main Function, 112
Recursion, 114
Return Value, 113
Send Parameters, 112
Variables Scope, 113
functions()
Reflection and Meta-programming, 214
Fwrite()
Files, 153
Game Class
Game Engine for 2D Games, 371
Game Engine Classes
Game Engine for 2D Games, 370
Game Engine for 2D Games
Animate Class, 373
Animate Events, 384
Animation, 378
Animation and Functions, 379
Creating the Game Window, 373
Drawing Text, 374
Flappy Bird 3000 Game, 400
Game Class, 371
Game Engine Classes, 370
GameObject Class, 371
Games Layer, 370
Graphics Library Bindings, 369
Interface to graphics library, 369
Introduction, 368
Map, 386
Map Class, 373
Map Events, 387
Moving Text, 375
Object and Drawing, 389
Playing Sound, 377
Project Layers, 369
Sound Class, 373
Sprite Automatic Movement, 380
Sprite Class, 372
Sprite Keypress Event, 381
Sprite Mouse Event, 382
Sprite State Event, 383
Stars Fighter Game, 392
Super Man 2016 Game, 407
Text Class, 372
What is new in Ring 1.1?, 59
GameObject Class
Game Engine for 2D Games, 371
Games Layer
Game Engine for 2D Games, 370
gcd()
Stdlib Functions, 237
Generate Object File
Command Line Options, 583
Generate/Execute Ring Object Files (*.ringo)
What is new in Ring 1.1?, 54
Generating Pages using Objects
Web Development (CGI Library), 315
Get Active Source File Name
System Functions, 160
Get Command Line Arguments
System Functions, 159
Get List Item
Lists, 117
Get List Size
Lists, 117
Get Number of Characters from position
Strings, 127
Get Parameters Values
Extension, 599
Get Request
RingLibCurl, 343
Index 856
Ring Documentation, Release 1.4
Get String Length
Strings, 124
Get Substring from position to end
Strings, 127
getattribute()
Reflection and Meta-programming, 226
GetChar()
Getting Input, 109
getnumber()
Stdlib Functions, 230
getstring()
Stdlib Functions, 230
Getter and Setter Methods
Frequently Asked Questions, 813
Getting Input
GetChar(), 109
Getting Started - First Style, 71
Getting Started - Second Style, 73
Getting Started - Third Style, 75
Give Command, 109
Input(), 110
Introduction, 108
Getting Started - First Style
Getting Input, 71
Hello World, 70
Introduction, 69
Multi-Line literals, 70
No Explicit End For Statements, 71
Not Case-Sensitive, 70
Run the program, 70
Writing Comments, 71
Getting Started - Second Style
Getting Input, 73
Hello World, 72
Introduction, 71
Multi-Line literals, 72
No Explicit End For Statements, 73
Not Case-Sensitive, 72
Run the program, 72
Writing Comments, 73
Getting Started - Third Style
Getting Input, 75
Hello World, 74
Introduction, 73
Multi-Line literals, 74
No Explicit End For Statements, 75
Not Case-Sensitive, 74
Run the program, 74
Writing Comments, 75
Give Command
Getting Input, 109
globals()
Reflection and Meta-programming, 213
Goal of including the Main function in Ring
Frequently Asked Questions, 810
Gradient
Web Development (CGI Library), 314
Graphics and Game Programming
Drawing, Animation and Input, 349
Introduction, 348
Playing Sound, 356
Scaling and Rotating Images, 357
Threads, 359
Transparent Image, 358
TrueType Fonts, 355
Graphics Library Bindings
Game Engine for 2D Games, 369
Hash Functions
Web Development (CGI Library), 309
HashTable Class
Stdlib Classes, 251
Hello World
Getting Started - First Style, 70
Getting Started - Second Style, 72
Getting Started - Third Style, 74
Hello World Program using the Web Library
Web Development (CGI Library), 292
Hex()
Data Type, 139
Hex2str()
Data Type, 140
Higher-order Functions
Functional Programming, 209
History
Introduction, 12
Natural Language Programming, 274
How can I disable maximize button and resize window?
Frequently Asked Questions, 825
How Ring find a functions and methods?
Scope Rules for Functions and Methods, 554
How Ring find the Variable?
Scope Rules, 540
How to add Combobox and other elements to the cells of
a QTableWidget?
Frequently Asked Questions, 832
How to Close a window then displaying another one?
Frequently Asked Questions, 824
How to contribute?
Applications, 69
Compiler and Virtual Machine (VM), 69
Documentation, 68
Editors Support, 69
Extensions in C/C++, 69
Ideas and suggestions, 69
Introduction, 67
Libraries in Ring, 69
Samples, 68
Index 857
Ring Documentation, Release 1.4
Special thanks to contributors, 68
Testing, 68
How to create a Modal Window?
Frequently Asked Questions, 824
How to create an array of buttons in GUI applications?
Frequently Asked Questions, 823
How to extend RingQt and add more classes?
Frequently Asked Questions, 829
How to get the current source file path?
Frequently Asked Questions, 816
How to get the file size using ftell() and fseek() functions?
Frequently Asked Questions, 816
How to insert an item to the first position in the list?
Frequently Asked Questions, 821
How to perform some manipulations on selected cells in
QTableWidget?
Frequently Asked Questions, 832
How to print keys or values only in List/Dictionary?
Frequently Asked Questions, 817
How to print lists that contains objects?
Frequently Asked Questions, 821
How to print new lines and other characters?
Frequently Asked Questions, 822
How to use many source code files in the project?
Frequently Asked Questions, 818
How to use NULL and ISNULL() function?
Frequently Asked Questions, 820
How to use SQLite using ODBC?
Frequently Asked Questions, 826
HTML Lists
Web Development (CGI Library), 312
HTML Special Characters
Web Development (CGI Library), 308
HTML Tables
Web Development (CGI Library), 313
HTTP Get Example
Web Development (CGI Library), 293
HTTP POST Example
Web Development (CGI Library), 298
Ideas and suggestions
How to contribute?, 69
If Statement
Control Structures - Second Style, 101
Control Structures - Third Style, 104
Inheritance
Object Oriented Programming, 201
Inheritance from GUI Classes
Desktop and Mobile Development, 483
Input()
Getting Input, 110
Insert()
Lists, 120
Install Qt for Android
Building RingQt Applications for Mobile, 523
Interface to graphics library
Game Engine for 2D Games, 369
Internet Class
Stdlib Classes, 267
Introduction
Features, 12
History, 12
Introduction, 10
Motivation, 11
Is Ring some sort of improvement over PHP?
Frequently Asked Questions, 805
IsAlNum()
Data Type, 135
IsAlpha()
Data Type, 135
IsAndroid() Function
System Functions, 158
isattribute()
Reflection and Meta-programming, 222
iscfunction()
Reflection and Meta-programming, 216
isclass()
Reflection and Meta-programming, 218
IsCntrl()
Data Type, 135
IsDigit()
Data Type, 136
IsFreeBSD() Function
System Functions, 158
isfunction()
Reflection and Meta-programming, 216
isglobal()
Reflection and Meta-programming, 215
IsGraph()
Data Type, 136
isleapyear()
Stdlib Functions, 239
IsLinux() Function
System Functions, 158
IsList()
Data Type, 134
islocal()
Reflection and Meta-programming, 215
IsLower()
Data Type, 136
IsMacOSX() Function
System Functions, 157
ismainsourcefile()
Stdlib Functions, 243
ismethod()
Reflection and Meta-programming, 223
IsMSDOS() Function
System Functions, 157
Index 858
Ring Documentation, Release 1.4
IsNULL()
Data Type, 134
IsNumber()
Data Type, 133
isobject()
Reflection and Meta-programming, 221
ispackage()
Reflection and Meta-programming, 217
ispackagesclass()
Reflection and Meta-programming, 220
isprime()
Stdlib Functions, 235
IsPrint()
Data Type, 136
isprivateattribute()
Reflection and Meta-programming, 222
isprivatemethod()
Reflection and Meta-programming, 223
IsPunct()
Data Type, 137
IsSpace()
Data Type, 137
isspecial()
Stdlib Functions, 234
IsString()
Data Type, 133
IsUnix() Function
System Functions, 157
IsUpper()
Data Type, 137
isvowel()
Stdlib Functions, 234
IsWindows() Function
System Functions, 157
IsWindows64() Function
System Functions, 157
IsXdigit()
Data Type, 137
JustFileName()
Stdlib Functions, 231
JustFilePath()
Stdlib Functions, 231
Keyboard Shortcuts
Form Designer, 536
KeyPress and Mouse Move Events
Desktop and Mobile Development, 477
Language Design
Compact Syntax, 20
Define Declarative Languages, 23
Define Natural Statements, 21
Designed for a clear goal, 16
Encourage Organization, 18
Introduction, 15
Simple, 16
Smart Garbage Collector, 24
Transparent Implementation, 18
Trying to be natural, 17
Visual Implementation, 19
Why Ring?, 16
Language Functions
Reference, 835
Language Grammar
Reference, 838
Language Keywords
Reference, 834
Language Shell
Demo Programs, 165
lcm()
Stdlib Functions, 238
Left()
Strings, 125
Libraries in Ring
How to contribute?, 69
Library Usage
Objects Library for RingQt Application, 526
linecount()
Stdlib Functions, 235
Lines()
Strings, 126
List Class
Stdlib Classes, 248
List index start from 1
Frequently Asked Questions, 811
List of changes and new features
What is new in Ring 1.1?, 53
What is new in Ring 1.2?, 47
What is new in Ring 1.3?, 34
What is new in Ring 1.4?, 25
list of functions
Mathematical Functions, 141
list2file()
Stdlib Functions, 236
Lists
Access List Items by String Index, 122
Add Items, 116
Copy Lists, 120
Create Lists, 116
Delete Item From List, 117
First-Class Lists, 121
Get List Item, 117
Get List Size, 117
Insert(), 120
Introduction, 115
Nested Lists, 120
Passing Lists to Functions, 121
Passing Parameters Using List, 122
Index 859
Ring Documentation, Release 1.4
Reverse(), 119
Search, 118
Set List Item, 117
Sort(), 118
Swap Items, 123
Using Lists during definition, 121
Load Syntax Files
Syntax Flexibility, 559
locals()
Reflection and Meta-programming, 213
Logical Operators
Operators, 91
Loop Command
Control Structures - First Style, 98
Looping
Control Structures, 105
Control Structures - First Style, 95
Control Structures - Second Style, 102
Low Level Functions
callgc(), 584
Introduction, 583
nullpointer(), 586
object2pointer(), 586
pointer2object(), 586
ptrcmp(), 587
RingVM_CallList(), 592
RingVM_CFunctionsList(), 587
RingVM_ClassesList(), 588
RingVM_FilesList(), 593
RingVM_FunctionsList(), 588
RingVM_MemoryList(), 590
RingVM_PackagesList(), 589
space(), 585
varptr(), 585
Main Function
Functions, 112
Main Menu
Demo Programs, 165
makedir()
Stdlib Functions, 243
Map
Game Engine for 2D Games, 386
Map Class
Game Engine for 2D Games, 373
Map Events
Game Engine for 2D Games, 387
map()
Stdlib Functions, 232
Math Class
Stdlib Classes, 253
Mathematical Functions
Decimals(), 144
Example, 141
Introduction, 140
list of functions, 141
Random(), 143
Unsigned(), 144
matrixmulti()
Stdlib Functions, 240
matrixtrans()
Stdlib Functions, 240
MD5()
Security and Internet Functions, 190
Menubar and StyleSheet Example
Desktop and Mobile Development, 457
Menubar Designer
Form Designer, 536
mergemethods()
Reflection and Meta-programming, 228
Methods to use Events with Events Filter
Desktop and Mobile Development, 520
methods()
Reflection and Meta-programming, 221
Misc Operators
Operators, 92
Module Organization
Extension, 597
More Beatiful Code
Declarative Programming, 272
More Samples and Tests
Form Designer, 538
Motivation
Introduction, 11
Mouse Events
RingLibSDL, 366
Movable Label Example
Desktop and Mobile Development, 473
Moving Objects using the Mouse
Desktop and Mobile Development, 479
Moving Text
Game Engine for 2D Games, 375
Multi-Line literals
Getting Started - First Style, 70
Getting Started - Second Style, 72
Getting Started - Third Style, 74
MySQL Class
Stdlib Classes, 264
MySQL Functions
Create Database, 179
Create Table and Insert Data, 180
Introduction, 177
MySQL_AutoCommit(), 185
MySQL_Close(), 179
MySQL_Columns(), 182
MySQL_Commit(), 185
MySQL_Connect(), 179
MySQL_Error(), 179
Index 860
Ring Documentation, Release 1.4
MySQL_Escape_String(), 184
MySQL_Info(), 178
MySQL_Init(), 179
MySQL_Inser_ID(), 181
MySQL_Next_Result(), 182
MySQL_Query(), 179
MySQL_Result(), 182
MySQL_Result2(), 183
MySQL_Rollback(), 185
Print Query Result, 182
Restore Image From The Database, 184
Save Image Inside the Database, 184
Transaction Example, 185
MySQL_AutoCommit()
MySQL Functions, 185
MySQL_Close()
MySQL Functions, 179
MySQL_Columns()
MySQL Functions, 182
MySQL_Columns() Implementation
Extension, 603
MySQL_Commit()
MySQL Functions, 185
MySQL_Connect()
MySQL Functions, 179
MySQL_Error()
MySQL Functions, 179
MySQL_Escape_String()
MySQL Functions, 184
MySQL_Info()
MySQL Functions, 178
MySQL_Init()
MySQL Functions, 179
MySQL_Inser_ID()
MySQL Functions, 181
MySQL_Next_Result()
MySQL Functions, 182
MySQL_Query()
MySQL Functions, 179
MySQL_Result()
MySQL Functions, 182
MySQL_Result2()
MySQL Functions, 183
MySQL_Rollback()
MySQL Functions, 185
Natural Language Programming
BraceError() Method, 281
BraceExprEval Method, 280
BraceStart and BraceEnd Methods, 279
Change the ’=’ operator to ’is’, 277
Change the Ring Keyword ’And’, 275
Change the Ring Operator ’+’, 276
Clean Natural Code, 282
Example, 274
History, 274
Introduction, 273
Real Natual Code, 280
Using Eval() with our Natural Code, 278
Natural Library - Demo Program
Using the Natural Library, 284
Nested Lists
Lists, 120
New Classes names - Index Start from 1
Desktop and Mobile Development, 522
New Functions
What is new in Ring 1.2?, 47
What is new in Ring 1.3?, 43
New Functions and Changes
What is new in Ring 1.1?, 56
New Style to Ring Notepad
What is new in Ring 1.4?, 28
newlist()
Stdlib Functions, 233
No Explicit End For Statements
Getting Started - First Style, 71
Getting Started - Second Style, 73
Getting Started - Third Style, 75
No Run
Command Line Options, 582
Not Case-Sensitive
Getting Started - First Style, 70
Getting Started - Second Style, 72
Getting Started - Third Style, 74
Notepad Application
Desktop and Mobile Development, 496
nullpointer()
Low Level Functions, 586
Number()
Data Type, 138
Numbers and Bytes
Files, 155
Object and Drawing
Game Engine for 2D Games, 389
Object Library Source Code
Objects Library for RingQt Application, 530
Object Oriented Programming
Access Objects Using Braces, 197
Classes and Objects, 195
Composition, 198
Dynamic Attributes, 202
Find() and List of Objects, 203
Inheritance, 201
Introduction, 194
Operator Overloading, 200
Packages, 202
Printing Objects, 203
Index 861
Ring Documentation, Release 1.4
Private Attributes and Methods, 199
Setter and Getter, 199
Sort() and List of Objects, 204
Using Self.Attribute, 206
object2pointer()
Low Level Functions, 586
objectid()
Reflection and Meta-programming, 220
Objects inside lists
Declarative Programming, 268
Objects Library for RingQt
What is new in Ring 1.2?, 49
Objects Library for RingQt Application
Example, 526
Introduction, 525
Library Usage, 526
Object Library Source Code, 530
Open_WindowAndLink() Function, 530
ODBC Class
Stdlib Classes, 263
ODBC Functions
Execute Query and Print Result, 173
Introduction, 168
odbc_autocommit(), 175
odbc_close(), 170
odbc_colcount(), 172
odbc_columns(), 174
odbc_commit(), 175
odbc_connect(), 171
odbc_datasources(), 170
odbc_disconnect(), 172
odbc_drivers(), 169
odbc_execute(), 172
odbc_fetch(), 173
odbc_getdata(), 173
odbc_init(), 169
odbc_rollback(), 175
odbc_tables(), 173
Open and Close Connection, 172
Print List of ODBC Data Sources, 171
Print List of ODBC Drivers, 170
Save and Restore Images, 176
Transactions and Using Commit and Rollback, 175
odbc_autocommit()
ODBC Functions, 175
odbc_close()
ODBC Functions, 170
odbc_colcount()
ODBC Functions, 172
odbc_columns()
ODBC Functions, 174
odbc_commit()
ODBC Functions, 175
odbc_connect()
ODBC Functions, 171
odbc_datasources()
ODBC Functions, 170
odbc_disconnect()
ODBC Functions, 172
odbc_drivers()
ODBC Functions, 169
odbc_execute()
ODBC Functions, 172
odbc_fetch()
ODBC Functions, 173
odbc_getdata()
ODBC Functions, 173
odbc_init()
ODBC Functions, 169
odbc_rollback()
ODBC Functions, 175
odbc_tables()
ODBC Functions, 173
Open and Close Connection
ODBC Functions, 172
Open_WindowAndLink() Function
Objects Library for RingQt Application, 530
Operator Overloading
Object Oriented Programming, 200
Operators
Arithmetic Operators, 91
Assignment Operators, 92
Bitwise Operators, 91
Introduction, 90
Logical Operators, 91
Misc Operators, 92
Operators Precedence, 92
Relational Operators, 91
Using the Natural Library, 288
Operators Precedence
Operators, 92
Other Widgets Events
Desktop and Mobile Development, 461
packagename()
Reflection and Meta-programming, 229
Packages
Object Oriented Programming, 202
packages()
Reflection and Meta-programming, 217
packagesclasses()
Reflection and Meta-programming, 219
Page Class
Web Development (CGI Library), 339
palindrome()
Stdlib Functions, 239
Passing Lists to Functions
Lists, 121
Index 862
Ring Documentation, Release 1.4
Passing Parameters Using List
Lists, 122
Performance
Command Line Options, 582
permutation()
Stdlib Functions, 241
Perror()
Files, 151
Philosophy behind data types in Ring
Frequently Asked Questions, 808
Play Sound
RingLibSDL, 367
Playing Sound
Desktop and Mobile Development, 471
Game Engine for 2D Games, 377
Graphics and Game Programming, 356
pointer2object()
Low Level Functions, 586
Post Request
RingLibCurl, 343
Prefix for Functions Names
Code Generator, 611
PrevFileName() Function
System Functions, 160
Print files in Zip file
RingZip, 346
Print List of ODBC Data Sources
ODBC Functions, 171
Print List of ODBC Drivers
ODBC Functions, 170
Print Query Result
MySQL Functions, 182
print()
Stdlib Functions, 230
Printing Final Intermediate Code
Command Line Options, 577
Printing Instruction Operation Code
Command Line Options, 582
Printing Intermediate Code
Command Line Options, 575
Printing Objects
Object Oriented Programming, 203
Printing Rules
Command Line Options, 571
Printing Tokens
Command Line Options, 569
Printing using QPrinter
Desktop and Mobile Development, 469
Private Attributes and Methods
Object Oriented Programming, 199
prodlist()
Stdlib Functions, 238
Program Structure
Introduction, 114
Source Code File Sections, 115
Using Many Source Code Files, 115
Project Folder
Building Games For Android, 419
Project Layers
Game Engine for 2D Games, 369
Protecting the Source Code
Distributing Ring Application, 567
ptrcmp()
Low Level Functions, 587
Pure Functions
Functional Programming, 208
puts()
Stdlib Functions, 230
QAbstractButton Class
RingQt Classes Reference, 713
QAbstractItemView Class
RingQt Classes Reference, 699
QAbstractScrollArea Class
RingQt Classes Reference, 699
QAbstractSlider Class
RingQt Classes Reference, 706
QAbstractSocket Class
RingQt Classes Reference, 734
QAbstractSpinBox Class
RingQt Classes Reference, 709
QAction Class
RingQt Classes Reference, 717
QAllEvents Class
RingQt Classes Reference, 748
QApp Class
RingQt Classes Reference, 666
QAxBase Class
RingQt Classes Reference, 799
QAxObject Class
RingQt Classes Reference, 799
QBitmap Class
RingQt Classes Reference, 674
QBoxLayout Class
RingQt Classes Reference, 789
QBrush Class
RingQt Classes Reference, 731
QButtonGroup Class
RingQt Classes Reference, 715
QByteArray Class
RingQt Classes Reference, 732
QCamera Class
RingQt Classes Reference, 784
QCameraImageCapture Class
RingQt Classes Reference, 785
QCameraViewfinder Class
RingQt Classes Reference, 783
QCheckBox Class
Index 863
Ring Documentation, Release 1.4
RingQt Classes Reference, 713
QColor Class
RingQt Classes Reference, 726
QColorDialog Class
RingQt Classes Reference, 744
QComboBox Class
RingQt Classes Reference, 689
QCompleter Class
RingQt Classes Reference, 794
QCompleter2 Class
RingQt Classes Reference, 795
QCompleter3 Class
RingQt Classes Reference, 795
QCursor Class
RingQt Classes Reference, 798
QDate Class
RingQt Classes Reference, 757
QDateEdit Class
RingQt Classes Reference, 708
QDateTimeEdit Class
RingQt Classes Reference, 708
QDesktopServices Class
RingQt Classes Reference, 666
QDesktopWidget Class
RingQt Classes Reference, 750
QDial Class
RingQt Classes Reference, 710
QDialog Class
RingQt Classes Reference, 742
QDir Class
RingQt Classes Reference, 684
QDirModel Class
RingQt Classes Reference, 740
QDockWidget Class
RingQt Classes Reference, 695
QEvent Class
RingQt Classes Reference, 719
QFileDialog Class
RingQt Classes Reference, 721
QFileInfo Class
RingQt Classes Reference, 739
QFileSystemModel Class
RingQt Classes Reference, 684
QFont Class
RingQt Classes Reference, 729
QFontDialog Class
RingQt Classes Reference, 741
QFontMetrics Class
RingQt Classes Reference, 788
QFrame Class
RingQt Classes Reference, 698
QFrame2 Class
RingQt Classes Reference, 698
QFrame3 Class
RingQt Classes Reference, 699
QGradient Class
RingQt Classes Reference, 791
QGraphicsVideoItem Class
RingQt Classes Reference, 784
QGridLayout Class
RingQt Classes Reference, 781
QHBoxLayout Class
RingQt Classes Reference, 677
QHeaderView Class
RingQt Classes Reference, 786
QHostAddress Class
RingQt Classes Reference, 738
QHostInfo Class
RingQt Classes Reference, 738
QIcon Class
RingQt Classes Reference, 675
QImage Class
RingQt Classes Reference, 767
QInputDialog Class
RingQt Classes Reference, 746
QIODevice Class
RingQt Classes Reference, 734
QJsonArray Class
RingQt Classes Reference, 776
QJsonDocument Class
RingQt Classes Reference, 776
QJsonObject Class
RingQt Classes Reference, 777
QJsonParseError Class
RingQt Classes Reference, 778
QJsonValue Class
RingQt Classes Reference, 778
QKeySequence Class
RingQt Classes Reference, 745
QLabel Class
RingQt Classes Reference, 673
QLayout Class
RingQt Classes Reference, 790
QLCDNumber Class
RingQt Classes Reference, 746
QLinearGradient Class
RingQt Classes Reference, 791
QLineEdit Class
RingQt Classes Reference, 675
QLineEdit Events and QMessageBox
Desktop and Mobile Development, 459
QListView Class
RingQt Classes Reference, 798
QListWidget Class
RingQt Classes Reference, 680
QListWidgetItem Class
RingQt Classes Reference, 755
QMainWindow Class
Index 864
Ring Documentation, Release 1.4
RingQt Classes Reference, 693
QMdiArea Class
RingQt Classes Reference, 796
QMdiSubWindow Class
RingQt Classes Reference, 797
QMediaObject Class
RingQt Classes Reference, 786
QMediaPlayer Class
RingQt Classes Reference, 715
QMediaPlaylist Class
RingQt Classes Reference, 716
QMenu Class
RingQt Classes Reference, 691
QMenuBar Class
RingQt Classes Reference, 691
QMessageBox Class
RingQt Classes Reference, 719
QMessagebox Example
Desktop and Mobile Development, 474
QNetworkAccessManager Class
RingQt Classes Reference, 764
QNetworkProxy Class
RingQt Classes Reference, 736
QNetworkReply Class
RingQt Classes Reference, 765
QNetworkRequest Class
RingQt Classes Reference, 764
QObject Class
RingQt Classes Reference, 666
QPainter Class
RingQt Classes Reference, 722
QPainter2 Class
RingQt Classes Reference, 724
QPainterPath Class
RingQt Classes Reference, 766
QPen Class
RingQt Classes Reference, 725
QPicture Class
RingQt Classes Reference, 725
QPixmap Class
RingQt Classes Reference, 674
QPixmap2 Class
RingQt Classes Reference, 675
QPlainTextEdit Class
RingQt Classes Reference, 778
QPoint Class
RingQt Classes Reference, 792
QPointF Class
RingQt Classes Reference, 792
QPrinter Class
RingQt Classes Reference, 728
QProcess Class
RingQt Classes Reference, 795
QProgressBar Class
RingQt Classes Reference, 705
QPushButton Class
RingQt Classes Reference, 674
QRadioButton Class
RingQt Classes Reference, 714
QRect Class
RingQt Classes Reference, 750
QRegularExpression Class
RingQt Classes Reference, 774
QRegularExpressionMatch Class
RingQt Classes Reference, 775
QRegularExpressionMatchIterator Class
RingQt Classes Reference, 775
QScrollArea Class
RingQt Classes Reference, 792
QSerialPort Class
RingQt Classes Reference, 801
QSerialPortInfo Class
RingQt Classes Reference, 802
QSize Class
RingQt Classes Reference, 675
QSlider Class
RingQt Classes Reference, 707
QSpinBox Class
RingQt Classes Reference, 705
QSplashScreen Class
RingQt Classes Reference, 789
QSplitter Class
RingQt Classes Reference, 793
QSqlDatabase Class
RingQt Classes Reference, 758
QSqlDriver Class
RingQt Classes Reference, 759
QSqlDriverCreatorBase Class
RingQt Classes Reference, 762
QSqlError Class
RingQt Classes Reference, 760
QSqlField Class
RingQt Classes Reference, 761
QSqlIndex Class
RingQt Classes Reference, 760
QSqlQuery Class
RingQt Classes Reference, 759
QSqlRecord Class
RingQt Classes Reference, 761
QStatusBar Class
RingQt Classes Reference, 694
QString2 Class
RingQt Classes Reference, 795
QStringList Class
RingQt Classes Reference, 744
QSystemTrayIcon Class
RingQt Classes Reference, 756
Qt Class Convertor
Index 865
Ring Documentation, Release 1.4
What is new in Ring 1.4?, 32
Qt configuration file
Code Generator, 617
QTableView Class
RingQt Classes Reference, 701
QTableWidget Class
RingQt Classes Reference, 702
QTableWidgetItem Class
RingQt Classes Reference, 697
QTabWidget Class
RingQt Classes Reference, 695
QTcpServer Class
RingQt Classes Reference, 737
QTcpSocket Class
RingQt Classes Reference, 737
QTest Class
RingQt Classes Reference, 666
QTextBlock Class
RingQt Classes Reference, 754
QTextCharFormat Class
RingQt Classes Reference, 782
QTextCodec Class
RingQt Classes Reference, 757
QTextCursor Class
RingQt Classes Reference, 742
QTextDocument Class
RingQt Classes Reference, 752
QTextEdit Class
RingQt Classes Reference, 678
QThread Class
RingQt Classes Reference, 773
QThreadPool Class
RingQt Classes Reference, 774
QTime Class
RingQt Classes Reference, 754
QTimer Class
RingQt Classes Reference, 720
QToolBar Class
RingQt Classes Reference, 692
QToolButton Class
RingQt Classes Reference, 800
QTreeView Class
RingQt Classes Reference, 682
QTreeWidget Class
RingQt Classes Reference, 685
QTreeWidgetItem Class
RingQt Classes Reference, 687
Queue Class
Stdlib Classes, 250
Quotes about Ring
Applications developed in little hours, 1
QUrl Class
RingQt Classes Reference, 712
QUuid Class
RingQt Classes Reference, 800
QVariant Class
RingQt Classes Reference, 762
QVBoxLayout Class
RingQt Classes Reference, 677
QVideoWidget and QMediaPlayer
Desktop and Mobile Development, 453
QVideoWidget Class
RingQt Classes Reference, 716
QVideoWidgetControl Class
RingQt Classes Reference, 784
QWebView Class
RingQt Classes Reference, 711
QWidget Class
RingQt Classes Reference, 667
QXmlStreamAttribute Class
RingQt Classes Reference, 773
QXmlStreamAttributes Class
RingQt Classes Reference, 772
QXmlStreamEntityDeclaration Class
RingQt Classes Reference, 772
QXmlStreamEntityResolver Class
RingQt Classes Reference, 772
QXmlStreamNamespaceDeclaration Class
RingQt Classes Reference, 772
QXmlStreamNotationDeclaration Class
RingQt Classes Reference, 771
QXmlStreamReader Class
RingQt Classes Reference, 769
QXmlStreamWriter Class
RingQt Classes Reference, 770
Raise()
Eval() and Debugging, 163
RandBytes()
Security and Internet Functions, 193
Random Image
Web Development (CGI Library), 311
Random()
Mathematical Functions, 143
Read File using Read()
Files, 147
readline()
Stdlib Functions, 241
Real Natual Code
Natural Language Programming, 280
Recursion
Functions, 114
Reference
Compiler Errors, 836
Introduction, 833
Language Functions, 835
Language Grammar, 838
Language Keywords, 834
Index 866
Ring Documentation, Release 1.4
Runtime Errors, 837
Virtual Machine Instructions, 840
Reflection and Meta-programming
addattribute(), 224
addmethod(), 224
attributes(), 221
cfunctions(), 214
classes(), 218
classname(), 220
functions(), 214
getattribute(), 226
globals(), 213
Introduction, 212
isattribute(), 222
iscfunction(), 216
isclass(), 218
isfunction(), 216
isglobal(), 215
islocal(), 215
ismethod(), 223
isobject(), 221
ispackage(), 217
ispackagesclass(), 220
isprivateattribute(), 222
isprivatemethod(), 223
locals(), 213
mergemethods(), 228
methods(), 221
objectid(), 220
packagename(), 229
packages(), 217
packagesclasses(), 219
setattribute(), 227
Register New Functions
Code Generator, 612
Regular Expressions
Desktop and Mobile Development, 488
Relational Operators
Operators, 91
Remove()
Files, 148
Rename()
Files, 148
Resources
Contact the Autor, 847
Introduction, 846
Ring Group, 847
Ring Language Website, 847
Restore Image From The Database
MySQL Functions, 184
Return object by reference
Declarative Programming, 269
Return Self by Reference
What is new in Ring 1.3?, 43
Return Value
Extension, 599
Functions, 113
Reverse()
Lists, 119
Rewind()
Files, 150
Right()
Strings, 125
RING API - list Functions
Extension, 601
RING API - String Functions
Extension, 603
Ring CGI Hello World Program
Web Development (CGI Library), 292
Ring Group
Resources, 847
Ring Language Website
Resources, 847
Ring mode for Emacs Editor
What is new in Ring 1.3?, 41
Ring Notepad
Introduction, 75
Ring Notepad - Creating and running your first con-
sole application, 76
Ring Notepad - Creating and running your first game,
81
Ring Notepad - Creating and running your first GUI
application, 79
Ring Notepad - Creating and running your first Web
application, 80
Ring Notepad - Main Window, 76
Ring Notepad - Creating and running your first console
application
Ring Notepad, 76
Ring Notepad - Creating and running your first game
Ring Notepad, 81
Ring Notepad - Creating and running your first GUI ap-
plication
Ring Notepad, 79
Ring Notepad - Creating and running your first Web ap-
plication
Ring Notepad, 80
Ring Notepad - Main Window
Ring Notepad, 76
Ring State
Embedding Ring Language in C/C++ Programs, 606
Ring State Functions
Embedding Ring Language in C/C++ Programs, 606
Ring State Variables
Embedding Ring Language in C/C++ Programs, 607
ring_ext.c
Extension, 596
ring_ext.h
Index 867
Ring Documentation, Release 1.4
Extension, 596
RingAllegro Functions Reference
Introduction, 630
RingCodeHighlighter Class
RingQt Classes Reference, 768
RingLibCurl
Facebook Login, 343
Get Request, 343
Introduction, 342
Post Request, 343
Save output to string, 344
What is new in Ring 1.2?, 50
RingLibCurl Functions Reference
Introduction, 627
RingLibSDL
Close Window Event, 365
Create Window, 362
Display Image, 362
Display PNG Images, 363
Display Transparent Images, 364
Draw Rectangle, 363
Introduction, 361
Mouse Events, 366
Play Sound, 367
Switch Between Two Images, 362
Use TTF Fonts, 364
What is new in Ring 1.1?, 59
RingLibSDL Functions Reference
Introduction, 649
RingLibZip Functions Reference
Introduction, 629
RingQt Classes and their Qt Documentation
Desktop and Mobile Development, 522
RingQt Classes Reference
CodeEditor Class, 781
Introduction, 665
QAbstractButton Class, 713
QAbstractItemView Class, 699
QAbstractScrollArea Class, 699
QAbstractSlider Class, 706
QAbstractSocket Class, 734
QAbstractSpinBox Class, 709
QAction Class, 717
QAllEvents Class, 748
QApp Class, 666
QAxBase Class, 799
QAxObject Class, 799
QBitmap Class, 674
QBoxLayout Class, 789
QBrush Class, 731
QButtonGroup Class, 715
QByteArray Class, 732
QCamera Class, 784
QCameraImageCapture Class, 785
QCameraViewfinder Class, 783
QCheckBox Class, 713
QColor Class, 726
QColorDialog Class, 744
QComboBox Class, 689
QCompleter Class, 794
QCompleter2 Class, 795
QCompleter3 Class, 795
QCursor Class, 798
QDate Class, 757
QDateEdit Class, 708
QDateTimeEdit Class, 708
QDesktopServices Class, 666
QDesktopWidget Class, 750
QDial Class, 710
QDialog Class, 742
QDir Class, 684
QDirModel Class, 740
QDockWidget Class, 695
QEvent Class, 719
QFileDialog Class, 721
QFileInfo Class, 739
QFileSystemModel Class, 684
QFont Class, 729
QFontDialog Class, 741
QFontMetrics Class, 788
QFrame Class, 698
QFrame2 Class, 698
QFrame3 Class, 699
QGradient Class, 791
QGraphicsVideoItem Class, 784
QGridLayout Class, 781
QHBoxLayout Class, 677
QHeaderView Class, 786
QHostAddress Class, 738
QHostInfo Class, 738
QIcon Class, 675
QImage Class, 767
QInputDialog Class, 746
QIODevice Class, 734
QJsonArray Class, 776
QJsonDocument Class, 776
QJsonObject Class, 777
QJsonParseError Class, 778
QJsonValue Class, 778
QKeySequence Class, 745
QLabel Class, 673
QLayout Class, 790
QLCDNumber Class, 746
QLinearGradient Class, 791
QLineEdit Class, 675
QListView Class, 798
QListWidget Class, 680
QListWidgetItem Class, 755
Index 868
Ring Documentation, Release 1.4
QMainWindow Class, 693
QMdiArea Class, 796
QMdiSubWindow Class, 797
QMediaObject Class, 786
QMediaPlayer Class, 715
QMediaPlaylist Class, 716
QMenu Class, 691
QMenuBar Class, 691
QMessageBox Class, 719
QNetworkAccessManager Class, 764
QNetworkProxy Class, 736
QNetworkReply Class, 765
QNetworkRequest Class, 764
QObject Class, 666
QPainter Class, 722
QPainter2 Class, 724
QPainterPath Class, 766
QPen Class, 725
QPicture Class, 725
QPixmap Class, 674
QPixmap2 Class, 675
QPlainTextEdit Class, 778
QPoint Class, 792
QPointF Class, 792
QPrinter Class, 728
QProcess Class, 795
QProgressBar Class, 705
QPushButton Class, 674
QRadioButton Class, 714
QRect Class, 750
QRegularExpression Class, 774
QRegularExpressionMatch Class, 775
QRegularExpressionMatchIterator Class, 775
QScrollArea Class, 792
QSerialPort Class, 801
QSerialPortInfo Class, 802
QSize Class, 675
QSlider Class, 707
QSpinBox Class, 705
QSplashScreen Class, 789
QSplitter Class, 793
QSqlDatabase Class, 758
QSqlDriver Class, 759
QSqlDriverCreatorBase Class, 762
QSqlError Class, 760
QSqlField Class, 761
QSqlIndex Class, 760
QSqlQuery Class, 759
QSqlRecord Class, 761
QStatusBar Class, 694
QString2 Class, 795
QStringList Class, 744
QSystemTrayIcon Class, 756
QTableView Class, 701
QTableWidget Class, 702
QTableWidgetItem Class, 697
QTabWidget Class, 695
QTcpServer Class, 737
QTcpSocket Class, 737
QTest Class, 666
QTextBlock Class, 754
QTextCharFormat Class, 782
QTextCodec Class, 757
QTextCursor Class, 742
QTextDocument Class, 752
QTextEdit Class, 678
QThread Class, 773
QThreadPool Class, 774
QTime Class, 754
QTimer Class, 720
QToolBar Class, 692
QToolButton Class, 800
QTreeView Class, 682
QTreeWidget Class, 685
QTreeWidgetItem Class, 687
QUrl Class, 712
QUuid Class, 800
QVariant Class, 762
QVBoxLayout Class, 677
QVideoWidget Class, 716
QVideoWidgetControl Class, 784
QWebView Class, 711
QWidget Class, 667
QXmlStreamAttribute Class, 773
QXmlStreamAttributes Class, 772
QXmlStreamEntityDeclaration Class, 772
QXmlStreamEntityResolver Class, 772
QXmlStreamNamespaceDeclaration Class, 772
QXmlStreamNotationDeclaration Class, 771
QXmlStreamReader Class, 769
QXmlStreamWriter Class, 770
RingCodeHighlighter Class, 768
RingREPL
What is new in Ring 1.4?, 28
RingSQLite
What is new in Ring 1.1?, 60
RingVM_CallList()
Low Level Functions, 592
RingVM_CFunctionsList()
Low Level Functions, 587
RingVM_ClassesList()
Low Level Functions, 588
RingVM_FilesList()
Low Level Functions, 593
RingVM_FunctionsList()
Low Level Functions, 588
RingVM_MemoryList()
Low Level Functions, 590
Index 869
Ring Documentation, Release 1.4
RingVM_PackagesList()
Low Level Functions, 589
RingZip
Create Zip File, 346
Extract Zip File, 346
Introduction, 345
Print files in Zip file, 346
Using RingZip Classes, 346
Zip Class Reference, 348
ZipEntry Class Reference, 348
RingZip Library
What is new in Ring 1.3?, 44
Rotate Text
Desktop and Mobile Development, 485
Run the program
Getting Started - First Style, 70
Getting Started - Second Style, 72
Getting Started - Third Style, 74
Running Forms
Form Designer, 533
Runtime Errors
Reference, 837
Samples
How to contribute?, 68
Samples in this book
Applications developed in little hours, 7
Save and Restore Images
ODBC Functions, 176
Save Image Inside the Database
MySQL Functions, 184
Save output to string
RingLibCurl, 344
Scaling and Rotating Images
Graphics and Game Programming, 357
Scope Rules
Accessing the class attributes from braces inside
class methods, 545
Conflict between Class Attributes and Local Vari-
ables, 542
Conflict between Global Variables and Class At-
tributes, 541
Conflict between self inside braces and self in the
class region, 548
Creating a Class for each Window in GUI applica-
tions, 547
Defining Variables and Variables Access, 539
How Ring find the Variable?, 540
Introduction, 538
Summary of Scope Rules, 552
The Self Object, 540
Three Scopes, 539
Using Braces to access objects inside Class Methods,
543
Using braces to escape from the current object scope,
551
Using Object.Attribute, 540
Scope Rules for Functions and Methods
Calling a function sharing the name with a method in
the current class, 556
Example about Sharing Names between Functions
and Methods, 554
How Ring find a functions and methods?, 554
Introduction, 553
ScriptFunctions Class
Web Development (CGI Library), 341
Search
Lists, 118
Search of global names while defining the class attributes
Frequently Asked Questions, 814
Security and Internet Functions
Decrypt(), 193
Download(), 194
Encrypt(), 192
Example, 193
File Hash, 193
Introduction, 189
MD5(), 190
RandBytes(), 193
SendEmail(), 194
SHA1(), 191
SHA224(), 192
SHA256(), 191
SHA384(), 192
SHA512(), 191
Security Class
Stdlib Classes, 266
Send Parameters
Functions, 112
SendEmail()
Security and Internet Functions, 194
Serial Execution of Programs
Embedding Ring in Ring, 594
Set List Item
Lists, 117
setattribute()
Reflection and Meta-programming, 227
Setter and Getter
Object Oriented Programming, 199
SHA1()
Security and Internet Functions, 191
SHA224()
Security and Internet Functions, 192
SHA256()
Security and Internet Functions, 191
SHA384()
Security and Internet Functions, 192
SHA512()
Index 870
Ring Documentation, Release 1.4
Security and Internet Functions, 191
Shared Libraries
Extension, 604
Short-circuit evaluation
Control Structures - First Style, 98
sign()
Stdlib Functions, 236
Simple
Language Design, 16
Simple Client and Server Example
Desktop and Mobile Development, 489
Sin() Implementation
Extension, 600
Single: Desktop and Mobile Development
Introduction, 421
sleep()
Stdlib Functions, 242
Smart Garbage Collector
Language Design, 24
Sort()
Lists, 118
Sort() and List of Objects
Object Oriented Programming, 204
Sound Class
Game Engine for 2D Games, 373
Source Code File Sections
Program Structure, 115
space()
Low Level Functions, 585
Special thanks to contributors
How to contribute?, 68
split()
Stdlib Functions, 233
splitmany()
Stdlib Functions, 233
Sprite Automatic Movement
Game Engine for 2D Games, 380
Sprite Class
Game Engine for 2D Games, 372
Sprite Keypress Event
Game Engine for 2D Games, 381
Sprite Mouse Event
Game Engine for 2D Games, 382
Sprite State Event
Game Engine for 2D Games, 383
SQLite
Introduction, 186
sqlite_close(), 187
sqlite_execute(), 187
sqlite_init(), 187
sqlite_open(), 187
SQLite Class
Stdlib Classes, 265
sqlite_close()
SQLite, 187
sqlite_execute()
SQLite, 187
sqlite_init()
SQLite, 187
sqlite_open()
SQLite, 187
Squares Puzzle Game
Applications developed in little hours, 4
Stack Class
Stdlib Classes, 250
Stars Fighter Game
Game Engine for 2D Games, 392
startswith()
Stdlib Functions, 237
StdBase Class
Stdlib Classes, 245
Stdlib Classes
Conversion Class, 262
DataType Class, 261
DateTime Class, 256
Debug Class, 260
File Class, 258
HashTable Class, 251
Internet Class, 267
Introduction, 244
List Class, 248
Math Class, 253
MySQL Class, 264
ODBC Class, 263
Queue Class, 250
Security Class, 266
SQLite Class, 265
Stack Class, 250
StdBase Class, 245
String Class, 246
System Class, 259
Tree Class, 252
Stdlib Functions
apppath(), 231
binarydigits(), 240
capitalized(), 234
changestring(), 242
dayofweek(), 241
direxists(), 243
endswith(), 237
evenorodd(), 238
factorial(), 235
factors(), 239
fibonacci(), 235
file2list(), 236
filter(), 232
FSize(), 244
gcd(), 237
Index 871
Ring Documentation, Release 1.4
getnumber(), 230
getstring(), 230
Introduction, 229
isleapyear(), 239
ismainsourcefile(), 243
isprime(), 235
isspecial(), 234
isvowel(), 234
JustFileName(), 231
JustFilePath(), 231
lcm(), 238
linecount(), 235
list2file(), 236
makedir(), 243
map(), 232
matrixmulti(), 240
matrixtrans(), 240
newlist(), 233
palindrome(), 239
permutation(), 241
print(), 230
prodlist(), 238
puts(), 230
readline(), 241
sign(), 236
sleep(), 242
split(), 233
splitmany(), 233
startswith(), 237
substring(), 242
sumlist(), 238
times(), 232
value(), 232
StdLib functions and classes written in Ring
What is new in Ring 1.1?, 57
Step Option
Control Structures - First Style, 96
Str2Hex()
Data Type, 140
str2list() and list2str()
Strings, 128
strcmp()
Strings, 128
String Class
Stdlib Classes, 246
String Literals
Strings, 124
String()
Data Type, 138
Strings
Access String Letters, 124
Convert Letters Case, 124
Copy(), 126
Find SubString, 127
Get Number of Characters from position, 127
Get String Length, 124
Get Substring from position to end, 127
Introduction, 123
Left(), 125
Lines(), 126
Right(), 125
str2list() and list2str(), 128
strcmp(), 128
String Literals, 124
Substr(), 126
Transform Substring To Another Substring, 127
Trim(), 126
StyleFunctions Class
Web Development (CGI Library), 341
Substr()
Strings, 126
substring()
Stdlib Functions, 242
sumlist()
Stdlib Functions, 238
Summary of Scope Rules
Scope Rules, 552
Super Man 2016 Game
Game Engine for 2D Games, 407
Swap Items
Lists, 123
Switch Between Two Images
RingLibSDL, 362
Switch Statement
Control Structures - First Style, 94
Control Structures - Second Style, 101
Control Structures - Third Style, 104
Syntax Flexibility
Change Language Keywords, 558
Change Language Operators, 559
Introduction, 557
Load Syntax Files, 559
Using ’case’ as ’on’ in switch statements, 565
Using ’def’ as ’func’ in functions/methods defini-
tion, 565
Using ’put’ and ’get’ as ’see’ and ’give’, 565
Using () around the function parameters, 559
in the start of the variable name, 562
Using braces to start and end different control struc-
tures, 564
Using Semi-colon after and between statements, 561
Using the ’else’ keyword as ’other’ in switch state-
ment, 562
Using the ’elseif’ keyword as ’but’ in if statement,
562
Using the ’end’ keyword in different control struc-
tures, 563
What is new in Ring 1.1?, 54
Index 872
Ring Documentation, Release 1.4
SysGet() Function
System Functions, 156
System Class
Stdlib Classes, 259
System Functions
ChDir() Function, 161
CurrentDir() Function, 160
Example, 158
ExeFileName() Function, 161
ExeFolder() Function, 161
Get Active Source File Name, 160
Get Command Line Arguments, 159
Introduction, 155
IsAndroid() Function, 158
IsFreeBSD() Function, 158
IsLinux() Function, 158
IsMacOSX() Function, 157
IsMSDOS() Function, 157
IsUnix() Function, 157
IsWindows() Function, 157
IsWindows64() Function, 157
PrevFileName() Function, 160
SysGet() Function, 156
System() Function, 156
Version() Function, 161
Windowsnl() Function, 158
System() Function
System Functions, 156
Tempfile()
Files, 150
Templates
Web Development (CGI Library), 306
Tempname()
Files, 150
Testing
How to contribute?, 68
Text Class
Game Engine for 2D Games, 372
The Cards Game
Demo Programs, 511
Desktop and Mobile Development, 511
The Designer Windows
Form Designer, 532
The Difference between Qt and RingQt
Desktop and Mobile Development, 521
The documentation says functional programming is sup-
ported, but then this happens?
Frequently Asked Questions, 807
The First GUI Application
Desktop and Mobile Development, 422
The Natural Library
What is new in Ring 1.4?, 26
The Properties
Form Designer, 532
The Self Object
Scope Rules, 540
Threads
Graphics and Game Programming, 359
Threads Support
Code Generator, 615
Three Scopes
Scope Rules, 539
TicTacToe Game
Applications developed in little hours, 3
Time()
Date and Time, 130
TimeList()
Date and Time, 131
times()
Stdlib Functions, 232
Transaction Example
MySQL Functions, 185
Transactions and Using Commit and Rollback
ODBC Functions, 175
Transform Substring To Another Substring
Strings, 127
Transparent Image
Graphics and Game Programming, 358
Transparent Implementation
Language Design, 18
Tree Class
Stdlib Classes, 252
Trim()
Strings, 126
TrueType Fonts
Graphics and Game Programming, 355
Try/Carch/Done
Eval() and Debugging, 162
Trying to be natural
Language Design, 17
Type()
Data Type, 134
Ungetc()
Files, 152
Unsigned()
Mathematical Functions, 144
Update the Android SDK
Building RingQt Applications for Mobile, 523
Upload Files
Web Development (CGI Library), 300
URL Encode
Web Development (CGI Library), 305
Use TTF Fonts
RingLibSDL, 364
Users registration and Login
Web Development (CGI Library), 326
Index 873
Ring Documentation, Release 1.4
Using ’<’ and ’:’ operators as ’from’ keyword
What is new in Ring 1.3?, 43
Using ’case’ as ’on’ in switch statements
Syntax Flexibility, 565
Using ’def’ as ’func’ in functions/methods definition
Syntax Flexibility, 565
Using ’put’ and ’get’ as ’see’ and ’give’
Syntax Flexibility, 565
Using () around the function parameters
Syntax Flexibility, 559
in the start of the variable name
Syntax Flexibility, 562
Using Atom
Using Other Code Editors, 85
Using Bootstrap Library using Functions
Web Development (CGI Library), 320
Using Bootstrap Library using Objects
Web Development (CGI Library), 321
Using Braces to access objects inside Class Methods
Scope Rules, 543
Using braces to escape from the current object scope
Scope Rules, 551
Using braces to start and end different control structures
Syntax Flexibility, 564
Using C/C++ Compiler and Linker
Distributing Ring Application, 568
Using configuration file that wrap C++ library
Code Generator, 617
Using Emacs Editor
Using Other Code Editors, 87
Using Eval() with our Natural Code
Natural Language Programming, 278
Using Geany
Using Other Code Editors, 84
Using Layout
Desktop and Mobile Development, 423
Using Layouts
Form Designer, 538
Using Lists during definition
Lists, 121
Using Many Source Code Files
Program Structure, 115
Using Notepad++
Using Other Code Editors, 83
Using NULL instead of NULLPointer()
What is new in Ring 1.2?, 51
Using Object.Attribute
Scope Rules, 540
Using Other Code Editors
Introduction, 82
Using Atom, 85
Using Emacs Editor, 87
Using Geany, 84
Using Notepad++, 83
Using Sublime Text 2, 86
Using Visual Studio IDE, 87
Using QCheckBox
Desktop and Mobile Development, 449
Using QComboBox Class
Desktop and Mobile Development, 431
Using QDateEdit
Desktop and Mobile Development, 444
Using QDesktopWidget Class
Desktop and Mobile Development, 484
Using QDial
Desktop and Mobile Development, 445
Using QDockWidget
Desktop and Mobile Development, 437
Using QFrame
Desktop and Mobile Development, 454
Using QInputDialog Class
Desktop and Mobile Development, 475
Using qLCDNumber
Desktop and Mobile Development, 472
Using QProgressBar
Desktop and Mobile Development, 441
Using QProgressBar and Timer
Desktop and Mobile Development, 464
Using QRadioButton and QButtonGroup
Desktop and Mobile Development, 450
Using QSlider
Desktop and Mobile Development, 442
Using QSpinBox
Desktop and Mobile Development, 442
Using QTableWidget
Desktop and Mobile Development, 440
Using QTabWidget
Desktop and Mobile Development, 438
Using QTreeView and QFileSystemModel
Desktop and Mobile Development, 429
Using QTreeWidget and QTreeWidgetItem
Desktop and Mobile Development, 430
Using QWebView
Desktop and Mobile Development, 448
Using RingZip Classes
RingZip, 346
Using Self.Attribute
Object Oriented Programming, 206
Using Self.Attribute in the Class Region to define new at-
tributes
What is new in Ring 1.1?, 61
Using Semi-colon after and between statements
Syntax Flexibility, 561
Using Sublime Text 2
Using Other Code Editors, 86
Using the ’else’ keyword as ’other’ in switch statement
Syntax Flexibility, 562
Using the ’elseif’ keyword as ’but’ in if statement
Index 874
Ring Documentation, Release 1.4
Syntax Flexibility, 562
Using the ’end’ keyword in different control structures
Syntax Flexibility, 563
Using the Natural Library
Defining Commands, 286
Defining commands using classes, 289
Introduction, 283
Natural Library - Demo Program, 284
Operators, 288
Using the QColorDialog Class
Desktop and Mobile Development, 471
Using the QFileDialog Class
Desktop and Mobile Development, 466
Using the QListWidget Class
Desktop and Mobile Development, 426
Using the QTextEdit Class
Desktop and Mobile Development, 425
Using the QTimer Class
Desktop and Mobile Development, 463
Using the tool
Code Generator, 609
Using This.Attribute in nested Braces inside the Class
Methods
What is new in Ring 1.1?, 61
Using Visual Studio IDE
Using Other Code Editors, 87
value()
Stdlib Functions, 232
Variables
Deep Copy, 89
Dynamic Typing, 89
Introduction, 88
Weakly Typed, 90
Variables Scope
Functions, 113
varptr()
Low Level Functions, 585
Version() Function
System Functions, 161
Virtual Machine Instructions
Reference, 840
Visual Implementation
Language Design, 19
Weakly Typed
Variables, 90
Web Development (CGI Library)
Application Class, 338
Configure the Apache web server, 291
Cookies, 303
CRUD Example using MVC, 324
Database, ModelBase & ControllerBase classes, 332
Generating Pages using Objects, 315
Gradient, 314
Hash Functions, 309
Hello World Program using the Web Library, 292
HTML Lists, 312
HTML Special Characters, 308
HTML Tables, 313
HTTP Get Example, 293
HTTP POST Example, 298
Introduction, 290
Page Class, 339
Random Image, 311
Ring CGI Hello World Program, 292
ScriptFunctions Class, 341
StyleFunctions Class, 341
Templates, 306
Upload Files, 300
URL Encode, 305
Users registration and Login, 326
Using Bootstrap Library using Functions, 320
Using Bootstrap Library using Objects, 321
Web Library Features, 293
WebLib API, 337
Web Library Features
Web Development (CGI Library), 293
WebLib API
Web Development (CGI Library), 337
Weight History Application
Desktop and Mobile Development, 492
Werdy Application
Applications developed in little hours, 5
What about predefined parameters or optional parameters
in functions?
Frequently Asked Questions, 816
What about the Boolean values in Ring?
Frequently Asked Questions, 809
What are the advantages to using Ring over C# or Java?
Frequently Asked Questions, 807
What are the advantages to using Ring over Lisp or
Smalltalk?
Frequently Asked Questions, 804
What are the advantages to using Ring over native C or
C++?
Frequently Asked Questions, 805
What are the advantages to using Ring over Python and
Ruby?
Frequently Asked Questions, 806
What are the advantages to using Ring over Tcl and Lua?
Frequently Asked Questions, 807
What happens when we create a new object?
Frequently Asked Questions, 812
What is new in Ring 1.1?
Better Code Generator for Extensions, 61
Better Documentation, 61
Better Natural Language Programming Support, 53
Index 875
Ring Documentation, Release 1.4
Game Engine for 2D Games, 59
Generate/Execute Ring Object Files (*.ringo), 54
Introduction, 52
List of changes and new features, 53
New Functions and Changes, 56
RingLibSDL, 59
RingSQLite, 60
StdLib functions and classes written in Ring, 57
Syntax Flexibility, 54
Using Self.Attribute in the Class Region to define
new attributes, 61
Using This.Attribute in nested Braces inside the
Class Methods, 61
What is new in Ring 1.2?
Better Call Command, 51
Better Functions, 48
Better Quality, 51
Better Ring Notepad, 48
Better RingQt, 48
Display Warnings Option, 51
Introduction, 46
List of changes and new features, 47
New Functions, 47
Objects Library for RingQt, 49
RingLibCurl, 50
Using NULL instead of NULLPointer(), 51
What is new in Ring 1.3?
Better Loop|Exit Command, 42
Better Ring Notepad, 38
Better RingQt, 34
Better StdLib, 42
Embedding Ring in Ring without sharing the State,
44
Form Designer, 45
Introduction, 33
List of changes and new features, 34
New Functions, 43
Return Self by Reference, 43
Ring mode for Emacs Editor, 41
RingZip Library, 44
Using ’<’ and ’:’ operators as ’from’ keyword, 43
What is new in Ring 1.4?
Better RingQt, 32
Better StdLib, 30
Better WebLib, 30
Change: Basic Extensions are separated from
RingVM, 25
Convert between Numbers and Bytes, 29
Introduction, 24
List of changes and new features, 25
New Style to Ring Notepad, 28
Qt Class Convertor, 32
RingREPL, 28
The Natural Library, 26
What is the difference between Ring and Python? And is
Ring Open Source?
Frequently Asked Questions, 805
Where can I write a program and execute it?
Frequently Asked Questions, 815
While Loop
Control Structures - First Style, 95
Control Structures - Third Style, 105
Why do we need Yet Another Programming Language
(YAPL)?
Frequently Asked Questions, 803
Why I get a strange result when printing nl with lists?
Frequently Asked Questions, 817
Why I get Calling Function without definition Error?
Frequently Asked Questions, 828
Why Ring is largely focussed on UI creation?
Frequently Asked Questions, 805
Why Ring is weakly typed?
Frequently Asked Questions, 804
Why Ring uses ’See’, ’Give’, ’But’ and ’Ok’ Keywords?
Frequently Asked Questions, 808
Why Ring?
Language Design, 16
Why setClickEvent() doesn’t see the object methods di-
rectly?
Frequently Asked Questions, 828
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, 808
Why the window title bar is going outside the screen?
Frequently Asked Questions, 822
Why this example use the GetChar() twice?
Frequently Asked Questions, 819
Why we don’t use () after the qApp class name?
Frequently Asked Questions, 822
Why you can specify the number of loops you want to
break out of?
Frequently Asked Questions, 808
Window Flags
Form Designer, 537
Windowsnl() Function
System Functions, 158
Wrap structures
Code Generator, 611
Wrapping C++ Classes
Code Generator, 616
Write file using Write()
Files, 147
Writing Comments
Getting Started - First Style, 71
Getting Started - Second Style, 73
Getting Started - Third Style, 75
Index 876
Ring Documentation, Release 1.4
Zip Class Reference
RingZip, 348
ZipEntry Class Reference
RingZip, 348
Index 877

More Related Content

What's hot

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 185Mahmoud Samir Fayed
 
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 88Mahmoud Samir Fayed
 
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 210Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 202Mahmoud Samir Fayed
 
The Ring programming language version 1.3 book - Part 8 of 88
The Ring programming language version 1.3 book - Part 8 of 88The Ring programming language version 1.3 book - Part 8 of 88
The Ring programming language version 1.3 book - Part 8 of 88Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
The Ring programming language version 1.9 book - Part 208 of 210
The Ring programming language version 1.9 book - Part 208 of 210The Ring programming language version 1.9 book - Part 208 of 210
The Ring programming language version 1.9 book - Part 208 of 210Mahmoud Samir Fayed
 
Heroku Postgres Cloud Database Webinar
Heroku Postgres Cloud Database WebinarHeroku Postgres Cloud Database Webinar
Heroku Postgres Cloud Database WebinarSalesforce Developers
 

What's hot (9)

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.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.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.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.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.3 book - Part 8 of 88
The Ring programming language version 1.3 book - Part 8 of 88The Ring programming language version 1.3 book - Part 8 of 88
The Ring programming language version 1.3 book - Part 8 of 88
 
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.9 book - Part 208 of 210
The Ring programming language version 1.9 book - Part 208 of 210The Ring programming language version 1.9 book - Part 208 of 210
The Ring programming language version 1.9 book - Part 208 of 210
 
Heroku Postgres Cloud Database Webinar
Heroku Postgres Cloud Database WebinarHeroku Postgres Cloud Database Webinar
Heroku Postgres Cloud Database Webinar
 

Similar to The Ring programming language version 1.4 book - Part 30 of 30

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 202Mahmoud Samir Fayed
 
The Ring programming language version 1.5.2 book - Part 179 of 181
The Ring programming language version 1.5.2 book - Part 179 of 181The Ring programming language version 1.5.2 book - Part 179 of 181
The Ring programming language version 1.5.2 book - Part 179 of 181Mahmoud Samir Fayed
 
The Ring programming language version 1.5.3 book - Part 191 of 194
The Ring programming language version 1.5.3 book - Part 191 of 194The Ring programming language version 1.5.3 book - Part 191 of 194
The Ring programming language version 1.5.3 book - Part 191 of 194Mahmoud Samir Fayed
 
The Ring programming language version 1.3 book - Part 88 of 88
The Ring programming language version 1.3 book - Part 88 of 88The Ring programming language version 1.3 book - Part 88 of 88
The Ring programming language version 1.3 book - Part 88 of 88Mahmoud Samir Fayed
 
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 185Mahmoud Samir Fayed
 
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 194Mahmoud Samir Fayed
 
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 181Mahmoud Samir Fayed
 
The Ring programming language version 1.6 book - Part 189 of 189
The Ring programming language version 1.6 book - Part 189 of 189The Ring programming language version 1.6 book - Part 189 of 189
The Ring programming language version 1.6 book - Part 189 of 189Mahmoud Samir Fayed
 
The Ring programming language version 1.6 book - Part 187 of 189
The Ring programming language version 1.6 book - Part 187 of 189The Ring programming language version 1.6 book - Part 187 of 189
The Ring programming language version 1.6 book - Part 187 of 189Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
The Ring programming language version 1.5.4 book - Part 182 of 185
The Ring programming language version 1.5.4 book - Part 182 of 185The Ring programming language version 1.5.4 book - Part 182 of 185
The Ring programming language version 1.5.4 book - Part 182 of 185Mahmoud Samir Fayed
 
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 194Mahmoud Samir Fayed
 
The Ring programming language version 1.5.1 book - Part 179 of 180
The Ring programming language version 1.5.1 book - Part 179 of 180 The Ring programming language version 1.5.1 book - Part 179 of 180
The Ring programming language version 1.5.1 book - Part 179 of 180 Mahmoud Samir Fayed
 
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 202Mahmoud Samir Fayed
 
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 181Mahmoud Samir Fayed
 
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 196Mahmoud Samir Fayed
 
The Ring programming language version 1.8 book - Part 201 of 202
The Ring programming language version 1.8 book - Part 201 of 202The Ring programming language version 1.8 book - Part 201 of 202
The Ring programming language version 1.8 book - Part 201 of 202Mahmoud Samir Fayed
 
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 210Mahmoud Samir Fayed
 
The Ring programming language version 1.5 book - Part 31 of 31
The Ring programming language version 1.5 book - Part 31 of 31The Ring programming language version 1.5 book - Part 31 of 31
The Ring programming language version 1.5 book - Part 31 of 31Mahmoud Samir Fayed
 
The Ring programming language version 1.9 book - Part 9 of 210
The Ring programming language version 1.9 book - Part 9 of 210The Ring programming language version 1.9 book - Part 9 of 210
The Ring programming language version 1.9 book - Part 9 of 210Mahmoud Samir Fayed
 

Similar to The Ring programming language version 1.4 book - Part 30 of 30 (20)

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 179 of 181
The Ring programming language version 1.5.2 book - Part 179 of 181The Ring programming language version 1.5.2 book - Part 179 of 181
The Ring programming language version 1.5.2 book - Part 179 of 181
 
The Ring programming language version 1.5.3 book - Part 191 of 194
The Ring programming language version 1.5.3 book - Part 191 of 194The Ring programming language version 1.5.3 book - Part 191 of 194
The Ring programming language version 1.5.3 book - Part 191 of 194
 
The Ring programming language version 1.3 book - Part 88 of 88
The Ring programming language version 1.3 book - Part 88 of 88The Ring programming language version 1.3 book - Part 88 of 88
The Ring programming language version 1.3 book - Part 88 of 88
 
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 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.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.6 book - Part 189 of 189
The Ring programming language version 1.6 book - Part 189 of 189The Ring programming language version 1.6 book - Part 189 of 189
The Ring programming language version 1.6 book - Part 189 of 189
 
The Ring programming language version 1.6 book - Part 187 of 189
The Ring programming language version 1.6 book - Part 187 of 189The Ring programming language version 1.6 book - Part 187 of 189
The Ring programming language version 1.6 book - Part 187 of 189
 
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.4 book - Part 182 of 185
The Ring programming language version 1.5.4 book - Part 182 of 185The Ring programming language version 1.5.4 book - Part 182 of 185
The Ring programming language version 1.5.4 book - Part 182 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.5.1 book - Part 179 of 180
The Ring programming language version 1.5.1 book - Part 179 of 180 The Ring programming language version 1.5.1 book - Part 179 of 180
The Ring programming language version 1.5.1 book - Part 179 of 180
 
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.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.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.8 book - Part 201 of 202
The Ring programming language version 1.8 book - Part 201 of 202The Ring programming language version 1.8 book - Part 201 of 202
The Ring programming language version 1.8 book - Part 201 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.5 book - Part 31 of 31
The Ring programming language version 1.5 book - Part 31 of 31The Ring programming language version 1.5 book - Part 31 of 31
The Ring programming language version 1.5 book - Part 31 of 31
 
The Ring programming language version 1.9 book - Part 9 of 210
The Ring programming language version 1.9 book - Part 9 of 210The Ring programming language version 1.9 book - Part 9 of 210
The Ring programming language version 1.9 book - Part 9 of 210
 

More from Mahmoud Samir Fayed

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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
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 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 189 of 212
The Ring programming language version 1.10 book - Part 189 of 212The Ring programming language version 1.10 book - Part 189 of 212
The Ring programming language version 1.10 book - Part 189 of 212Mahmoud 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 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
 
The Ring programming language version 1.10 book - Part 189 of 212
The Ring programming language version 1.10 book - Part 189 of 212The Ring programming language version 1.10 book - Part 189 of 212
The Ring programming language version 1.10 book - Part 189 of 212
 

Recently uploaded

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

The Ring programming language version 1.4 book - Part 30 of 30

  • 1. INDEX Access List Items by String Index Lists, 122 Access Objects Using Braces Object Oriented Programming, 197 Access String Letters Strings, 124 Accessing the class attributes from braces inside class methods Scope Rules, 545 Add Items Lists, 116 addattribute() Reflection and Meta-programming, 224 AddDays() Date and Time, 132 Adding code to the generated code Code Generator, 611 Adding Hyperlink to QLabel Desktop and Mobile Development, 452 addmethod() Reflection and Meta-programming, 224 Analog Clock Applications developed in little hours, 4 Animate Class Game Engine for 2D Games, 373 Animate Events Game Engine for 2D Games, 384 Animation Game Engine for 2D Games, 378 Animation and Functions Game Engine for 2D Games, 379 Anonymous and Nested Functions Functional Programming, 210 Application Class Web Development (CGI Library), 338 Applications How to contribute?, 69 Applications developed in little hours Analog Clock, 4 FetchStockData Application, 2 Fifteen Puzzle Game, 3 Fifteen Puzzle Game 2, 6 Introduction, 1 Quotes about Ring, 1 Samples in this book, 7 Squares Puzzle Game, 4 TicTacToe Game, 3 Werdy Application, 5 apppath() Stdlib Functions, 231 Arithmetic Operators Operators, 91 Ascii() Data Type, 139 Assert() Eval() and Debugging, 164 Assignment Operators Operators, 92 attributes() Reflection and Meta-programming, 221 Better Call Command What is new in Ring 1.2?, 51 Better Code Generator for Extensions What is new in Ring 1.1?, 61 Better Documentation What is new in Ring 1.1?, 61 Better Functions What is new in Ring 1.2?, 48 Better Loop|Exit Command What is new in Ring 1.3?, 42 Better Natural Language Programming Support What is new in Ring 1.1?, 53 Better Quality What is new in Ring 1.2?, 51 Better Ring Notepad What is new in Ring 1.2?, 48 What is new in Ring 1.3?, 38 Better RingQt What is new in Ring 1.2?, 48 What is new in Ring 1.3?, 34 What is new in Ring 1.4?, 32 Better StdLib What is new in Ring 1.3?, 42 What is new in Ring 1.4?, 30 848
  • 2. Ring Documentation, Release 1.4 Better WebLib What is new in Ring 1.4?, 30 binarydigits() Stdlib Functions, 240 Bitwise Operators Operators, 91 BraceError() Method Natural Language Programming, 281 BraceExprEval Method Natural Language Programming, 280 BraceStart and BraceEnd Methods Natural Language Programming, 279 Branching Control Structures, 94 Control Structures - Second Style, 101 Control Structures - Third Style, 104 Building From Source Code Building using CMake, 67 Building using MacOS X, 65 Building using Microsoft Windows, 63 Building using Ubuntu Linux, 64 Introduction, 62 Building Games For Android Building the project, 420 Download Requirements and Update the Android SDK, 419 Introduction, 418 Project Folder, 419 Building RingQt Applications for Mobile Comments about developing for Android using RingQt, 524 Download Requirements, 523 Install Qt for Android, 523 Introduction, 522 Update the Android SDK, 523 Building the project Building Games For Android, 420 Building using CMake Building From Source Code, 67 Building using MacOS X Building From Source Code, 65 Building using Microsoft Windows Building From Source Code, 63 Building using Ubuntu Linux Building From Source Code, 64 Call Functions Functions, 111 callgc() Low Level Functions, 584 Calling a function sharing the name with a method in the current class Scope Rules for Functions and Methods, 556 Can I connect to dbase/harbour database? Frequently Asked Questions, 827 Can Ring work on Windows XP? Frequently Asked Questions, 829 capitalized() Stdlib Functions, 234 cfunctions() Reflection and Meta-programming, 214 CGI Support Command Line Options, 582 Change Focus Desktop and Mobile Development, 487 Change Language Keywords Syntax Flexibility, 558 Change Language Operators Syntax Flexibility, 559 Change the ’=’ operator to ’is’ Natural Language Programming, 277 Change the Ring Keyword ’And’ Natural Language Programming, 275 Change the Ring Operator ’+’ Natural Language Programming, 276 Change: Basic Extensions are separated from RingVM What is new in Ring 1.4?, 25 changestring() Stdlib Functions, 242 Char() Data Type, 139 ChDir() Function System Functions, 161 Check Character Data Type, 134 Check Data Type Data Type, 133 Check Parameters Count Extension, 598 Check Parameters Type Extension, 599 Classes and Objects Object Oriented Programming, 195 Classes and their Methods to use the default events Desktop and Mobile Development, 517 classes() Reflection and Meta-programming, 218 classname() Reflection and Meta-programming, 220 Clean Natural Code Natural Language Programming, 282 Clearerr() Files, 151 clock() Date and Time, 130 Close Window Event RingLibSDL, 365 ClosPerSecond() Index 849
  • 3. Ring Documentation, Release 1.4 Date and Time, 130 Code Generator Adding code to the generated code, 611 Comments in configuration file, 613 Configuration file, 609 Configuration file for the Allegro library, 614 Configuration Files Examples, 627 Defining Constants, 612 Determine Structure Members Types, 612 Enum and Numbers, 613 Executing code during code generation, 613 Filtering using Expressions, 613 function prototype, 609 Introduction, 608 Prefix for Functions Names, 611 Qt configuration file, 617 Register New Functions, 612 Threads Support, 615 Using configuration file that wrap C++ library, 617 Using the tool, 609 Wrap structures, 611 Wrapping C++ Classes, 616 CodeEditor Class RingQt Classes Reference, 781 Command Line Options CGI Support, 582 Generate Object File, 583 Introduction, 568 No Run, 582 Performance, 582 Printing Final Intermediate Code, 577 Printing Instruction Operation Code, 582 Printing Intermediate Code, 575 Printing Rules, 571 Printing Tokens, 569 Comments about developing for Android using RingQt Building RingQt Applications for Mobile, 524 Comments about evaluation Control Structures - First Style, 99 Comments in configuration file Code Generator, 613 Compact Syntax Language Design, 20 Compiler and Virtual Machine (VM) How to contribute?, 69 Compiler Errors Reference, 836 Composition Object Oriented Programming, 198 Configuration file Code Generator, 609 Configuration file for the Allegro library Code Generator, 614 Configuration Files Examples Code Generator, 627 Configure the Apache web server Web Development (CGI Library), 291 Conflict between Class Attributes and Local Variables Scope Rules, 542 Conflict between Global Variables and Class Attributes Frequently Asked Questions, 815 Scope Rules, 541 Conflict between self inside braces and self in the class region Scope Rules, 548 Constructor methods in Ring Frequently Asked Questions, 811 Contact the Autor Resources, 847 Control Structures Branching, 94 Looping, 105 Control Structures - First Style Comments about evaluation, 99 Do Again Loop, 97 Exit, 97 Exit from two loops, 97 Exit/Loop inside sub functions, 98 For In Loop, 96 for in to modify lists, 96 For Loop, 95 Introduction, 93 Loop Command, 98 Looping, 95 Short-circuit evaluation, 98 Step Option, 96 Switch Statement, 94 While Loop, 95 Control Structures - Second Style Branching, 101 Exceptions, 103 For In Loop, 103 For Loop, 102 If Statement, 101 Introduction, 100 Looping, 102 Switch Statement, 101 Control Structures - Third Style Branching, 104 Exceptions, 107 For In Loop, 107 For Loop, 106 If Statement, 104 Introduction, 103 Switch Statement, 104 While Loop, 105 Conversion Data Type, 138 Index 850
  • 4. Ring Documentation, Release 1.4 Conversion Class Stdlib Classes, 262 Convert between Numbers and Bytes What is new in Ring 1.4?, 29 Convert Letters Case Strings, 124 Cookies Web Development (CGI Library), 303 Copy Lists Lists, 120 Copy() Strings, 126 Could you explain the output of the StrCmp() function? Frequently Asked Questions, 818 Create Database MySQL Functions, 179 Create Lists Lists, 116 Create Table and Insert Data MySQL Functions, 180 Create Window RingLibSDL, 362 Create Zip File RingZip, 346 Creating a Class for each Window in GUI applications Scope Rules, 547 Creating Menubar Desktop and Mobile Development, 432 Creating more than one window Desktop and Mobile Development, 470 Creating StatusBar Desktop and Mobile Development, 436 Creating the Game Window Game Engine for 2D Games, 373 Creating Toolbar Desktop and Mobile Development, 435 Creating Windows Installer Distributing Ring Application, 567 CRUD Example using MVC Web Development (CGI Library), 324 CurrentDir() Function System Functions, 160 Data Type Ascii(), 139 Char(), 139 Check Character, 134 Check Data Type, 133 Conversion, 138 Dec(), 139 Hex(), 139 Hex2str(), 140 Introduction, 132 IsAlNum(), 135 IsAlpha(), 135 IsCntrl(), 135 IsDigit(), 136 IsGraph(), 136 IsList(), 134 IsLower(), 136 IsNULL(), 134 IsNumber(), 133 IsPrint(), 136 IsPunct(), 137 IsSpace(), 137 IsString(), 133 IsUpper(), 137 IsXdigit(), 137 Number(), 138 Str2Hex(), 140 String(), 138 Type(), 134 Database, ModelBase & ControllerBase classes Web Development (CGI Library), 332 DataType Class Stdlib Classes, 261 Date and Time AddDays(), 132 clock(), 130 ClosPerSecond(), 130 Date(), 130 DiffDays(), 132 Introduction, 129 Time(), 130 TimeList(), 131 Date() Date and Time, 130 DateTime Class Stdlib Classes, 256 dayofweek() Stdlib Functions, 241 Debug Class Stdlib Classes, 260 Dec() Data Type, 139 Decimals() Mathematical Functions, 144 Declarative Programming Declarative programming on the top of Object- Oriented, 271 executing code after the end of object access, 271 Introduction, 267 More Beatiful Code, 272 Objects inside lists, 268 Return object by reference, 269 Declarative programming on the top of Object-Oriented Declarative Programming, 271 Declare parameters Index 851
  • 5. Ring Documentation, Release 1.4 Functions, 112 Decrypt() Security and Internet Functions, 193 Deep Copy Variables, 89 Define Declarative Languages Language Design, 23 Define Functions Functions, 111 Define Natural Statements Language Design, 21 Defining Commands Using the Natural Library, 286 Defining commands using classes Using the Natural Library, 289 Defining Constants Code Generator, 612 Defining Variables and Variables Access Scope Rules, 539 Delete Item From List Lists, 117 Demo Programs Introduction, 164 Language Shell, 165 Main Menu, 165 The Cards Game, 511 Designed for a clear goal Language Design, 16 Desktop and Mobile Development Adding Hyperlink to QLabel, 452 Change Focus, 487 Classes and their Methods to use the default events, 517 Creating Menubar, 432 Creating more than one window, 470 Creating StatusBar, 436 Creating Toolbar, 435 Dialog Functions, 477 Display Image using QLabel, 456 Display Scaled Image using QLabel, 465 Drawing using QPainter, 467 Dynamic Objects, 491 Inheritance from GUI Classes, 483 KeyPress and Mouse Move Events, 477 Menubar and StyleSheet Example, 457 Methods to use Events with Events Filter, 520 Movable Label Example, 473 Moving Objects using the Mouse, 479 New Classes names - Index Start from 1, 522 Notepad Application, 496 Other Widgets Events, 461 Playing Sound, 471 Printing using QPrinter, 469 QLineEdit Events and QMessageBox, 459 QMessagebox Example, 474 QVideoWidget and QMediaPlayer, 453 Regular Expressions, 488 RingQt Classes and their Qt Documentation, 522 Rotate Text, 485 Simple Client and Server Example, 489 The Cards Game, 511 The Difference between Qt and RingQt, 521 The First GUI Application, 422 Using Layout, 423 Using QCheckBox, 449 Using QComboBox Class, 431 Using QDateEdit, 444 Using QDesktopWidget Class, 484 Using QDial, 445 Using QDockWidget, 437 Using QFrame, 454 Using QInputDialog Class, 475 Using qLCDNumber, 472 Using QProgressBar, 441 Using QProgressBar and Timer, 464 Using QRadioButton and QButtonGroup, 450 Using QSlider, 442 Using QSpinBox, 442 Using QTableWidget, 440 Using QTabWidget, 438 Using QTreeView and QFileSystemModel, 429 Using QTreeWidget and QTreeWidgetItem, 430 Using QWebView, 448 Using the QColorDialog Class, 471 Using the QFileDialog Class, 466 Using the QListWidget Class, 426 Using the QTextEdit Class, 425 Using the QTimer Class, 463 Weight History Application, 492 Determine Structure Members Types Code Generator, 612 Dialog Functions Desktop and Mobile Development, 477 DiffDays() Date and Time, 132 Dir() Files, 147 direxists() Stdlib Functions, 243 Display Error Message Extension, 599 Display Image RingLibSDL, 362 Display Image using QLabel Desktop and Mobile Development, 456 Display PNG Images RingLibSDL, 363 Display Scaled Image using QLabel Index 852
  • 6. Ring Documentation, Release 1.4 Desktop and Mobile Development, 465 Display Transparent Images RingLibSDL, 364 Display Warnings Option What is new in Ring 1.2?, 51 Distributing Applications and Games for Mobile Distributing Ring Application, 568 Distributing Applications for Microsoft Windows Distributing Ring Application, 567 Distributing Ring Application Creating Windows Installer, 567 Distributing Applications and Games for Mobile, 568 Distributing Applications for Microsoft Windows, 567 Introduction, 566 Protecting the Source Code, 567 Using C/C++ Compiler and Linker, 568 Do Again Loop Control Structures - First Style, 97 Documentation How to contribute?, 68 Download Requirements Building RingQt Applications for Mobile, 523 Download Requirements and Update the Android SDK Building Games For Android, 419 Download() Security and Internet Functions, 194 Draw Rectangle RingLibSDL, 363 Drawing Text Game Engine for 2D Games, 374 Drawing using QPainter Desktop and Mobile Development, 467 Drawing, Animation and Input Graphics and Game Programming, 349 Dynamic Attributes Object Oriented Programming, 202 Dynamic Objects Desktop and Mobile Development, 491 Dynamic Typing Variables, 89 Editors Support How to contribute?, 69 Embedding Ring in Ring Embedding Ring in Ring without sharing the State, 594 Introduction, 593 Serial Execution of Programs, 594 Embedding Ring in Ring without sharing the State Embedding Ring in Ring, 594 What is new in Ring 1.3?, 44 Embedding Ring Language in C/C++ Programs Introduction, 605 Ring State, 606 Ring State Functions, 606 Ring State Variables, 607 Encourage Organization Language Design, 18 Encrypt() Security and Internet Functions, 192 endswith() Stdlib Functions, 237 Entering Items Form Designer, 537 Enum and Numbers Code Generator, 613 Equality of functions Functional Programming, 211 Eval() Eval() and Debugging, 162 Eval() and Debugging Assert(), 164 Eval(), 162 Introduction, 161 Raise(), 163 Try/Carch/Done, 162 evenorodd() Stdlib Functions, 238 Events Code Form Designer, 533 Example Files, 153 Mathematical Functions, 141 Natural Language Programming, 274 Objects Library for RingQt Application, 526 Security and Internet Functions, 193 System Functions, 158 Example about Sharing Names between Functions and Methods Scope Rules for Functions and Methods, 554 Exceptions Control Structures - Second Style, 103 Control Structures - Third Style, 107 Execute Query and Print Result ODBC Functions, 173 executing code after the end of object access Declarative Programming, 271 Executing code during code generation Code Generator, 613 ExeFileName() Function System Functions, 161 ExeFolder() Function System Functions, 161 Exit Control Structures - First Style, 97 Exit from two loops Index 853
  • 7. Ring Documentation, Release 1.4 Control Structures - First Style, 97 Exit/Loop inside sub functions Control Structures - First Style, 98 Extension Check Parameters Count, 598 Check Parameters Type, 599 Display Error Message, 599 Fopen() and Fclose() Implementation, 600 Function Prototype, 600 Function Structure, 598 Get Parameters Values, 599 Introduction, 595 Module Organization, 597 MySQL_Columns() Implementation, 603 Return Value, 599 RING API - list Functions, 601 RING API - String Functions, 603 ring_ext.c, 596 ring_ext.h, 596 Shared Libraries, 604 Sin() Implementation, 600 Extensions in C/C++ How to contribute?, 69 Extract Zip File RingZip, 346 Facebook Login RingLibCurl, 343 factorial() Stdlib Functions, 235 factors() Stdlib Functions, 239 Fclose() Files, 148 Features Introduction, 12 Feof() Files, 151 Ferror() Files, 151 FetchStockData Application Applications developed in little hours, 2 Fexists() Files, 153 Fflush() Files, 149 Fgetc() Files, 152 Fgetpos() Files, 151 Fgets() Files, 152 fibonacci() Stdlib Functions, 235 Fifteen Puzzle Game Applications developed in little hours, 3 Fifteen Puzzle Game 2 Applications developed in little hours, 6 File Class Stdlib Classes, 258 File Hash Security and Internet Functions, 193 file2list() Stdlib Functions, 236 Files Clearerr(), 151 Dir(), 147 Example, 153 Fclose(), 148 Feof(), 151 Ferror(), 151 Fexists(), 153 Fflush(), 149 Fgetc(), 152 Fgetpos(), 151 Fgets(), 152 Fopen(), 148 Fputc(), 152 Fputs(), 152 Fread(), 153 Freopen(), 149 Fseek(), 150 Fsetpos(), 151 Ftell(), 150 Fwrite(), 153 Introduction, 145 Numbers and Bytes, 155 Perror(), 151 Read File using Read(), 147 Remove(), 148 Rename(), 148 Rewind(), 150 Tempfile(), 150 Tempname(), 150 Ungetc(), 152 Write file using Write(), 147 filter() Stdlib Functions, 232 Filtering using Expressions Code Generator, 613 Find SubString Strings, 127 Find() and List of Objects Object Oriented Programming, 203 First-Class Functions Functional Programming, 209 First-Class Lists Lists, 121 Index 854
  • 8. Ring Documentation, Release 1.4 Flappy Bird 3000 Game Game Engine for 2D Games, 400 Fopen() Files, 148 Fopen() and Fclose() Implementation Extension, 600 For In Loop Control Structures - First Style, 96 Control Structures - Second Style, 103 Control Structures - Third Style, 107 for in to modify lists Control Structures - First Style, 96 For Loop Control Structures - First Style, 95 Control Structures - Second Style, 102 Control Structures - Third Style, 106 Form Designer Entering Items, 537 Events Code, 533 Introduction, 530 Keyboard Shortcuts, 536 Menubar Designer, 536 More Samples and Tests, 538 Running Forms, 533 The Designer Windows, 532 The Properties, 532 Using Layouts, 538 What is new in Ring 1.3?, 45 Window Flags, 537 Fputc() Files, 152 Fputs() Files, 152 Fread() Files, 153 Freopen() Files, 149 Frequently Asked Questions Can I connect to dbase/harbour database?, 827 Can Ring work on Windows XP?, 829 Conflict between Global Variables and Class At- tributes, 815 Constructor methods in Ring, 811 Could you explain the output of the StrCmp() func- tion?, 818 Getter and Setter Methods, 813 Goal of including the Main function in Ring, 810 How can I disable maximize button and resize win- dow?, 825 How to add Combobox and other elements to the cells of a QTableWidget?, 832 How to Close a window then displaying another one?, 824 How to create a Modal Window?, 824 How to create an array of buttons in GUI applica- tions?, 823 How to extend RingQt and add more classes?, 829 How to get the current source file path?, 816 How to get the file size using ftell() and fseek() func- tions?, 816 How to insert an item to the first position in the list?, 821 How to perform some manipulations on selected cells in QTableWidget?, 832 How to print keys or values only in List/Dictionary?, 817 How to print lists that contains objects?, 821 How to print new lines and other characters?, 822 How to use many source code files in the project?, 818 How to use NULL and ISNULL() function?, 820 How to use SQLite using ODBC?, 826 Introduction, 802 Is Ring some sort of improvement over PHP?, 805 List index start from 1, 811 Philosophy behind data types in Ring, 808 Search of global names while defining the class at- tributes, 814 The documentation says functional programming is supported, but then this happens?, 807 What about predefined parameters or optional pa- rameters in functions?, 816 What about the Boolean values in Ring?, 809 What are the advantages to using Ring over C# or Java?, 807 What are the advantages to using Ring over Lisp or Smalltalk?, 804 What are the advantages to using Ring over native C or C++?, 805 What are the advantages to using Ring over Python and Ruby?, 806 What are the advantages to using Ring over Tcl and Lua?, 807 What happens when we create a new object?, 812 What is the difference between Ring and Python? And is Ring Open Source?, 805 Where can I write a program and execute it?, 815 Why do we need Yet Another Programming Lan- guage (YAPL)?, 803 Why I get a strange result when printing nl with lists?, 817 Why I get Calling Function without definition Er- ror?, 828 Why Ring is largely focussed on UI creation?, 805 Why Ring is weakly typed?, 804 Why Ring uses ’See’, ’Give’, ’But’ and ’Ok’ Key- words?, 808 Why setClickEvent() doesn’t see the object methods Index 855
  • 9. Ring Documentation, Release 1.4 directly?, 828 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?, 808 Why the window title bar is going outside the screen?, 822 Why this example use the GetChar() twice?, 819 Why we don’t use () after the qApp class name?, 822 Why you can specify the number of loops you want to break out of?, 808 Fseek() Files, 150 Fsetpos() Files, 151 FSize() Stdlib Functions, 244 Ftell() Files, 150 Function Prototype Extension, 600 function prototype Code Generator, 609 Function Structure Extension, 598 Functional Programming Anonymous and Nested Functions, 210 Equality of functions, 211 First-Class Functions, 209 Higher-order Functions, 209 Introduction, 207 Pure Functions, 208 Functions Call Functions, 111 Declare parameters, 112 Define Functions, 111 Introduction, 110 Main Function, 112 Recursion, 114 Return Value, 113 Send Parameters, 112 Variables Scope, 113 functions() Reflection and Meta-programming, 214 Fwrite() Files, 153 Game Class Game Engine for 2D Games, 371 Game Engine Classes Game Engine for 2D Games, 370 Game Engine for 2D Games Animate Class, 373 Animate Events, 384 Animation, 378 Animation and Functions, 379 Creating the Game Window, 373 Drawing Text, 374 Flappy Bird 3000 Game, 400 Game Class, 371 Game Engine Classes, 370 GameObject Class, 371 Games Layer, 370 Graphics Library Bindings, 369 Interface to graphics library, 369 Introduction, 368 Map, 386 Map Class, 373 Map Events, 387 Moving Text, 375 Object and Drawing, 389 Playing Sound, 377 Project Layers, 369 Sound Class, 373 Sprite Automatic Movement, 380 Sprite Class, 372 Sprite Keypress Event, 381 Sprite Mouse Event, 382 Sprite State Event, 383 Stars Fighter Game, 392 Super Man 2016 Game, 407 Text Class, 372 What is new in Ring 1.1?, 59 GameObject Class Game Engine for 2D Games, 371 Games Layer Game Engine for 2D Games, 370 gcd() Stdlib Functions, 237 Generate Object File Command Line Options, 583 Generate/Execute Ring Object Files (*.ringo) What is new in Ring 1.1?, 54 Generating Pages using Objects Web Development (CGI Library), 315 Get Active Source File Name System Functions, 160 Get Command Line Arguments System Functions, 159 Get List Item Lists, 117 Get List Size Lists, 117 Get Number of Characters from position Strings, 127 Get Parameters Values Extension, 599 Get Request RingLibCurl, 343 Index 856
  • 10. Ring Documentation, Release 1.4 Get String Length Strings, 124 Get Substring from position to end Strings, 127 getattribute() Reflection and Meta-programming, 226 GetChar() Getting Input, 109 getnumber() Stdlib Functions, 230 getstring() Stdlib Functions, 230 Getter and Setter Methods Frequently Asked Questions, 813 Getting Input GetChar(), 109 Getting Started - First Style, 71 Getting Started - Second Style, 73 Getting Started - Third Style, 75 Give Command, 109 Input(), 110 Introduction, 108 Getting Started - First Style Getting Input, 71 Hello World, 70 Introduction, 69 Multi-Line literals, 70 No Explicit End For Statements, 71 Not Case-Sensitive, 70 Run the program, 70 Writing Comments, 71 Getting Started - Second Style Getting Input, 73 Hello World, 72 Introduction, 71 Multi-Line literals, 72 No Explicit End For Statements, 73 Not Case-Sensitive, 72 Run the program, 72 Writing Comments, 73 Getting Started - Third Style Getting Input, 75 Hello World, 74 Introduction, 73 Multi-Line literals, 74 No Explicit End For Statements, 75 Not Case-Sensitive, 74 Run the program, 74 Writing Comments, 75 Give Command Getting Input, 109 globals() Reflection and Meta-programming, 213 Goal of including the Main function in Ring Frequently Asked Questions, 810 Gradient Web Development (CGI Library), 314 Graphics and Game Programming Drawing, Animation and Input, 349 Introduction, 348 Playing Sound, 356 Scaling and Rotating Images, 357 Threads, 359 Transparent Image, 358 TrueType Fonts, 355 Graphics Library Bindings Game Engine for 2D Games, 369 Hash Functions Web Development (CGI Library), 309 HashTable Class Stdlib Classes, 251 Hello World Getting Started - First Style, 70 Getting Started - Second Style, 72 Getting Started - Third Style, 74 Hello World Program using the Web Library Web Development (CGI Library), 292 Hex() Data Type, 139 Hex2str() Data Type, 140 Higher-order Functions Functional Programming, 209 History Introduction, 12 Natural Language Programming, 274 How can I disable maximize button and resize window? Frequently Asked Questions, 825 How Ring find a functions and methods? Scope Rules for Functions and Methods, 554 How Ring find the Variable? Scope Rules, 540 How to add Combobox and other elements to the cells of a QTableWidget? Frequently Asked Questions, 832 How to Close a window then displaying another one? Frequently Asked Questions, 824 How to contribute? Applications, 69 Compiler and Virtual Machine (VM), 69 Documentation, 68 Editors Support, 69 Extensions in C/C++, 69 Ideas and suggestions, 69 Introduction, 67 Libraries in Ring, 69 Samples, 68 Index 857
  • 11. Ring Documentation, Release 1.4 Special thanks to contributors, 68 Testing, 68 How to create a Modal Window? Frequently Asked Questions, 824 How to create an array of buttons in GUI applications? Frequently Asked Questions, 823 How to extend RingQt and add more classes? Frequently Asked Questions, 829 How to get the current source file path? Frequently Asked Questions, 816 How to get the file size using ftell() and fseek() functions? Frequently Asked Questions, 816 How to insert an item to the first position in the list? Frequently Asked Questions, 821 How to perform some manipulations on selected cells in QTableWidget? Frequently Asked Questions, 832 How to print keys or values only in List/Dictionary? Frequently Asked Questions, 817 How to print lists that contains objects? Frequently Asked Questions, 821 How to print new lines and other characters? Frequently Asked Questions, 822 How to use many source code files in the project? Frequently Asked Questions, 818 How to use NULL and ISNULL() function? Frequently Asked Questions, 820 How to use SQLite using ODBC? Frequently Asked Questions, 826 HTML Lists Web Development (CGI Library), 312 HTML Special Characters Web Development (CGI Library), 308 HTML Tables Web Development (CGI Library), 313 HTTP Get Example Web Development (CGI Library), 293 HTTP POST Example Web Development (CGI Library), 298 Ideas and suggestions How to contribute?, 69 If Statement Control Structures - Second Style, 101 Control Structures - Third Style, 104 Inheritance Object Oriented Programming, 201 Inheritance from GUI Classes Desktop and Mobile Development, 483 Input() Getting Input, 110 Insert() Lists, 120 Install Qt for Android Building RingQt Applications for Mobile, 523 Interface to graphics library Game Engine for 2D Games, 369 Internet Class Stdlib Classes, 267 Introduction Features, 12 History, 12 Introduction, 10 Motivation, 11 Is Ring some sort of improvement over PHP? Frequently Asked Questions, 805 IsAlNum() Data Type, 135 IsAlpha() Data Type, 135 IsAndroid() Function System Functions, 158 isattribute() Reflection and Meta-programming, 222 iscfunction() Reflection and Meta-programming, 216 isclass() Reflection and Meta-programming, 218 IsCntrl() Data Type, 135 IsDigit() Data Type, 136 IsFreeBSD() Function System Functions, 158 isfunction() Reflection and Meta-programming, 216 isglobal() Reflection and Meta-programming, 215 IsGraph() Data Type, 136 isleapyear() Stdlib Functions, 239 IsLinux() Function System Functions, 158 IsList() Data Type, 134 islocal() Reflection and Meta-programming, 215 IsLower() Data Type, 136 IsMacOSX() Function System Functions, 157 ismainsourcefile() Stdlib Functions, 243 ismethod() Reflection and Meta-programming, 223 IsMSDOS() Function System Functions, 157 Index 858
  • 12. Ring Documentation, Release 1.4 IsNULL() Data Type, 134 IsNumber() Data Type, 133 isobject() Reflection and Meta-programming, 221 ispackage() Reflection and Meta-programming, 217 ispackagesclass() Reflection and Meta-programming, 220 isprime() Stdlib Functions, 235 IsPrint() Data Type, 136 isprivateattribute() Reflection and Meta-programming, 222 isprivatemethod() Reflection and Meta-programming, 223 IsPunct() Data Type, 137 IsSpace() Data Type, 137 isspecial() Stdlib Functions, 234 IsString() Data Type, 133 IsUnix() Function System Functions, 157 IsUpper() Data Type, 137 isvowel() Stdlib Functions, 234 IsWindows() Function System Functions, 157 IsWindows64() Function System Functions, 157 IsXdigit() Data Type, 137 JustFileName() Stdlib Functions, 231 JustFilePath() Stdlib Functions, 231 Keyboard Shortcuts Form Designer, 536 KeyPress and Mouse Move Events Desktop and Mobile Development, 477 Language Design Compact Syntax, 20 Define Declarative Languages, 23 Define Natural Statements, 21 Designed for a clear goal, 16 Encourage Organization, 18 Introduction, 15 Simple, 16 Smart Garbage Collector, 24 Transparent Implementation, 18 Trying to be natural, 17 Visual Implementation, 19 Why Ring?, 16 Language Functions Reference, 835 Language Grammar Reference, 838 Language Keywords Reference, 834 Language Shell Demo Programs, 165 lcm() Stdlib Functions, 238 Left() Strings, 125 Libraries in Ring How to contribute?, 69 Library Usage Objects Library for RingQt Application, 526 linecount() Stdlib Functions, 235 Lines() Strings, 126 List Class Stdlib Classes, 248 List index start from 1 Frequently Asked Questions, 811 List of changes and new features What is new in Ring 1.1?, 53 What is new in Ring 1.2?, 47 What is new in Ring 1.3?, 34 What is new in Ring 1.4?, 25 list of functions Mathematical Functions, 141 list2file() Stdlib Functions, 236 Lists Access List Items by String Index, 122 Add Items, 116 Copy Lists, 120 Create Lists, 116 Delete Item From List, 117 First-Class Lists, 121 Get List Item, 117 Get List Size, 117 Insert(), 120 Introduction, 115 Nested Lists, 120 Passing Lists to Functions, 121 Passing Parameters Using List, 122 Index 859
  • 13. Ring Documentation, Release 1.4 Reverse(), 119 Search, 118 Set List Item, 117 Sort(), 118 Swap Items, 123 Using Lists during definition, 121 Load Syntax Files Syntax Flexibility, 559 locals() Reflection and Meta-programming, 213 Logical Operators Operators, 91 Loop Command Control Structures - First Style, 98 Looping Control Structures, 105 Control Structures - First Style, 95 Control Structures - Second Style, 102 Low Level Functions callgc(), 584 Introduction, 583 nullpointer(), 586 object2pointer(), 586 pointer2object(), 586 ptrcmp(), 587 RingVM_CallList(), 592 RingVM_CFunctionsList(), 587 RingVM_ClassesList(), 588 RingVM_FilesList(), 593 RingVM_FunctionsList(), 588 RingVM_MemoryList(), 590 RingVM_PackagesList(), 589 space(), 585 varptr(), 585 Main Function Functions, 112 Main Menu Demo Programs, 165 makedir() Stdlib Functions, 243 Map Game Engine for 2D Games, 386 Map Class Game Engine for 2D Games, 373 Map Events Game Engine for 2D Games, 387 map() Stdlib Functions, 232 Math Class Stdlib Classes, 253 Mathematical Functions Decimals(), 144 Example, 141 Introduction, 140 list of functions, 141 Random(), 143 Unsigned(), 144 matrixmulti() Stdlib Functions, 240 matrixtrans() Stdlib Functions, 240 MD5() Security and Internet Functions, 190 Menubar and StyleSheet Example Desktop and Mobile Development, 457 Menubar Designer Form Designer, 536 mergemethods() Reflection and Meta-programming, 228 Methods to use Events with Events Filter Desktop and Mobile Development, 520 methods() Reflection and Meta-programming, 221 Misc Operators Operators, 92 Module Organization Extension, 597 More Beatiful Code Declarative Programming, 272 More Samples and Tests Form Designer, 538 Motivation Introduction, 11 Mouse Events RingLibSDL, 366 Movable Label Example Desktop and Mobile Development, 473 Moving Objects using the Mouse Desktop and Mobile Development, 479 Moving Text Game Engine for 2D Games, 375 Multi-Line literals Getting Started - First Style, 70 Getting Started - Second Style, 72 Getting Started - Third Style, 74 MySQL Class Stdlib Classes, 264 MySQL Functions Create Database, 179 Create Table and Insert Data, 180 Introduction, 177 MySQL_AutoCommit(), 185 MySQL_Close(), 179 MySQL_Columns(), 182 MySQL_Commit(), 185 MySQL_Connect(), 179 MySQL_Error(), 179 Index 860
  • 14. Ring Documentation, Release 1.4 MySQL_Escape_String(), 184 MySQL_Info(), 178 MySQL_Init(), 179 MySQL_Inser_ID(), 181 MySQL_Next_Result(), 182 MySQL_Query(), 179 MySQL_Result(), 182 MySQL_Result2(), 183 MySQL_Rollback(), 185 Print Query Result, 182 Restore Image From The Database, 184 Save Image Inside the Database, 184 Transaction Example, 185 MySQL_AutoCommit() MySQL Functions, 185 MySQL_Close() MySQL Functions, 179 MySQL_Columns() MySQL Functions, 182 MySQL_Columns() Implementation Extension, 603 MySQL_Commit() MySQL Functions, 185 MySQL_Connect() MySQL Functions, 179 MySQL_Error() MySQL Functions, 179 MySQL_Escape_String() MySQL Functions, 184 MySQL_Info() MySQL Functions, 178 MySQL_Init() MySQL Functions, 179 MySQL_Inser_ID() MySQL Functions, 181 MySQL_Next_Result() MySQL Functions, 182 MySQL_Query() MySQL Functions, 179 MySQL_Result() MySQL Functions, 182 MySQL_Result2() MySQL Functions, 183 MySQL_Rollback() MySQL Functions, 185 Natural Language Programming BraceError() Method, 281 BraceExprEval Method, 280 BraceStart and BraceEnd Methods, 279 Change the ’=’ operator to ’is’, 277 Change the Ring Keyword ’And’, 275 Change the Ring Operator ’+’, 276 Clean Natural Code, 282 Example, 274 History, 274 Introduction, 273 Real Natual Code, 280 Using Eval() with our Natural Code, 278 Natural Library - Demo Program Using the Natural Library, 284 Nested Lists Lists, 120 New Classes names - Index Start from 1 Desktop and Mobile Development, 522 New Functions What is new in Ring 1.2?, 47 What is new in Ring 1.3?, 43 New Functions and Changes What is new in Ring 1.1?, 56 New Style to Ring Notepad What is new in Ring 1.4?, 28 newlist() Stdlib Functions, 233 No Explicit End For Statements Getting Started - First Style, 71 Getting Started - Second Style, 73 Getting Started - Third Style, 75 No Run Command Line Options, 582 Not Case-Sensitive Getting Started - First Style, 70 Getting Started - Second Style, 72 Getting Started - Third Style, 74 Notepad Application Desktop and Mobile Development, 496 nullpointer() Low Level Functions, 586 Number() Data Type, 138 Numbers and Bytes Files, 155 Object and Drawing Game Engine for 2D Games, 389 Object Library Source Code Objects Library for RingQt Application, 530 Object Oriented Programming Access Objects Using Braces, 197 Classes and Objects, 195 Composition, 198 Dynamic Attributes, 202 Find() and List of Objects, 203 Inheritance, 201 Introduction, 194 Operator Overloading, 200 Packages, 202 Printing Objects, 203 Index 861
  • 15. Ring Documentation, Release 1.4 Private Attributes and Methods, 199 Setter and Getter, 199 Sort() and List of Objects, 204 Using Self.Attribute, 206 object2pointer() Low Level Functions, 586 objectid() Reflection and Meta-programming, 220 Objects inside lists Declarative Programming, 268 Objects Library for RingQt What is new in Ring 1.2?, 49 Objects Library for RingQt Application Example, 526 Introduction, 525 Library Usage, 526 Object Library Source Code, 530 Open_WindowAndLink() Function, 530 ODBC Class Stdlib Classes, 263 ODBC Functions Execute Query and Print Result, 173 Introduction, 168 odbc_autocommit(), 175 odbc_close(), 170 odbc_colcount(), 172 odbc_columns(), 174 odbc_commit(), 175 odbc_connect(), 171 odbc_datasources(), 170 odbc_disconnect(), 172 odbc_drivers(), 169 odbc_execute(), 172 odbc_fetch(), 173 odbc_getdata(), 173 odbc_init(), 169 odbc_rollback(), 175 odbc_tables(), 173 Open and Close Connection, 172 Print List of ODBC Data Sources, 171 Print List of ODBC Drivers, 170 Save and Restore Images, 176 Transactions and Using Commit and Rollback, 175 odbc_autocommit() ODBC Functions, 175 odbc_close() ODBC Functions, 170 odbc_colcount() ODBC Functions, 172 odbc_columns() ODBC Functions, 174 odbc_commit() ODBC Functions, 175 odbc_connect() ODBC Functions, 171 odbc_datasources() ODBC Functions, 170 odbc_disconnect() ODBC Functions, 172 odbc_drivers() ODBC Functions, 169 odbc_execute() ODBC Functions, 172 odbc_fetch() ODBC Functions, 173 odbc_getdata() ODBC Functions, 173 odbc_init() ODBC Functions, 169 odbc_rollback() ODBC Functions, 175 odbc_tables() ODBC Functions, 173 Open and Close Connection ODBC Functions, 172 Open_WindowAndLink() Function Objects Library for RingQt Application, 530 Operator Overloading Object Oriented Programming, 200 Operators Arithmetic Operators, 91 Assignment Operators, 92 Bitwise Operators, 91 Introduction, 90 Logical Operators, 91 Misc Operators, 92 Operators Precedence, 92 Relational Operators, 91 Using the Natural Library, 288 Operators Precedence Operators, 92 Other Widgets Events Desktop and Mobile Development, 461 packagename() Reflection and Meta-programming, 229 Packages Object Oriented Programming, 202 packages() Reflection and Meta-programming, 217 packagesclasses() Reflection and Meta-programming, 219 Page Class Web Development (CGI Library), 339 palindrome() Stdlib Functions, 239 Passing Lists to Functions Lists, 121 Index 862
  • 16. Ring Documentation, Release 1.4 Passing Parameters Using List Lists, 122 Performance Command Line Options, 582 permutation() Stdlib Functions, 241 Perror() Files, 151 Philosophy behind data types in Ring Frequently Asked Questions, 808 Play Sound RingLibSDL, 367 Playing Sound Desktop and Mobile Development, 471 Game Engine for 2D Games, 377 Graphics and Game Programming, 356 pointer2object() Low Level Functions, 586 Post Request RingLibCurl, 343 Prefix for Functions Names Code Generator, 611 PrevFileName() Function System Functions, 160 Print files in Zip file RingZip, 346 Print List of ODBC Data Sources ODBC Functions, 171 Print List of ODBC Drivers ODBC Functions, 170 Print Query Result MySQL Functions, 182 print() Stdlib Functions, 230 Printing Final Intermediate Code Command Line Options, 577 Printing Instruction Operation Code Command Line Options, 582 Printing Intermediate Code Command Line Options, 575 Printing Objects Object Oriented Programming, 203 Printing Rules Command Line Options, 571 Printing Tokens Command Line Options, 569 Printing using QPrinter Desktop and Mobile Development, 469 Private Attributes and Methods Object Oriented Programming, 199 prodlist() Stdlib Functions, 238 Program Structure Introduction, 114 Source Code File Sections, 115 Using Many Source Code Files, 115 Project Folder Building Games For Android, 419 Project Layers Game Engine for 2D Games, 369 Protecting the Source Code Distributing Ring Application, 567 ptrcmp() Low Level Functions, 587 Pure Functions Functional Programming, 208 puts() Stdlib Functions, 230 QAbstractButton Class RingQt Classes Reference, 713 QAbstractItemView Class RingQt Classes Reference, 699 QAbstractScrollArea Class RingQt Classes Reference, 699 QAbstractSlider Class RingQt Classes Reference, 706 QAbstractSocket Class RingQt Classes Reference, 734 QAbstractSpinBox Class RingQt Classes Reference, 709 QAction Class RingQt Classes Reference, 717 QAllEvents Class RingQt Classes Reference, 748 QApp Class RingQt Classes Reference, 666 QAxBase Class RingQt Classes Reference, 799 QAxObject Class RingQt Classes Reference, 799 QBitmap Class RingQt Classes Reference, 674 QBoxLayout Class RingQt Classes Reference, 789 QBrush Class RingQt Classes Reference, 731 QButtonGroup Class RingQt Classes Reference, 715 QByteArray Class RingQt Classes Reference, 732 QCamera Class RingQt Classes Reference, 784 QCameraImageCapture Class RingQt Classes Reference, 785 QCameraViewfinder Class RingQt Classes Reference, 783 QCheckBox Class Index 863
  • 17. Ring Documentation, Release 1.4 RingQt Classes Reference, 713 QColor Class RingQt Classes Reference, 726 QColorDialog Class RingQt Classes Reference, 744 QComboBox Class RingQt Classes Reference, 689 QCompleter Class RingQt Classes Reference, 794 QCompleter2 Class RingQt Classes Reference, 795 QCompleter3 Class RingQt Classes Reference, 795 QCursor Class RingQt Classes Reference, 798 QDate Class RingQt Classes Reference, 757 QDateEdit Class RingQt Classes Reference, 708 QDateTimeEdit Class RingQt Classes Reference, 708 QDesktopServices Class RingQt Classes Reference, 666 QDesktopWidget Class RingQt Classes Reference, 750 QDial Class RingQt Classes Reference, 710 QDialog Class RingQt Classes Reference, 742 QDir Class RingQt Classes Reference, 684 QDirModel Class RingQt Classes Reference, 740 QDockWidget Class RingQt Classes Reference, 695 QEvent Class RingQt Classes Reference, 719 QFileDialog Class RingQt Classes Reference, 721 QFileInfo Class RingQt Classes Reference, 739 QFileSystemModel Class RingQt Classes Reference, 684 QFont Class RingQt Classes Reference, 729 QFontDialog Class RingQt Classes Reference, 741 QFontMetrics Class RingQt Classes Reference, 788 QFrame Class RingQt Classes Reference, 698 QFrame2 Class RingQt Classes Reference, 698 QFrame3 Class RingQt Classes Reference, 699 QGradient Class RingQt Classes Reference, 791 QGraphicsVideoItem Class RingQt Classes Reference, 784 QGridLayout Class RingQt Classes Reference, 781 QHBoxLayout Class RingQt Classes Reference, 677 QHeaderView Class RingQt Classes Reference, 786 QHostAddress Class RingQt Classes Reference, 738 QHostInfo Class RingQt Classes Reference, 738 QIcon Class RingQt Classes Reference, 675 QImage Class RingQt Classes Reference, 767 QInputDialog Class RingQt Classes Reference, 746 QIODevice Class RingQt Classes Reference, 734 QJsonArray Class RingQt Classes Reference, 776 QJsonDocument Class RingQt Classes Reference, 776 QJsonObject Class RingQt Classes Reference, 777 QJsonParseError Class RingQt Classes Reference, 778 QJsonValue Class RingQt Classes Reference, 778 QKeySequence Class RingQt Classes Reference, 745 QLabel Class RingQt Classes Reference, 673 QLayout Class RingQt Classes Reference, 790 QLCDNumber Class RingQt Classes Reference, 746 QLinearGradient Class RingQt Classes Reference, 791 QLineEdit Class RingQt Classes Reference, 675 QLineEdit Events and QMessageBox Desktop and Mobile Development, 459 QListView Class RingQt Classes Reference, 798 QListWidget Class RingQt Classes Reference, 680 QListWidgetItem Class RingQt Classes Reference, 755 QMainWindow Class Index 864
  • 18. Ring Documentation, Release 1.4 RingQt Classes Reference, 693 QMdiArea Class RingQt Classes Reference, 796 QMdiSubWindow Class RingQt Classes Reference, 797 QMediaObject Class RingQt Classes Reference, 786 QMediaPlayer Class RingQt Classes Reference, 715 QMediaPlaylist Class RingQt Classes Reference, 716 QMenu Class RingQt Classes Reference, 691 QMenuBar Class RingQt Classes Reference, 691 QMessageBox Class RingQt Classes Reference, 719 QMessagebox Example Desktop and Mobile Development, 474 QNetworkAccessManager Class RingQt Classes Reference, 764 QNetworkProxy Class RingQt Classes Reference, 736 QNetworkReply Class RingQt Classes Reference, 765 QNetworkRequest Class RingQt Classes Reference, 764 QObject Class RingQt Classes Reference, 666 QPainter Class RingQt Classes Reference, 722 QPainter2 Class RingQt Classes Reference, 724 QPainterPath Class RingQt Classes Reference, 766 QPen Class RingQt Classes Reference, 725 QPicture Class RingQt Classes Reference, 725 QPixmap Class RingQt Classes Reference, 674 QPixmap2 Class RingQt Classes Reference, 675 QPlainTextEdit Class RingQt Classes Reference, 778 QPoint Class RingQt Classes Reference, 792 QPointF Class RingQt Classes Reference, 792 QPrinter Class RingQt Classes Reference, 728 QProcess Class RingQt Classes Reference, 795 QProgressBar Class RingQt Classes Reference, 705 QPushButton Class RingQt Classes Reference, 674 QRadioButton Class RingQt Classes Reference, 714 QRect Class RingQt Classes Reference, 750 QRegularExpression Class RingQt Classes Reference, 774 QRegularExpressionMatch Class RingQt Classes Reference, 775 QRegularExpressionMatchIterator Class RingQt Classes Reference, 775 QScrollArea Class RingQt Classes Reference, 792 QSerialPort Class RingQt Classes Reference, 801 QSerialPortInfo Class RingQt Classes Reference, 802 QSize Class RingQt Classes Reference, 675 QSlider Class RingQt Classes Reference, 707 QSpinBox Class RingQt Classes Reference, 705 QSplashScreen Class RingQt Classes Reference, 789 QSplitter Class RingQt Classes Reference, 793 QSqlDatabase Class RingQt Classes Reference, 758 QSqlDriver Class RingQt Classes Reference, 759 QSqlDriverCreatorBase Class RingQt Classes Reference, 762 QSqlError Class RingQt Classes Reference, 760 QSqlField Class RingQt Classes Reference, 761 QSqlIndex Class RingQt Classes Reference, 760 QSqlQuery Class RingQt Classes Reference, 759 QSqlRecord Class RingQt Classes Reference, 761 QStatusBar Class RingQt Classes Reference, 694 QString2 Class RingQt Classes Reference, 795 QStringList Class RingQt Classes Reference, 744 QSystemTrayIcon Class RingQt Classes Reference, 756 Qt Class Convertor Index 865
  • 19. Ring Documentation, Release 1.4 What is new in Ring 1.4?, 32 Qt configuration file Code Generator, 617 QTableView Class RingQt Classes Reference, 701 QTableWidget Class RingQt Classes Reference, 702 QTableWidgetItem Class RingQt Classes Reference, 697 QTabWidget Class RingQt Classes Reference, 695 QTcpServer Class RingQt Classes Reference, 737 QTcpSocket Class RingQt Classes Reference, 737 QTest Class RingQt Classes Reference, 666 QTextBlock Class RingQt Classes Reference, 754 QTextCharFormat Class RingQt Classes Reference, 782 QTextCodec Class RingQt Classes Reference, 757 QTextCursor Class RingQt Classes Reference, 742 QTextDocument Class RingQt Classes Reference, 752 QTextEdit Class RingQt Classes Reference, 678 QThread Class RingQt Classes Reference, 773 QThreadPool Class RingQt Classes Reference, 774 QTime Class RingQt Classes Reference, 754 QTimer Class RingQt Classes Reference, 720 QToolBar Class RingQt Classes Reference, 692 QToolButton Class RingQt Classes Reference, 800 QTreeView Class RingQt Classes Reference, 682 QTreeWidget Class RingQt Classes Reference, 685 QTreeWidgetItem Class RingQt Classes Reference, 687 Queue Class Stdlib Classes, 250 Quotes about Ring Applications developed in little hours, 1 QUrl Class RingQt Classes Reference, 712 QUuid Class RingQt Classes Reference, 800 QVariant Class RingQt Classes Reference, 762 QVBoxLayout Class RingQt Classes Reference, 677 QVideoWidget and QMediaPlayer Desktop and Mobile Development, 453 QVideoWidget Class RingQt Classes Reference, 716 QVideoWidgetControl Class RingQt Classes Reference, 784 QWebView Class RingQt Classes Reference, 711 QWidget Class RingQt Classes Reference, 667 QXmlStreamAttribute Class RingQt Classes Reference, 773 QXmlStreamAttributes Class RingQt Classes Reference, 772 QXmlStreamEntityDeclaration Class RingQt Classes Reference, 772 QXmlStreamEntityResolver Class RingQt Classes Reference, 772 QXmlStreamNamespaceDeclaration Class RingQt Classes Reference, 772 QXmlStreamNotationDeclaration Class RingQt Classes Reference, 771 QXmlStreamReader Class RingQt Classes Reference, 769 QXmlStreamWriter Class RingQt Classes Reference, 770 Raise() Eval() and Debugging, 163 RandBytes() Security and Internet Functions, 193 Random Image Web Development (CGI Library), 311 Random() Mathematical Functions, 143 Read File using Read() Files, 147 readline() Stdlib Functions, 241 Real Natual Code Natural Language Programming, 280 Recursion Functions, 114 Reference Compiler Errors, 836 Introduction, 833 Language Functions, 835 Language Grammar, 838 Language Keywords, 834 Index 866
  • 20. Ring Documentation, Release 1.4 Runtime Errors, 837 Virtual Machine Instructions, 840 Reflection and Meta-programming addattribute(), 224 addmethod(), 224 attributes(), 221 cfunctions(), 214 classes(), 218 classname(), 220 functions(), 214 getattribute(), 226 globals(), 213 Introduction, 212 isattribute(), 222 iscfunction(), 216 isclass(), 218 isfunction(), 216 isglobal(), 215 islocal(), 215 ismethod(), 223 isobject(), 221 ispackage(), 217 ispackagesclass(), 220 isprivateattribute(), 222 isprivatemethod(), 223 locals(), 213 mergemethods(), 228 methods(), 221 objectid(), 220 packagename(), 229 packages(), 217 packagesclasses(), 219 setattribute(), 227 Register New Functions Code Generator, 612 Regular Expressions Desktop and Mobile Development, 488 Relational Operators Operators, 91 Remove() Files, 148 Rename() Files, 148 Resources Contact the Autor, 847 Introduction, 846 Ring Group, 847 Ring Language Website, 847 Restore Image From The Database MySQL Functions, 184 Return object by reference Declarative Programming, 269 Return Self by Reference What is new in Ring 1.3?, 43 Return Value Extension, 599 Functions, 113 Reverse() Lists, 119 Rewind() Files, 150 Right() Strings, 125 RING API - list Functions Extension, 601 RING API - String Functions Extension, 603 Ring CGI Hello World Program Web Development (CGI Library), 292 Ring Group Resources, 847 Ring Language Website Resources, 847 Ring mode for Emacs Editor What is new in Ring 1.3?, 41 Ring Notepad Introduction, 75 Ring Notepad - Creating and running your first con- sole application, 76 Ring Notepad - Creating and running your first game, 81 Ring Notepad - Creating and running your first GUI application, 79 Ring Notepad - Creating and running your first Web application, 80 Ring Notepad - Main Window, 76 Ring Notepad - Creating and running your first console application Ring Notepad, 76 Ring Notepad - Creating and running your first game Ring Notepad, 81 Ring Notepad - Creating and running your first GUI ap- plication Ring Notepad, 79 Ring Notepad - Creating and running your first Web ap- plication Ring Notepad, 80 Ring Notepad - Main Window Ring Notepad, 76 Ring State Embedding Ring Language in C/C++ Programs, 606 Ring State Functions Embedding Ring Language in C/C++ Programs, 606 Ring State Variables Embedding Ring Language in C/C++ Programs, 607 ring_ext.c Extension, 596 ring_ext.h Index 867
  • 21. Ring Documentation, Release 1.4 Extension, 596 RingAllegro Functions Reference Introduction, 630 RingCodeHighlighter Class RingQt Classes Reference, 768 RingLibCurl Facebook Login, 343 Get Request, 343 Introduction, 342 Post Request, 343 Save output to string, 344 What is new in Ring 1.2?, 50 RingLibCurl Functions Reference Introduction, 627 RingLibSDL Close Window Event, 365 Create Window, 362 Display Image, 362 Display PNG Images, 363 Display Transparent Images, 364 Draw Rectangle, 363 Introduction, 361 Mouse Events, 366 Play Sound, 367 Switch Between Two Images, 362 Use TTF Fonts, 364 What is new in Ring 1.1?, 59 RingLibSDL Functions Reference Introduction, 649 RingLibZip Functions Reference Introduction, 629 RingQt Classes and their Qt Documentation Desktop and Mobile Development, 522 RingQt Classes Reference CodeEditor Class, 781 Introduction, 665 QAbstractButton Class, 713 QAbstractItemView Class, 699 QAbstractScrollArea Class, 699 QAbstractSlider Class, 706 QAbstractSocket Class, 734 QAbstractSpinBox Class, 709 QAction Class, 717 QAllEvents Class, 748 QApp Class, 666 QAxBase Class, 799 QAxObject Class, 799 QBitmap Class, 674 QBoxLayout Class, 789 QBrush Class, 731 QButtonGroup Class, 715 QByteArray Class, 732 QCamera Class, 784 QCameraImageCapture Class, 785 QCameraViewfinder Class, 783 QCheckBox Class, 713 QColor Class, 726 QColorDialog Class, 744 QComboBox Class, 689 QCompleter Class, 794 QCompleter2 Class, 795 QCompleter3 Class, 795 QCursor Class, 798 QDate Class, 757 QDateEdit Class, 708 QDateTimeEdit Class, 708 QDesktopServices Class, 666 QDesktopWidget Class, 750 QDial Class, 710 QDialog Class, 742 QDir Class, 684 QDirModel Class, 740 QDockWidget Class, 695 QEvent Class, 719 QFileDialog Class, 721 QFileInfo Class, 739 QFileSystemModel Class, 684 QFont Class, 729 QFontDialog Class, 741 QFontMetrics Class, 788 QFrame Class, 698 QFrame2 Class, 698 QFrame3 Class, 699 QGradient Class, 791 QGraphicsVideoItem Class, 784 QGridLayout Class, 781 QHBoxLayout Class, 677 QHeaderView Class, 786 QHostAddress Class, 738 QHostInfo Class, 738 QIcon Class, 675 QImage Class, 767 QInputDialog Class, 746 QIODevice Class, 734 QJsonArray Class, 776 QJsonDocument Class, 776 QJsonObject Class, 777 QJsonParseError Class, 778 QJsonValue Class, 778 QKeySequence Class, 745 QLabel Class, 673 QLayout Class, 790 QLCDNumber Class, 746 QLinearGradient Class, 791 QLineEdit Class, 675 QListView Class, 798 QListWidget Class, 680 QListWidgetItem Class, 755 Index 868
  • 22. Ring Documentation, Release 1.4 QMainWindow Class, 693 QMdiArea Class, 796 QMdiSubWindow Class, 797 QMediaObject Class, 786 QMediaPlayer Class, 715 QMediaPlaylist Class, 716 QMenu Class, 691 QMenuBar Class, 691 QMessageBox Class, 719 QNetworkAccessManager Class, 764 QNetworkProxy Class, 736 QNetworkReply Class, 765 QNetworkRequest Class, 764 QObject Class, 666 QPainter Class, 722 QPainter2 Class, 724 QPainterPath Class, 766 QPen Class, 725 QPicture Class, 725 QPixmap Class, 674 QPixmap2 Class, 675 QPlainTextEdit Class, 778 QPoint Class, 792 QPointF Class, 792 QPrinter Class, 728 QProcess Class, 795 QProgressBar Class, 705 QPushButton Class, 674 QRadioButton Class, 714 QRect Class, 750 QRegularExpression Class, 774 QRegularExpressionMatch Class, 775 QRegularExpressionMatchIterator Class, 775 QScrollArea Class, 792 QSerialPort Class, 801 QSerialPortInfo Class, 802 QSize Class, 675 QSlider Class, 707 QSpinBox Class, 705 QSplashScreen Class, 789 QSplitter Class, 793 QSqlDatabase Class, 758 QSqlDriver Class, 759 QSqlDriverCreatorBase Class, 762 QSqlError Class, 760 QSqlField Class, 761 QSqlIndex Class, 760 QSqlQuery Class, 759 QSqlRecord Class, 761 QStatusBar Class, 694 QString2 Class, 795 QStringList Class, 744 QSystemTrayIcon Class, 756 QTableView Class, 701 QTableWidget Class, 702 QTableWidgetItem Class, 697 QTabWidget Class, 695 QTcpServer Class, 737 QTcpSocket Class, 737 QTest Class, 666 QTextBlock Class, 754 QTextCharFormat Class, 782 QTextCodec Class, 757 QTextCursor Class, 742 QTextDocument Class, 752 QTextEdit Class, 678 QThread Class, 773 QThreadPool Class, 774 QTime Class, 754 QTimer Class, 720 QToolBar Class, 692 QToolButton Class, 800 QTreeView Class, 682 QTreeWidget Class, 685 QTreeWidgetItem Class, 687 QUrl Class, 712 QUuid Class, 800 QVariant Class, 762 QVBoxLayout Class, 677 QVideoWidget Class, 716 QVideoWidgetControl Class, 784 QWebView Class, 711 QWidget Class, 667 QXmlStreamAttribute Class, 773 QXmlStreamAttributes Class, 772 QXmlStreamEntityDeclaration Class, 772 QXmlStreamEntityResolver Class, 772 QXmlStreamNamespaceDeclaration Class, 772 QXmlStreamNotationDeclaration Class, 771 QXmlStreamReader Class, 769 QXmlStreamWriter Class, 770 RingCodeHighlighter Class, 768 RingREPL What is new in Ring 1.4?, 28 RingSQLite What is new in Ring 1.1?, 60 RingVM_CallList() Low Level Functions, 592 RingVM_CFunctionsList() Low Level Functions, 587 RingVM_ClassesList() Low Level Functions, 588 RingVM_FilesList() Low Level Functions, 593 RingVM_FunctionsList() Low Level Functions, 588 RingVM_MemoryList() Low Level Functions, 590 Index 869
  • 23. Ring Documentation, Release 1.4 RingVM_PackagesList() Low Level Functions, 589 RingZip Create Zip File, 346 Extract Zip File, 346 Introduction, 345 Print files in Zip file, 346 Using RingZip Classes, 346 Zip Class Reference, 348 ZipEntry Class Reference, 348 RingZip Library What is new in Ring 1.3?, 44 Rotate Text Desktop and Mobile Development, 485 Run the program Getting Started - First Style, 70 Getting Started - Second Style, 72 Getting Started - Third Style, 74 Running Forms Form Designer, 533 Runtime Errors Reference, 837 Samples How to contribute?, 68 Samples in this book Applications developed in little hours, 7 Save and Restore Images ODBC Functions, 176 Save Image Inside the Database MySQL Functions, 184 Save output to string RingLibCurl, 344 Scaling and Rotating Images Graphics and Game Programming, 357 Scope Rules Accessing the class attributes from braces inside class methods, 545 Conflict between Class Attributes and Local Vari- ables, 542 Conflict between Global Variables and Class At- tributes, 541 Conflict between self inside braces and self in the class region, 548 Creating a Class for each Window in GUI applica- tions, 547 Defining Variables and Variables Access, 539 How Ring find the Variable?, 540 Introduction, 538 Summary of Scope Rules, 552 The Self Object, 540 Three Scopes, 539 Using Braces to access objects inside Class Methods, 543 Using braces to escape from the current object scope, 551 Using Object.Attribute, 540 Scope Rules for Functions and Methods Calling a function sharing the name with a method in the current class, 556 Example about Sharing Names between Functions and Methods, 554 How Ring find a functions and methods?, 554 Introduction, 553 ScriptFunctions Class Web Development (CGI Library), 341 Search Lists, 118 Search of global names while defining the class attributes Frequently Asked Questions, 814 Security and Internet Functions Decrypt(), 193 Download(), 194 Encrypt(), 192 Example, 193 File Hash, 193 Introduction, 189 MD5(), 190 RandBytes(), 193 SendEmail(), 194 SHA1(), 191 SHA224(), 192 SHA256(), 191 SHA384(), 192 SHA512(), 191 Security Class Stdlib Classes, 266 Send Parameters Functions, 112 SendEmail() Security and Internet Functions, 194 Serial Execution of Programs Embedding Ring in Ring, 594 Set List Item Lists, 117 setattribute() Reflection and Meta-programming, 227 Setter and Getter Object Oriented Programming, 199 SHA1() Security and Internet Functions, 191 SHA224() Security and Internet Functions, 192 SHA256() Security and Internet Functions, 191 SHA384() Security and Internet Functions, 192 SHA512() Index 870
  • 24. Ring Documentation, Release 1.4 Security and Internet Functions, 191 Shared Libraries Extension, 604 Short-circuit evaluation Control Structures - First Style, 98 sign() Stdlib Functions, 236 Simple Language Design, 16 Simple Client and Server Example Desktop and Mobile Development, 489 Sin() Implementation Extension, 600 Single: Desktop and Mobile Development Introduction, 421 sleep() Stdlib Functions, 242 Smart Garbage Collector Language Design, 24 Sort() Lists, 118 Sort() and List of Objects Object Oriented Programming, 204 Sound Class Game Engine for 2D Games, 373 Source Code File Sections Program Structure, 115 space() Low Level Functions, 585 Special thanks to contributors How to contribute?, 68 split() Stdlib Functions, 233 splitmany() Stdlib Functions, 233 Sprite Automatic Movement Game Engine for 2D Games, 380 Sprite Class Game Engine for 2D Games, 372 Sprite Keypress Event Game Engine for 2D Games, 381 Sprite Mouse Event Game Engine for 2D Games, 382 Sprite State Event Game Engine for 2D Games, 383 SQLite Introduction, 186 sqlite_close(), 187 sqlite_execute(), 187 sqlite_init(), 187 sqlite_open(), 187 SQLite Class Stdlib Classes, 265 sqlite_close() SQLite, 187 sqlite_execute() SQLite, 187 sqlite_init() SQLite, 187 sqlite_open() SQLite, 187 Squares Puzzle Game Applications developed in little hours, 4 Stack Class Stdlib Classes, 250 Stars Fighter Game Game Engine for 2D Games, 392 startswith() Stdlib Functions, 237 StdBase Class Stdlib Classes, 245 Stdlib Classes Conversion Class, 262 DataType Class, 261 DateTime Class, 256 Debug Class, 260 File Class, 258 HashTable Class, 251 Internet Class, 267 Introduction, 244 List Class, 248 Math Class, 253 MySQL Class, 264 ODBC Class, 263 Queue Class, 250 Security Class, 266 SQLite Class, 265 Stack Class, 250 StdBase Class, 245 String Class, 246 System Class, 259 Tree Class, 252 Stdlib Functions apppath(), 231 binarydigits(), 240 capitalized(), 234 changestring(), 242 dayofweek(), 241 direxists(), 243 endswith(), 237 evenorodd(), 238 factorial(), 235 factors(), 239 fibonacci(), 235 file2list(), 236 filter(), 232 FSize(), 244 gcd(), 237 Index 871
  • 25. Ring Documentation, Release 1.4 getnumber(), 230 getstring(), 230 Introduction, 229 isleapyear(), 239 ismainsourcefile(), 243 isprime(), 235 isspecial(), 234 isvowel(), 234 JustFileName(), 231 JustFilePath(), 231 lcm(), 238 linecount(), 235 list2file(), 236 makedir(), 243 map(), 232 matrixmulti(), 240 matrixtrans(), 240 newlist(), 233 palindrome(), 239 permutation(), 241 print(), 230 prodlist(), 238 puts(), 230 readline(), 241 sign(), 236 sleep(), 242 split(), 233 splitmany(), 233 startswith(), 237 substring(), 242 sumlist(), 238 times(), 232 value(), 232 StdLib functions and classes written in Ring What is new in Ring 1.1?, 57 Step Option Control Structures - First Style, 96 Str2Hex() Data Type, 140 str2list() and list2str() Strings, 128 strcmp() Strings, 128 String Class Stdlib Classes, 246 String Literals Strings, 124 String() Data Type, 138 Strings Access String Letters, 124 Convert Letters Case, 124 Copy(), 126 Find SubString, 127 Get Number of Characters from position, 127 Get String Length, 124 Get Substring from position to end, 127 Introduction, 123 Left(), 125 Lines(), 126 Right(), 125 str2list() and list2str(), 128 strcmp(), 128 String Literals, 124 Substr(), 126 Transform Substring To Another Substring, 127 Trim(), 126 StyleFunctions Class Web Development (CGI Library), 341 Substr() Strings, 126 substring() Stdlib Functions, 242 sumlist() Stdlib Functions, 238 Summary of Scope Rules Scope Rules, 552 Super Man 2016 Game Game Engine for 2D Games, 407 Swap Items Lists, 123 Switch Between Two Images RingLibSDL, 362 Switch Statement Control Structures - First Style, 94 Control Structures - Second Style, 101 Control Structures - Third Style, 104 Syntax Flexibility Change Language Keywords, 558 Change Language Operators, 559 Introduction, 557 Load Syntax Files, 559 Using ’case’ as ’on’ in switch statements, 565 Using ’def’ as ’func’ in functions/methods defini- tion, 565 Using ’put’ and ’get’ as ’see’ and ’give’, 565 Using () around the function parameters, 559 in the start of the variable name, 562 Using braces to start and end different control struc- tures, 564 Using Semi-colon after and between statements, 561 Using the ’else’ keyword as ’other’ in switch state- ment, 562 Using the ’elseif’ keyword as ’but’ in if statement, 562 Using the ’end’ keyword in different control struc- tures, 563 What is new in Ring 1.1?, 54 Index 872
  • 26. Ring Documentation, Release 1.4 SysGet() Function System Functions, 156 System Class Stdlib Classes, 259 System Functions ChDir() Function, 161 CurrentDir() Function, 160 Example, 158 ExeFileName() Function, 161 ExeFolder() Function, 161 Get Active Source File Name, 160 Get Command Line Arguments, 159 Introduction, 155 IsAndroid() Function, 158 IsFreeBSD() Function, 158 IsLinux() Function, 158 IsMacOSX() Function, 157 IsMSDOS() Function, 157 IsUnix() Function, 157 IsWindows() Function, 157 IsWindows64() Function, 157 PrevFileName() Function, 160 SysGet() Function, 156 System() Function, 156 Version() Function, 161 Windowsnl() Function, 158 System() Function System Functions, 156 Tempfile() Files, 150 Templates Web Development (CGI Library), 306 Tempname() Files, 150 Testing How to contribute?, 68 Text Class Game Engine for 2D Games, 372 The Cards Game Demo Programs, 511 Desktop and Mobile Development, 511 The Designer Windows Form Designer, 532 The Difference between Qt and RingQt Desktop and Mobile Development, 521 The documentation says functional programming is sup- ported, but then this happens? Frequently Asked Questions, 807 The First GUI Application Desktop and Mobile Development, 422 The Natural Library What is new in Ring 1.4?, 26 The Properties Form Designer, 532 The Self Object Scope Rules, 540 Threads Graphics and Game Programming, 359 Threads Support Code Generator, 615 Three Scopes Scope Rules, 539 TicTacToe Game Applications developed in little hours, 3 Time() Date and Time, 130 TimeList() Date and Time, 131 times() Stdlib Functions, 232 Transaction Example MySQL Functions, 185 Transactions and Using Commit and Rollback ODBC Functions, 175 Transform Substring To Another Substring Strings, 127 Transparent Image Graphics and Game Programming, 358 Transparent Implementation Language Design, 18 Tree Class Stdlib Classes, 252 Trim() Strings, 126 TrueType Fonts Graphics and Game Programming, 355 Try/Carch/Done Eval() and Debugging, 162 Trying to be natural Language Design, 17 Type() Data Type, 134 Ungetc() Files, 152 Unsigned() Mathematical Functions, 144 Update the Android SDK Building RingQt Applications for Mobile, 523 Upload Files Web Development (CGI Library), 300 URL Encode Web Development (CGI Library), 305 Use TTF Fonts RingLibSDL, 364 Users registration and Login Web Development (CGI Library), 326 Index 873
  • 27. Ring Documentation, Release 1.4 Using ’<’ and ’:’ operators as ’from’ keyword What is new in Ring 1.3?, 43 Using ’case’ as ’on’ in switch statements Syntax Flexibility, 565 Using ’def’ as ’func’ in functions/methods definition Syntax Flexibility, 565 Using ’put’ and ’get’ as ’see’ and ’give’ Syntax Flexibility, 565 Using () around the function parameters Syntax Flexibility, 559 in the start of the variable name Syntax Flexibility, 562 Using Atom Using Other Code Editors, 85 Using Bootstrap Library using Functions Web Development (CGI Library), 320 Using Bootstrap Library using Objects Web Development (CGI Library), 321 Using Braces to access objects inside Class Methods Scope Rules, 543 Using braces to escape from the current object scope Scope Rules, 551 Using braces to start and end different control structures Syntax Flexibility, 564 Using C/C++ Compiler and Linker Distributing Ring Application, 568 Using configuration file that wrap C++ library Code Generator, 617 Using Emacs Editor Using Other Code Editors, 87 Using Eval() with our Natural Code Natural Language Programming, 278 Using Geany Using Other Code Editors, 84 Using Layout Desktop and Mobile Development, 423 Using Layouts Form Designer, 538 Using Lists during definition Lists, 121 Using Many Source Code Files Program Structure, 115 Using Notepad++ Using Other Code Editors, 83 Using NULL instead of NULLPointer() What is new in Ring 1.2?, 51 Using Object.Attribute Scope Rules, 540 Using Other Code Editors Introduction, 82 Using Atom, 85 Using Emacs Editor, 87 Using Geany, 84 Using Notepad++, 83 Using Sublime Text 2, 86 Using Visual Studio IDE, 87 Using QCheckBox Desktop and Mobile Development, 449 Using QComboBox Class Desktop and Mobile Development, 431 Using QDateEdit Desktop and Mobile Development, 444 Using QDesktopWidget Class Desktop and Mobile Development, 484 Using QDial Desktop and Mobile Development, 445 Using QDockWidget Desktop and Mobile Development, 437 Using QFrame Desktop and Mobile Development, 454 Using QInputDialog Class Desktop and Mobile Development, 475 Using qLCDNumber Desktop and Mobile Development, 472 Using QProgressBar Desktop and Mobile Development, 441 Using QProgressBar and Timer Desktop and Mobile Development, 464 Using QRadioButton and QButtonGroup Desktop and Mobile Development, 450 Using QSlider Desktop and Mobile Development, 442 Using QSpinBox Desktop and Mobile Development, 442 Using QTableWidget Desktop and Mobile Development, 440 Using QTabWidget Desktop and Mobile Development, 438 Using QTreeView and QFileSystemModel Desktop and Mobile Development, 429 Using QTreeWidget and QTreeWidgetItem Desktop and Mobile Development, 430 Using QWebView Desktop and Mobile Development, 448 Using RingZip Classes RingZip, 346 Using Self.Attribute Object Oriented Programming, 206 Using Self.Attribute in the Class Region to define new at- tributes What is new in Ring 1.1?, 61 Using Semi-colon after and between statements Syntax Flexibility, 561 Using Sublime Text 2 Using Other Code Editors, 86 Using the ’else’ keyword as ’other’ in switch statement Syntax Flexibility, 562 Using the ’elseif’ keyword as ’but’ in if statement Index 874
  • 28. Ring Documentation, Release 1.4 Syntax Flexibility, 562 Using the ’end’ keyword in different control structures Syntax Flexibility, 563 Using the Natural Library Defining Commands, 286 Defining commands using classes, 289 Introduction, 283 Natural Library - Demo Program, 284 Operators, 288 Using the QColorDialog Class Desktop and Mobile Development, 471 Using the QFileDialog Class Desktop and Mobile Development, 466 Using the QListWidget Class Desktop and Mobile Development, 426 Using the QTextEdit Class Desktop and Mobile Development, 425 Using the QTimer Class Desktop and Mobile Development, 463 Using the tool Code Generator, 609 Using This.Attribute in nested Braces inside the Class Methods What is new in Ring 1.1?, 61 Using Visual Studio IDE Using Other Code Editors, 87 value() Stdlib Functions, 232 Variables Deep Copy, 89 Dynamic Typing, 89 Introduction, 88 Weakly Typed, 90 Variables Scope Functions, 113 varptr() Low Level Functions, 585 Version() Function System Functions, 161 Virtual Machine Instructions Reference, 840 Visual Implementation Language Design, 19 Weakly Typed Variables, 90 Web Development (CGI Library) Application Class, 338 Configure the Apache web server, 291 Cookies, 303 CRUD Example using MVC, 324 Database, ModelBase & ControllerBase classes, 332 Generating Pages using Objects, 315 Gradient, 314 Hash Functions, 309 Hello World Program using the Web Library, 292 HTML Lists, 312 HTML Special Characters, 308 HTML Tables, 313 HTTP Get Example, 293 HTTP POST Example, 298 Introduction, 290 Page Class, 339 Random Image, 311 Ring CGI Hello World Program, 292 ScriptFunctions Class, 341 StyleFunctions Class, 341 Templates, 306 Upload Files, 300 URL Encode, 305 Users registration and Login, 326 Using Bootstrap Library using Functions, 320 Using Bootstrap Library using Objects, 321 Web Library Features, 293 WebLib API, 337 Web Library Features Web Development (CGI Library), 293 WebLib API Web Development (CGI Library), 337 Weight History Application Desktop and Mobile Development, 492 Werdy Application Applications developed in little hours, 5 What about predefined parameters or optional parameters in functions? Frequently Asked Questions, 816 What about the Boolean values in Ring? Frequently Asked Questions, 809 What are the advantages to using Ring over C# or Java? Frequently Asked Questions, 807 What are the advantages to using Ring over Lisp or Smalltalk? Frequently Asked Questions, 804 What are the advantages to using Ring over native C or C++? Frequently Asked Questions, 805 What are the advantages to using Ring over Python and Ruby? Frequently Asked Questions, 806 What are the advantages to using Ring over Tcl and Lua? Frequently Asked Questions, 807 What happens when we create a new object? Frequently Asked Questions, 812 What is new in Ring 1.1? Better Code Generator for Extensions, 61 Better Documentation, 61 Better Natural Language Programming Support, 53 Index 875
  • 29. Ring Documentation, Release 1.4 Game Engine for 2D Games, 59 Generate/Execute Ring Object Files (*.ringo), 54 Introduction, 52 List of changes and new features, 53 New Functions and Changes, 56 RingLibSDL, 59 RingSQLite, 60 StdLib functions and classes written in Ring, 57 Syntax Flexibility, 54 Using Self.Attribute in the Class Region to define new attributes, 61 Using This.Attribute in nested Braces inside the Class Methods, 61 What is new in Ring 1.2? Better Call Command, 51 Better Functions, 48 Better Quality, 51 Better Ring Notepad, 48 Better RingQt, 48 Display Warnings Option, 51 Introduction, 46 List of changes and new features, 47 New Functions, 47 Objects Library for RingQt, 49 RingLibCurl, 50 Using NULL instead of NULLPointer(), 51 What is new in Ring 1.3? Better Loop|Exit Command, 42 Better Ring Notepad, 38 Better RingQt, 34 Better StdLib, 42 Embedding Ring in Ring without sharing the State, 44 Form Designer, 45 Introduction, 33 List of changes and new features, 34 New Functions, 43 Return Self by Reference, 43 Ring mode for Emacs Editor, 41 RingZip Library, 44 Using ’<’ and ’:’ operators as ’from’ keyword, 43 What is new in Ring 1.4? Better RingQt, 32 Better StdLib, 30 Better WebLib, 30 Change: Basic Extensions are separated from RingVM, 25 Convert between Numbers and Bytes, 29 Introduction, 24 List of changes and new features, 25 New Style to Ring Notepad, 28 Qt Class Convertor, 32 RingREPL, 28 The Natural Library, 26 What is the difference between Ring and Python? And is Ring Open Source? Frequently Asked Questions, 805 Where can I write a program and execute it? Frequently Asked Questions, 815 While Loop Control Structures - First Style, 95 Control Structures - Third Style, 105 Why do we need Yet Another Programming Language (YAPL)? Frequently Asked Questions, 803 Why I get a strange result when printing nl with lists? Frequently Asked Questions, 817 Why I get Calling Function without definition Error? Frequently Asked Questions, 828 Why Ring is largely focussed on UI creation? Frequently Asked Questions, 805 Why Ring is weakly typed? Frequently Asked Questions, 804 Why Ring uses ’See’, ’Give’, ’But’ and ’Ok’ Keywords? Frequently Asked Questions, 808 Why Ring? Language Design, 16 Why setClickEvent() doesn’t see the object methods di- rectly? Frequently Asked Questions, 828 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, 808 Why the window title bar is going outside the screen? Frequently Asked Questions, 822 Why this example use the GetChar() twice? Frequently Asked Questions, 819 Why we don’t use () after the qApp class name? Frequently Asked Questions, 822 Why you can specify the number of loops you want to break out of? Frequently Asked Questions, 808 Window Flags Form Designer, 537 Windowsnl() Function System Functions, 158 Wrap structures Code Generator, 611 Wrapping C++ Classes Code Generator, 616 Write file using Write() Files, 147 Writing Comments Getting Started - First Style, 71 Getting Started - Second Style, 73 Getting Started - Third Style, 75 Index 876
  • 30. Ring Documentation, Release 1.4 Zip Class Reference RingZip, 348 ZipEntry Class Reference RingZip, 348 Index 877