The Ring programming language version 1.6 book - Part 188 of 189
1. Ring Documentation, Release 1.6
QScrollArea Class
RingQt Classes Reference, 1751
QSerialPort Class
RingQt Classes Reference, 1759
QSerialPortInfo Class
RingQt Classes Reference, 1761
QSize Class
RingQt Classes Reference, 1631
QSlider Class
RingQt Classes Reference, 1664
QSpinBox Class
RingQt Classes Reference, 1662
QSplashScreen Class
RingQt Classes Reference, 1748
QSplitter Class
RingQt Classes Reference, 1751
QSqlDatabase Class
RingQt Classes Reference, 1716
QSqlDriver Class
RingQt Classes Reference, 1717
QSqlDriverCreatorBase Class
RingQt Classes Reference, 1721
QSqlError Class
RingQt Classes Reference, 1719
QSqlField Class
RingQt Classes Reference, 1720
QSqlIndex Class
RingQt Classes Reference, 1719
QSqlQuery Class
RingQt Classes Reference, 1718
QSqlRecord Class
RingQt Classes Reference, 1719
QStatusBar Class
RingQt Classes Reference, 1651
QString2 Class
RingQt Classes Reference, 1754
QStringList Class
RingQt Classes Reference, 1701
QStringRef Class
RingQt Classes Reference, 1761
QSystemTrayIcon Class
RingQt Classes Reference, 1715
Qt Class Convertor
What is new in Ring 1.4?, 99
Qt configuration file
Code Generator, 820
QTableView Class
RingQt Classes Reference, 1658
QTableWidget Class
RingQt Classes Reference, 1659
QTableWidgetItem Class
RingQt Classes Reference, 1653
QTabWidget Class
RingQt Classes Reference, 1652
QTcpServer Class
RingQt Classes Reference, 1694
QTcpSocket Class
RingQt Classes Reference, 1693
QTest Class
RingQt Classes Reference, 1621
QTextBlock Class
RingQt Classes Reference, 1712
QTextBrowser Class
RingQt Classes Reference, 1774
QTextCharFormat Class
RingQt Classes Reference, 1740
QTextCodec Class
RingQt Classes Reference, 1716
QTextCursor Class
RingQt Classes Reference, 1699
QTextDocument Class
RingQt Classes Reference, 1710
QTextEdit Class
RingQt Classes Reference, 1634
QThread Class
RingQt Classes Reference, 1731
QThreadPool Class
RingQt Classes Reference, 1732
QTime Class
RingQt Classes Reference, 1713
QTimer Class
RingQt Classes Reference, 1677
QToolBar Class
RingQt Classes Reference, 1648
QToolButton Class
RingQt Classes Reference, 1759
QTreeView Class
RingQt Classes Reference, 1638
QTreeWidget Class
RingQt Classes Reference, 1641
QTreeWidgetItem Class
RingQt Classes Reference, 1644
Queue Class
Stdlib Classes, 346
Quotes about Ring
Applications developed in little hours, 1
QUrl Class
RingQt Classes Reference, 1668
QUuid Class
RingQt Classes Reference, 1759
QVariant Class
RingQt Classes Reference, 1721
QVBoxLayout Class
RingQt Classes Reference, 1633
QVideoWidget and QMediaPlayer
Desktop and Mobile Development, 622
QVideoWidget Class
RingQt Classes Reference, 1673
Index 1843
2. Ring Documentation, Release 1.6
QVideoWidgetControl Class
RingQt Classes Reference, 1743
QWebView Class
RingQt Classes Reference, 1667
QWidget Class
RingQt Classes Reference, 1622
QWindow Class
RingQt Classes Reference, 1767
QXmlStreamAttribute Class
RingQt Classes Reference, 1731
QXmlStreamAttributes Class
RingQt Classes Reference, 1731
QXmlStreamEntityDeclaration Class
RingQt Classes Reference, 1730
QXmlStreamEntityResolver Class
RingQt Classes Reference, 1730
QXmlStreamNamespaceDeclaration Class
RingQt Classes Reference, 1730
QXmlStreamNotationDeclaration Class
RingQt Classes Reference, 1730
QXmlStreamReader Class
RingQt Classes Reference, 1727
QXmlStreamWriter Class
RingQt Classes Reference, 1729
Raise()
Eval() and Debugging, 255
RandBytes()
Security and Internet Functions, 285
Random Image
Web Development (CGI Library), 407
Random()
Mathematical Functions, 234
Read File using Read()
Files, 238
readline()
Stdlib Functions, 335
Real Natual Code
Natural Language Programming, 376
Recursion
Functions - First Style, 196
Functions - Second Style, 200
Functions - Third Style, 204
Reference
Compiler Errors, 1811
Environment Errors, 1813
Introduction, 1808
Language Functions, 1810
Language Grammar, 1813
Language Keywords, 1809
Runtime Errors, 1812
Virtual Machine Instructions, 1815
Reflection and Meta-programming
addattribute(), 317
addmethod(), 317
attributes(), 314
cfunctions(), 307
classes(), 311
classname(), 313
functions(), 307
getattribute(), 319
globals(), 306
Introduction, 304
isattribute(), 315
iscfunction(), 309
isclass(), 311
isfunction(), 308
isglobal(), 308
islocal(), 308
ismethod(), 316
isobject(), 314
ispackage(), 310
ispackagesclass(), 312
isprivateattribute(), 315
isprivatemethod(), 316
locals(), 306
mergemethods(), 321
methods(), 314
objectid(), 313
packagename(), 322
packages(), 309
packagesclasses(), 312
setattribute(), 320
Register New Functions
Code Generator, 814
Regular Expressions
Desktop and Mobile Development, 657
Relational Operators
Operators, 173
Remove()
Files, 239
Rename()
Files, 239
Resources
Contact the Autor, 1822
Introduction, 1821
Ring Group, 1822
Ring Language Website, 1822
Restore Image From The Database
MySQL Functions, 276
Return object by reference
Declarative Programming, 365
Return Self by Reference
What is new in Ring 1.3?, 113
Return Value
Extension, 801
Functions - First Style, 195
Functions - Second Style, 199
Index 1844
3. Ring Documentation, Release 1.6
Functions - Third Style, 203
Reverse()
Lists, 209
Rewind()
Files, 241
Right()
Strings, 215
Ring and other languages
Introduction, 23
RING API - list Functions
Extension, 803
RING API - String Functions
Extension, 805
Ring CGI Hello World Program
Web Development (CGI Library), 388
Ring Group
Resources, 1822
Ring Language Website
Resources, 1822
Ring mode for Emacs Editor
What is new in Ring 1.3?, 111
Ring Notepad
Introduction, 150
Ring Notepad - Creating and running your first con-
sole application, 151
Ring Notepad - Creating and running your first game,
157
Ring Notepad - Creating and running your first GUI
application, 154
Ring Notepad - Creating and running your first Web
application, 155
Ring Notepad - Main Window, 151
The Browser Menu, 162
The Distribute Menu, 163
The Edit Menu, 159
The File Menu, 159
The Help Menu, 163
The Main File in the Project, 158
The Program Menu, 162
The Tools Menu, 163
The View Menu, 160
Ring Notepad - Creating and running your first console
application
Ring Notepad, 151
Ring Notepad - Creating and running your first game
Ring Notepad, 157
Ring Notepad - Creating and running your first GUI ap-
plication
Ring Notepad, 154
Ring Notepad - Creating and running your first Web ap-
plication
Ring Notepad, 155
Ring Notepad - Main Window
Ring Notepad, 151
Ring State
Embedding Ring Language in C/C++ Programs, 808
Ring State Functions
Embedding Ring Language in C/C++ Programs, 808
Ring State Variables
Embedding Ring Language in C/C++ Programs, 809
Ring VM - Tracing Functions
What is new in Ring 1.5?, 73
ring_ext.c
Extension, 798
ring_ext.h
Extension, 798
ring_state_setvar()
Embedding Ring in Ring, 796
RingAllegro Functions Reference
Introduction, 844
RingCodeHighlighter Class
RingQt Classes Reference, 1727
RingConsoleColors Extension
What is new in Ring 1.6?, 40
RingConsoleColors Functions Reference
Introduction, 840
RingFreeGLUT Extension
What is new in Ring 1.5?, 59
RingFreeGLUT Functions Reference
Introduction, 879
RingLibCurl
Facebook Login, 441
Get Request, 441
Get Stock Data From Yahoo, 443
Introduction, 440
Post Request, 441
Save output to string, 442
What is new in Ring 1.2?, 120
RingLibCurl Functions Reference
Introduction, 830
RingLibSDL
Close Window Event, 465
Create Window, 462
Display Image, 462
Display PNG Images, 463
Display Transparent Images, 464
Draw Rectangle, 463
Introduction, 461
Mouse Events, 466
Play Sound, 467
Switch Between Two Images, 462
Use TTF Fonts, 464
What is new in Ring 1.1?, 129
RingLibSDL Functions Reference
Introduction, 863
RingLibZip Functions Reference
Introduction, 839
RingMurmurHash Extension
Index 1845
6. Ring Documentation, Release 1.6
QVideoWidget Class, 1673
QVideoWidgetControl Class, 1743
QWebView Class, 1667
QWidget Class, 1622
QWindow Class, 1767
QXmlStreamAttribute Class, 1731
QXmlStreamAttributes Class, 1731
QXmlStreamEntityDeclaration Class, 1730
QXmlStreamEntityResolver Class, 1730
QXmlStreamNamespaceDeclaration Class, 1730
QXmlStreamNotationDeclaration Class, 1730
QXmlStreamReader Class, 1727
QXmlStreamWriter Class, 1729
RingCodeHighlighter Class, 1727
RingREPL
What is new in Ring 1.4?, 95
RingSQLite
What is new in Ring 1.1?, 130
ringvm_callfunc()
Low Level Functions, 782
RingVM_CallList()
Low Level Functions, 778
RingVM_CFunctionsList()
Low Level Functions, 774
RingVM_ClassesList()
Low Level Functions, 774
ringvm_evalinscope()
Low Level Functions, 781
RingVM_FilesList()
Low Level Functions, 779
RingVM_FunctionsList()
Low Level Functions, 774
ringvm_hideerrorMsg()
Low Level Functions, 781
RingVM_MemoryList()
Low Level Functions, 776
RingVM_PackagesList()
Low Level Functions, 775
ringvm_passerror()
Low Level Functions, 781
ringvm_scopescount()
Low Level Functions, 781
ringvm_settrace()
Low Level Functions, 780
ringvm_tracedata()
Low Level Functions, 780
ringvm_traceevent()
Low Level Functions, 780
ringvm_tracefunc()
Low Level Functions, 781
RingZip
Create Zip File, 445
Extract Zip File, 445
Introduction, 444
Print files in Zip file, 445
Using RingZip Classes, 445
Zip Class Reference, 447
ZipEntry Class Reference, 447
RingZip Library
What is new in Ring 1.3?, 114
Rotate Text
Desktop and Mobile Development, 654
Rules
The Type Hints Library, 742
Run the program
Getting Started - First Style, 143
Getting Started - Second Style, 146
Getting Started - Third Style, 148
Running Forms
Form Designer, 706
Runtime Errors
Reference, 1812
Samples
How to contribute?, 141
Samples in this book
Applications developed in little hours, 13
Samples Source (Authors)
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 522
Save and Restore Images
ODBC Functions, 268
Save Image Inside the Database
MySQL Functions, 276
Save output to string
RingLibCurl, 442
Scaling and Rotating Images
Graphics and Game Programming, 457
Scope Rules
Accessing the class attributes from braces inside
class methods, 718
Conflict between Class Attributes and Local Vari-
ables, 715
Conflict between Global Variables and Class At-
tributes, 714
Conflict between self inside braces and self in the
class region, 721
Creating a Class for each Window in GUI applica-
tions, 720
Defining Variables and Variables Access, 712
How Ring find the Variable?, 713
Introduction, 711
Summary of Scope Rules, 725
The Self Object, 713
Three Scopes, 712
Using Braces to access objects inside Class Methods,
716
Index 1848
7. Ring Documentation, Release 1.6
Using braces to escape from the current object scope,
724
Using Object.Attribute, 713
Scope Rules for Functions and Methods
Calling a function sharing the name with a method in
the current class, 729
Example about Sharing Names between Functions
and Methods, 727
How Ring find a functions and methods?, 727
Introduction, 726
ScriptFunctions Class
Web Development (CGI Library), 438
Search
Lists, 208
Search of global names while defining the class attributes
Frequently Asked Questions, 1789
Security and Internet Functions
Decrypt(), 285
Download(), 286
Encrypt(), 284
Example, 285
File Hash, 285
Introduction, 281
MD5(), 282
RandBytes(), 285
SendEmail(), 286
SHA1(), 283
SHA224(), 284
SHA256(), 283
SHA384(), 284
SHA512(), 283
Security Class
Stdlib Classes, 362
Send Parameters
Functions - First Style, 194
Functions - Second Style, 198
Functions - Third Style, 202
SendEmail()
Security and Internet Functions, 286
Serial Execution of Programs
Embedding Ring in Ring, 795
Set List Item
Lists, 207
setattribute()
Reflection and Meta-programming, 320
Setter and Getter
Object Oriented Programming, 291
SHA1()
Security and Internet Functions, 283
SHA224()
Security and Internet Functions, 284
SHA256()
Security and Internet Functions, 283
SHA384()
Security and Internet Functions, 284
SHA512()
Security and Internet Functions, 283
Shared Libraries
Extension, 806
Short-circuit evaluation
Control Structures - First Style, 180
Shutdown() Function
System Functions, 253
sign()
Stdlib Functions, 329
Simple
Language Design, 28
Simple Client and Server Example
Desktop and Mobile Development, 658
Sin() Implementation
Extension, 802
Single: Desktop and Mobile Development
Introduction, 589
sleep()
Stdlib Functions, 336
Smart Garbage Collector
Language Design, 36
Sort()
Lists, 208
Sort() and List of Objects
Object Oriented Programming, 296
Sound Class
Game Engine for 2D Games, 473
Source Code File Sections
Program Structure, 205
space()
Low Level Functions, 771
Special thanks to contributors
How to contribute?, 141
split()
Stdlib Functions, 326
splitmany()
Stdlib Functions, 326
Sprite Automatic Movement
Game Engine for 2D Games, 480
Sprite Class
Game Engine for 2D Games, 472
Sprite Keypress Event
Game Engine for 2D Games, 481
Sprite Mouse Event
Game Engine for 2D Games, 482
Sprite State Event
Game Engine for 2D Games, 483
SQLite
Introduction, 278
sqlite_close(), 279
sqlite_execute(), 279
sqlite_init(), 279
Index 1849
9. Ring Documentation, Release 1.6
Control Structures - First Style, 178
Str2Hex()
Data Type, 231
str2list() and list2str()
Strings, 218
strcmp()
Strings, 218
String Class
Stdlib Classes, 342
String Literals
Strings, 214
String()
Data Type, 229
Strings
Access String Letters, 214
Convert Letters Case, 214
Copy(), 216
Find SubString, 217
Get Number of Characters from position, 217
Get String Length, 214
Get Substring from position to end, 217
Introduction, 213
Left(), 215
Lines(), 216
Right(), 215
str2list() and list2str(), 218
strcmp(), 218
String Literals, 214
Substr(), 216
Transform Substring To Another Substring, 217
Trim(), 216
StyleFunctions Class
Web Development (CGI Library), 438
Substr()
Strings, 216
substring()
Stdlib Functions, 335
sumlist()
Stdlib Functions, 331
Summary of Scope Rules
Scope Rules, 725
Super Man 2016 Game
Game Engine for 2D Games, 507
Swap Items
Lists, 213
Switch Between Two Images
RingLibSDL, 462
Switch Statement
Control Structures - First Style, 176
Control Structures - Second Style, 183
Control Structures - Third Style, 186
Syntax Flexibility
Change Language Keywords, 731
Change Language Operators, 732
Introduction, 730
Load Syntax Files, 732
Using ’case’ as ’on’ in switch statements, 738
Using ’def’ as ’func’ in functions/methods defini-
tion, 738
Using ’end’ keyword after Pack-
ages/Classes/Functions, 739
Using ’endpackage’/’endclass’/’endfunc’ keywords
after Packages/Classes/Functions, 739
Using ’put’ and ’get’ as ’see’ and ’give’, 738
Using () around the function parameters, 732
in the start of the variable name, 735
Using braces { } in Packages/Classes/Functions, 739
Using braces to start and end different control struc-
tures, 737
Using Semi-colon after and between statements, 734
Using the ’else’ keyword as ’other’ in switch state-
ment, 735
Using the ’elseif’ keyword as ’but’ in if statement,
735
Using the ’end’ keyword in different control struc-
tures, 736
What is new in Ring 1.1?, 124
SysGet() Function
System Functions, 248
System Class
Stdlib Classes, 355
System Functions
ChDir() Function, 252
CurrentDir() Function, 252
Example, 249
ExeFileName() Function, 252
ExeFolder() Function, 252
Get Active Source File Name, 251
Get Command Line Arguments, 250
Introduction, 246
IsAndroid() Function, 249
IsFreeBSD() Function, 249
IsLinux() Function, 249
IsMacOSX() Function, 248
IsMSDOS() Function, 248
IsUnix() Function, 248
IsWindows() Function, 248
IsWindows64() Function, 248
PrevFileName() Function, 251
Shutdown() Function, 253
SysGet() Function, 248
System() Function, 247
Version() Function, 252
Windowsnl() Function, 250
System() Function
System Functions, 247
SystemCmd() Function
Stdlib Functions, 338
Index 1851
10. Ring Documentation, Release 1.6
SystemSilent() Function
Stdlib Functions, 339
Tempfile()
Files, 241
Templates
Web Development (CGI Library), 402
Tempname()
Files, 241
Testing
How to contribute?, 141
Text Class
Game Engine for 2D Games, 472
The Browser Menu
Ring Notepad, 162
The Camera
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 532
The Cards Game
Demo Programs, 680
Desktop and Mobile Development, 680
The Designer Windows
Form Designer, 705
The Difference between Qt and RingQt
Desktop and Mobile Development, 690
The Distribute Menu
Ring Notepad, 163
The documentation says functional programming is sup-
ported, but then this happens?
Frequently Asked Questions, 1781
The Edit Menu
Ring Notepad, 159
The File Menu
Ring Notepad, 159
The First GUI Application
Desktop and Mobile Development, 590
The First Triangle
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 525
The First Window using RingFreeGLUT
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 523
The Help Menu
Ring Notepad, 163
The Main File in the Project
Ring Notepad, 158
The Natural Library
What is new in Ring 1.4?, 93
The Program Menu
Ring Notepad, 162
The Properties
Form Designer, 705
The Self Object
Scope Rules, 713
The Tools Menu
Ring Notepad, 163
The Trace Library and the Interactive Debugger
BreakPoint, 792
Disable BreakPoints, 792
Execute Program Line by Line, 791
Interactive Debugger, 791
Introduction, 789
Loading the Trace library, 790
Pass Error, 791
Trace All Events, 790
Trace control flow between functions, 790
Using the Interactive Debugger, 792
The Type Hints Library
Example, 741
Introduction to the Type Hints Library, 740
Rules, 742
User Types, 741
Using Types inside Code, 742
Why Type Hints?, 741
The View Menu
Ring Notepad, 160
Threads
Graphics and Game Programming, 459
Threads Support
Code Generator, 818
Three Scopes
Scope Rules, 712
TicTacToe 3D Game
Using RingOpenGL and RingAllegro for 3D Graph-
ics, 579
TicTacToe Game
Applications developed in little hours, 7
Time()
Date and Time, 220
TimeList()
Date and Time, 221
times()
Stdlib Functions, 325
Trace All Events
The Trace Library and the Interactive Debugger, 790
Trace control flow between functions
The Trace Library and the Interactive Debugger, 790
Trace Library and Interactive Debugger
What is new in Ring 1.5?, 77
Transaction Example
MySQL Functions, 277
Transactions and Using Commit and Rollback
ODBC Functions, 267
Transform Substring To Another Substring
Strings, 217
Transparent Image
Graphics and Game Programming, 458
Transparent Implementation
Index 1852