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
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