You are on page 1of 7

Ring Documentation, Release 1.

Creating a Class for each Window in GUI applica- Object Oriented Programming, 187
tions, 527 SHA1()
Defining Variables and Variables Access, 519 Security and Internet Functions, 178
How Ring find the Variable?, 520 SHA224()
Introduction, 518 Security and Internet Functions, 180
Summary of Scope Rules, 532 SHA256()
The Self Object, 520 Security and Internet Functions, 179
Three Scopes, 519 SHA384()
Using Braces to access objects inside Class Methods, Security and Internet Functions, 180
523 SHA512()
Using braces to escape from the current object scope, Security and Internet Functions, 179
531 Shared Libraries
Using Object.Attribute, 520 Extension, 584
Scope Rules for Functions and Methods Short-circuit evaluation
Calling a function sharing the name with a method in Control Structures - First Style, 86
the current class, 536 sign()
Example about Sharing Names between Functions Stdlib Functions, 224
and Methods, 534 Simple
How Ring find a functions and methods?, 534 Language Design, 14
Introduction, 533 Simple Client and Server Example
ScriptFunctions Class Desktop and Mobile Development, 469
Web Development (CGI Library), 322 Sin() Implementation
Search Extension, 580
Lists, 106 Single: Desktop and Mobile Development
Search of global names while defining the class attributes Introduction, 402
Frequently Asked Questions, 792 sleep()
Security and Internet Functions Stdlib Functions, 230
Decrypt(), 180 Smart Garbage Collector
Download(), 182 Language Design, 22
Encrypt(), 180 Sort()
Example, 181 Lists, 106
File Hash, 181 Sort() and List of Objects
Introduction, 177 Object Oriented Programming, 192
MD5(), 178 Sound Class
RandBytes(), 181 Game Engine for 2D Games, 354
SendEmail(), 182 Source Code File Sections
SHA1(), 178 Program Structure, 103
SHA224(), 180 space()
SHA256(), 179 Low Level Functions, 565
SHA384(), 180 Special thanks to contributors
SHA512(), 179 How to contribute?, 56
Security Class split()
Stdlib Classes, 254 Stdlib Functions, 221
Send Parameters splitmany()
Functions, 100 Stdlib Functions, 221
SendEmail() Sprite Automatic Movement
Security and Internet Functions, 182 Game Engine for 2D Games, 361
Serial Execution of Programs Sprite Class
Embedding Ring in Ring, 574 Game Engine for 2D Games, 353
Set List Item Sprite Keypress Event
Lists, 105 Game Engine for 2D Games, 362
setattribute() Sprite Mouse Event
Reflection and Meta-programming, 215 Game Engine for 2D Games, 363
Setter and Getter Sprite State Event

Index 848
Ring Documentation, Release 1.3

Game Engine for 2D Games, 364 direxists(), 231


SQLite endswith(), 225
Introduction, 174 evenorodd(), 226
sqlite_close(), 175 factorial(), 223
sqlite_execute(), 175 factors(), 227
sqlite_init(), 175 fibonacci(), 223
sqlite_open(), 175 file2list(), 224
SQLite Class filter(), 220
Stdlib Classes, 253 gcd(), 225
sqlite_close() getnumber(), 218
SQLite, 175 getstring(), 218
sqlite_execute() Introduction, 217
SQLite, 175 isleapyear(), 227
sqlite_init() ismainsourcefile(), 231
SQLite, 175 isprime(), 223
sqlite_open() isspecial(), 222
SQLite, 175 isvowel(), 222
Squares Puzzle Game JustFileName(), 219
Applications developed in little hours, 4 JustFilePath(), 219
Stack Class lcm(), 226
Stdlib Classes, 238 linecount(), 223
Stars Fighter Game list2file(), 224
Game Engine for 2D Games, 373 makedir(), 231
startswith() map(), 220
Stdlib Functions, 225 matrixmulti(), 228
StdBase Class matrixtrans(), 228
Stdlib Classes, 233 newlist(), 221
Stdlib Classes palindrome(), 227
Conversion Class, 250 permutation(), 229
DataType Class, 249 print(), 218
DateTime Class, 244 prodlist(), 226
Debug Class, 248 puts(), 218
File Class, 246 readline(), 229
HashTable Class, 239 sign(), 224
Internet Class, 255 sleep(), 230
Introduction, 232 split(), 221
List Class, 236 splitmany(), 221
Math Class, 241 startswith(), 225
MySQL Class, 252 substring(), 230
ODBC Class, 251 sumlist(), 226
Queue Class, 238 times(), 220
Security Class, 254 value(), 220
SQLite Class, 253 StdLib functions and classes written in Ring
Stack Class, 238 What is new in Ring 1.1?, 46
StdBase Class, 233 Step Option
String Class, 234 Control Structures - First Style, 84
System Class, 247 Str2Hex()
Tree Class, 240 Data Type, 128
Stdlib Functions str2list() and list2str()
apppath(), 219 Strings, 116
binarydigits(), 228 strcmp()
capitalized(), 222 Strings, 116
changestring(), 230 String Class
dayofweek(), 229 Stdlib Classes, 234

Index 849
Ring Documentation, Release 1.3

String Literals Using braces to start and end different control struc-
Strings, 112 tures, 544
String() Using Semi-colon after and between statements, 541
Data Type, 126 Using the else keyword as other in switch state-
Strings ment, 542
Access String Letters, 112 Using the elseif keyword as but in if statement,
Convert Letters Case, 112 542
Copy(), 114 Using the end keyword in different control struc-
Find SubString, 115 tures, 543
Get Number of Characters from position, 115 What is new in Ring 1.1?, 43
Get String Length, 112 SysGet() Function
Get Substring from position to end, 115 System Functions, 144
Introduction, 111 System Class
Left(), 113 Stdlib Classes, 247
Lines(), 114 System Functions
Right(), 113 ChDir() Function, 149
str2list() and list2str(), 116 CurrentDir() Function, 148
strcmp(), 116 Example, 146
String Literals, 112 ExeFileName() Function, 149
Substr(), 114 ExeFolder() Function, 149
Transform Substring To Another Substring, 115 Get Active Source File Name, 148
Trim(), 114 Get Command Line Arguments, 147
StyleFunctions Class Introduction, 143
Web Development (CGI Library), 322 IsAndroid() Function, 146
Substr() IsFreeBSD() Function, 146
Strings, 114 IsLinux() Function, 146
substring() IsMacOSX() Function, 145
Stdlib Functions, 230 IsMSDOS() Function, 145
sumlist() IsUnix() Function, 145
Stdlib Functions, 226 IsWindows() Function, 145
Summary of Scope Rules IsWindows64() Function, 145
Scope Rules, 532 PrevFileName() Function, 148
Super Man 2016 Game SysGet() Function, 144
Game Engine for 2D Games, 388 System() Function, 144
Swap Items Version() Function, 149
Lists, 111 Windowsnl() Function, 146
Switch Between Two Images System() Function
RingLibSDL, 343 System Functions, 144
Switch Statement
Control Structures - First Style, 82 Tempfile()
Control Structures - Second Style, 89 Files, 138
Control Structures - Third Style, 92 Templates
Syntax Flexibility Web Development (CGI Library), 287
Change Language Keywords, 538 Tempname()
Change Language Operators, 539 Files, 138
Introduction, 537 Testing
Load Syntax Files, 539 How to contribute?, 56
Using case as on in switch statements, 545 Text Class
Using def as func in functions/methods defini- Game Engine for 2D Games, 353
tion, 545 The Cards Game
Using put and get as see and give, 545 Demo Programs, 491
Using () around the function parameters, 539 Desktop and Mobile Development, 491
in the start of the variable name, 542 The Designer Windows
Form Designer, 512

Index 850
Ring Documentation, Release 1.3

The Difference between Qt and RingQt Upload Files


Desktop and Mobile Development, 501 Web Development (CGI Library), 281
The documentation says functional programming is sup- URL Encode
ported, but then this happens? Web Development (CGI Library), 286
Frequently Asked Questions, 785 Use TTF Fonts
The First GUI Application RingLibSDL, 345
Desktop and Mobile Development, 403 Users registration and Login
The Properties Web Development (CGI Library), 307
Form Designer, 512 Using < and : operators as from keyword
The Self Object What is new in Ring 1.3?, 32
Scope Rules, 520 Using case as on in switch statements
Threads Syntax Flexibility, 545
Graphics and Game Programming, 340 Using def as func in functions/methods definition
Threads Support Syntax Flexibility, 545
Code Generator, 595 Using put and get as see and give
Three Scopes Syntax Flexibility, 545
Scope Rules, 519 Using () around the function parameters
TicTacToe Game Syntax Flexibility, 539
Applications developed in little hours, 3 in the start of the variable name
Time() Syntax Flexibility, 542
Date and Time, 118 Using Atom
TimeList() Using Other Code Editors, 73
Date and Time, 119 Using Bootstrap Library using Functions
times() Web Development (CGI Library), 301
Stdlib Functions, 220 Using Bootstrap Library using Objects
Transaction Example Web Development (CGI Library), 302
MySQL Functions, 173 Using Braces to access objects inside Class Methods
Transactions and Using Commit and Rollback Scope Rules, 523
ODBC Functions, 163 Using braces to escape from the current object scope
Transform Substring To Another Substring Scope Rules, 531
Strings, 115 Using braces to start and end different control structures
Transparent Image Syntax Flexibility, 544
Graphics and Game Programming, 339 Using C/C++ Compiler and Linker
Transparent Implementation Distributing Ring Application, 548
Language Design, 16 Using configuration file that wrap C++ library
Tree Class Code Generator, 597
Stdlib Classes, 240 Using Emacs Editor
Trim() Using Other Code Editors, 75
Strings, 114 Using Eval() with our Natural Code
TrueType Fonts Natural Language Programming, 266
Graphics and Game Programming, 336 Using Geany
Try/Carch/Done Using Other Code Editors, 72
Eval() and Debugging, 150 Using Layout
Trying to be natural Desktop and Mobile Development, 404
Language Design, 15 Using Layouts
Type() Form Designer, 518
Data Type, 122 Using Lists during definition
Lists, 109
Ungetc() Using Many Source Code Files
Files, 140 Program Structure, 103
Unsigned() Using Notepad++
Mathematical Functions, 132 Using Other Code Editors, 71
Update the Android SDK Using NULL instead of NULLPointer()
Building RingQt Applications for Mobile, 503 What is new in Ring 1.2?, 40

Index 851
Ring Documentation, Release 1.3

Using Object.Attribute What is new in Ring 1.1?, 50


Scope Rules, 520 Using Semi-colon after and between statements
Using Other Code Editors Syntax Flexibility, 541
Introduction, 70 Using Sublime Text 2
Using Atom, 73 Using Other Code Editors, 74
Using Emacs Editor, 75 Using the else keyword as other in switch statement
Using Geany, 72 Syntax Flexibility, 542
Using Notepad++, 71 Using the elseif keyword as but in if statement
Using Sublime Text 2, 74 Syntax Flexibility, 542
Using Visual Studio IDE, 75 Using the end keyword in different control structures
Using QCheckBox Syntax Flexibility, 543
Desktop and Mobile Development, 430 Using the QColorDialog Class
Using QComboBox Class Desktop and Mobile Development, 452
Desktop and Mobile Development, 412 Using the QFileDialog Class
Using QDateEdit Desktop and Mobile Development, 447
Desktop and Mobile Development, 425 Using the QListWidget Class
Using QDesktopWidget Class Desktop and Mobile Development, 407
Desktop and Mobile Development, 464 Using the QTextEdit Class
Using QDial Desktop and Mobile Development, 406
Desktop and Mobile Development, 426 Using the QTimer Class
Using QDockWidget Desktop and Mobile Development, 444
Desktop and Mobile Development, 418 Using the tool
Using QFrame Code Generator, 589
Desktop and Mobile Development, 435 Using This.Attribute in nested Braces inside the Class
Using QInputDialog Class Methods
Desktop and Mobile Development, 456 What is new in Ring 1.1?, 50
Using qLCDNumber Using Visual Studio IDE
Desktop and Mobile Development, 453 Using Other Code Editors, 75
Using QProgressBar
Desktop and Mobile Development, 422 value()
Using QProgressBar and Timer Stdlib Functions, 220
Desktop and Mobile Development, 445 Variables
Using QRadioButton and QButtonGroup Deep Copy, 77
Desktop and Mobile Development, 431 Dynamic Typing, 77
Using QSlider Introduction, 76
Desktop and Mobile Development, 423 Weakly Typed, 78
Using QSpinBox Variables Scope
Desktop and Mobile Development, 423 Functions, 101
Using QTableWidget varptr()
Desktop and Mobile Development, 421 Low Level Functions, 565
Using QTabWidget Version() Function
Desktop and Mobile Development, 419 System Functions, 149
Using QTreeView and QFileSystemModel Virtual Machine Instructions
Desktop and Mobile Development, 410 Reference, 818
Using QTreeWidget and QTreeWidgetItem Visual Implementation
Desktop and Mobile Development, 411 Language Design, 17
Using QWebView
Desktop and Mobile Development, 429 Weakly Typed
Using RingZip Classes Variables, 78
RingZip, 327 Web Development (CGI Library)
Using Self.Attribute Application Class, 319
Object Oriented Programming, 194 Configure the Apache web server, 272
Using Self.Attribute in the Class Region to define new at- Cookies, 284
tributes CRUD Example using MVC, 305

Index 852
Ring Documentation, Release 1.3

Database, ModelBase & ControllerBase classes, 313 Better Documentation, 50


Generating Pages using Objects, 296 Better Natural Language Programming Support, 42
Gradient, 295 Game Engine for 2D Games, 48
Hash Functions, 290 Generate/Execute Ring Object Files (*.ringo), 43
Hello World Program using the Web Library, 273 Introduction, 41
HTML Lists, 293 List of changes and new features, 42
HTML Special Characters, 289 New Functions and Changes, 45
HTML Tables, 294 RingLibSDL, 48
HTTP Get Example, 274 RingSQLite, 49
HTTP POST Example, 279 StdLib functions and classes written in Ring, 46
Introduction, 271 Syntax Flexibility, 43
Page Class, 320 Using Self.Attribute in the Class Region to define
Random Image, 292 new attributes, 50
Ring CGI Hello World Program, 273 Using This.Attribute in nested Braces inside the
ScriptFunctions Class, 322 Class Methods, 50
StyleFunctions Class, 322 What is new in Ring 1.2?
Templates, 287 Better Call Command, 40
Upload Files, 281 Better Functions, 37
URL Encode, 286 Better Quality, 40
Users registration and Login, 307 Better Ring Notepad, 37
Using Bootstrap Library using Functions, 301 Better RingQt, 37
Using Bootstrap Library using Objects, 302 Display Warnings Option, 40
Web Library Features, 274 Introduction, 35
WebLib API, 318 List of changes and new features, 36
Web Library Features New Functions, 36
Web Development (CGI Library), 274 Objects Library for RingQt, 38
WebLib API RingLibCurl, 39
Web Development (CGI Library), 318 Using NULL instead of NULLPointer(), 40
Weight History Application What is new in Ring 1.3?
Desktop and Mobile Development, 472 Better Loop|Exit Command, 31
Werdy Application Better Ring Notepad, 27
Applications developed in little hours, 4 Better RingQt, 23
What about predefined parameters or optional parameters Better StdLib, 31
in functions? Embedding Ring in Ring without sharing the State,
Frequently Asked Questions, 794 33
What about the Boolean values in Ring? Form Designer, 34
Frequently Asked Questions, 787 Introduction, 22
What are the advantages to using Ring over C# or Java? List of changes and new features, 23
Frequently Asked Questions, 785 New Functions, 32
What are the advantages to using Ring over Lisp or Return Self by Reference, 32
Smalltalk? Ring mode for Emacs Editor, 30
Frequently Asked Questions, 782 RingZip Library, 33
What are the advantages to using Ring over native C or Using < and : operators as from keyword, 32
C++? What is the difference between Ring and Python? And is
Frequently Asked Questions, 783 Ring Open Source?
What are the advantages to using Ring over Python and Frequently Asked Questions, 783
Ruby? Where can I write a program and execute it?
Frequently Asked Questions, 784 Frequently Asked Questions, 793
What are the advantages to using Ring over Tcl and Lua? While Loop
Frequently Asked Questions, 785 Control Structures - First Style, 83
What happens when we create a new object? Control Structures - Third Style, 93
Frequently Asked Questions, 790 Why do we need Yet Another Programming Language
What is new in Ring 1.1? (YAPL)?
Better Code Generator for Extensions, 50 Frequently Asked Questions, 781

Index 853
Ring Documentation, Release 1.3

Why I get a strange result when printing nl with lists?


Frequently Asked Questions, 795
Why I get Calling Function without definition Error?
Frequently Asked Questions, 806
Why Ring is largely focussed on UI creation?
Frequently Asked Questions, 783
Why Ring is weakly typed?
Frequently Asked Questions, 782
Why Ring uses See, Give, But and Ok Keywords?
Frequently Asked Questions, 786
Why Ring?
Language Design, 14
Why setClickEvent() doesnt see the object methods di-
rectly?
Frequently Asked Questions, 806
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, 786
Why the window title bar is going outside the screen?
Frequently Asked Questions, 800
Why this example use the GetChar() twice?
Frequently Asked Questions, 797
Why we dont use () after the qApp class name?
Frequently Asked Questions, 800
Why you can specify the number of loops you want to
break out of?
Frequently Asked Questions, 786
Window Flags
Form Designer, 517
Windowsnl() Function
System Functions, 146
Wrap structures
Code Generator, 591
Wrapping C++ Classes
Code Generator, 596
Write file using Write()
Files, 135
Writing Comments
Getting Started - First Style, 59
Getting Started - Second Style, 61
Getting Started - Third Style, 63

Zip Class Reference


RingZip, 329
ZipEntry Class Reference
RingZip, 329

Index 854

You might also like