This document provides summaries of various topics related to the Ring programming language and its documentation:
- It discusses classes, functions, libraries, and other features included in the Ring language and documentation.
- Examples are provided for common tasks like working with files, dates, strings, lists, objects, and more.
- Guidance is given for developing desktop and mobile applications using RingQt, and for embedding Ring in other languages.
- FAQs address frequent questions about Ring's features, capabilities, and how to accomplish common programming tasks.
Mongo or Die: How MongoDB Powers Doodle or DieAaron Silverman
"Doodle or Die" is a popular online drawing game built on Node.js and MongoDB. It started off as an entry to the 2011 Node Knockout competition and after winning the category for "Most Fun" has continued to grow into a game that has thousands of players play each day who have produced millions of drawings. This talk will use Doodle or Die as a vehicle to showcase the many strengths of using MongoDB as a go-to database for small and midsize applications. It will also cover lessons learned as we used MongoDB to rapidly develop and scale Doodle or Die.
This webinar took place on August 23, 2012.
Never worry about servers. Never worry about config files. Never worry about patches. Simply focus on your data with Heroku Postgres.
PostgreSQL is a powerful, reliable, and durable open-source SQL-compliant database. Now available as a fully-managed cloud database from salesforce.com, Heroku Postgres reduces the costs and administrative overhead compared to operating your own database. You can even create a database instance within seconds with a single click.
Watch this webinar to learn about:
:: When to use Heroku Postgres versus Database.com
:: What data you can and should store in Heroku Postgres
:: Architecting your application with Heroku Postgres
:: How to efficiently share data in your organization with Dataclips
:: How to take advantage of features such as Fork and Follow to scale
Mongo or Die: How MongoDB Powers Doodle or DieAaron Silverman
"Doodle or Die" is a popular online drawing game built on Node.js and MongoDB. It started off as an entry to the 2011 Node Knockout competition and after winning the category for "Most Fun" has continued to grow into a game that has thousands of players play each day who have produced millions of drawings. This talk will use Doodle or Die as a vehicle to showcase the many strengths of using MongoDB as a go-to database for small and midsize applications. It will also cover lessons learned as we used MongoDB to rapidly develop and scale Doodle or Die.
This webinar took place on August 23, 2012.
Never worry about servers. Never worry about config files. Never worry about patches. Simply focus on your data with Heroku Postgres.
PostgreSQL is a powerful, reliable, and durable open-source SQL-compliant database. Now available as a fully-managed cloud database from salesforce.com, Heroku Postgres reduces the costs and administrative overhead compared to operating your own database. You can even create a database instance within seconds with a single click.
Watch this webinar to learn about:
:: When to use Heroku Postgres versus Database.com
:: What data you can and should store in Heroku Postgres
:: Architecting your application with Heroku Postgres
:: How to efficiently share data in your organization with Dataclips
:: How to take advantage of features such as Fork and Follow to scale
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Mission to Decommission: Importance of Decommissioning Products to Increase E...
The Ring programming language version 1.5.1 book - Part 178 of 180
1. Ring Documentation, Release 1.5.1
Date and Time, 186
DateTime Class
Stdlib Classes, 316
dayofweek()
Stdlib Functions, 299
Debug Class
Stdlib Classes, 320
Dec()
Data Type, 196
Decimals()
Mathematical Functions, 201
Declarative Programming
Declarative programming on the top of Object-
Oriented, 331
executing code after the end of object access, 331
Introduction, 327
More Beatiful Code, 332
Objects inside lists, 328
Return object by reference, 329
Declarative programming on the top of Object-Oriented
Declarative Programming, 331
Declare parameters
Functions - First Style, 160
Functions - Second Style, 164
Functions - Third Style, 168
Decrypt()
Security and Internet Functions, 251
Deep Copy
Variables, 137
Define Declarative Languages
Language Design, 22
Define Functions
Functions - First Style, 159
Functions - Second Style, 163
Functions - Third Style, 167
Define Natural Statements
Language Design, 20
Defining Commands
Using the Natural Library, 346
Defining commands using classes
Using the Natural Library, 349
Defining Constants
Code Generator, 745
Defining Variables and Variables Access
Scope Rules, 653
Delete Item From List
Lists, 173
Demo Programs
Introduction, 222
Language Shell, 223
Main Menu, 223
The Cards Game, 622
Designed for a clear goal
Language Design, 17
Desktop and Mobile Development
Adding Hyperlink to QLabel, 563
Change Focus, 598
Classes and their Methods to use the default events,
628
Creating Menubar, 543
Creating more than one window, 581
Creating Reports using the WebLib and the GUILib,
633
Creating StatusBar, 547
Creating Toolbar, 546
Dialog Functions, 588
Display Image using QLabel, 567
Display Scaled Image using QLabel, 576
Drawing using QPainter, 578
Dynamic Objects, 602
Inheritance from GUI Classes, 594
KeyPress and Mouse Move Events, 588
Menubar and StyleSheet Example, 568
Methods to use Events with Events Filter, 631
Movable Label Example, 584
Moving Objects using the Mouse, 590
New Classes names - Index Start from 1, 633
Notepad Application, 607
Other Widgets Events, 572
Playing Sound, 582
Printing using QPrinter, 580
QLineEdit Events and QMessageBox, 570
QMessagebox Example, 585
QVideoWidget and QMediaPlayer, 564
Regular Expressions, 599
RingQt Classes and their Qt Documentation, 633
Rotate Text, 596
Simple Client and Server Example, 600
The Cards Game, 622
The Difference between Qt and RingQt, 632
The First GUI Application, 533
Using Layout, 534
Using QCheckBox, 560
Using QComboBox Class, 542
Using QDateEdit, 555
Using QDesktopWidget Class, 595
Using QDial, 556
Using QDockWidget, 548
Using QFrame, 565
Using QInputDialog Class, 586
Using qLCDNumber, 583
Using QProgressBar, 552
Using QProgressBar and Timer, 575
Using QRadioButton and QButtonGroup, 561
Using QSlider, 553
Using QSpinBox, 553
Using QTableWidget, 551
Using QTabWidget, 549
Index 1745
2. Ring Documentation, Release 1.5.1
Using QTreeView and QFileSystemModel, 540
Using QTreeWidget and QTreeWidgetItem, 541
Using QWebView, 559
Using the QColorDialog Class, 582
Using the QFileDialog Class, 577
Using the QListWidget Class, 537
Using the QTextEdit Class, 536
Using the QTimer Class, 574
Weight History Application, 603
Determine Structure Members Types
Code Generator, 745
Dialog Functions
Desktop and Mobile Development, 588
DiffDays()
Date and Time, 188
Dir()
Files, 204
direxists()
Stdlib Functions, 301
Disable BreakPoints
The Trace Library and the Interactive Debugger, 724
Display Error Message
Extension, 732
Display Image
RingLibSDL, 425
Display Image using QLabel
Desktop and Mobile Development, 567
Display PNG Images
RingLibSDL, 426
Display Scaled Image using QLabel
Desktop and Mobile Development, 576
Display Transparent Images
RingLibSDL, 427
Display Warnings Option
What is new in Ring 1.2?, 94
Distributing Applications and Games for Mobile
Distributing Ring Application, 686
Distributing Applications for Microsoft Windows
Distributing Ring Application, 685
Distributing Ring Application
Creating Windows Installer, 685
Distributing Applications and Games for Mobile,
686
Distributing Applications for Microsoft Windows,
685
Introduction, 684
Protecting the Source Code, 685
Using C/C++ Compiler and Linker, 686
Do Again Loop
Control Structures - First Style, 145
Documentation
How to contribute?, 112
Download Requirements
Building RingQt Applications for Mobile, 637
Download Requirements and Update the Android SDK
Building Games For Android, 482
Download()
Security and Internet Functions, 252
Draw Rectangle
RingLibSDL, 426
Drawing Text
Game Engine for 2D Games, 437
Drawing using QPainter
Desktop and Mobile Development, 578
Drawing using RingOpenGL
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 487
Drawing, Animation and Input
Graphics and Game Programming, 412
Dynamic Attributes
Object Oriented Programming, 260
Dynamic Objects
Desktop and Mobile Development, 602
Dynamic Typing
Variables, 137
Editors Support
How to contribute?, 113
Embedding Ring in Ring
Embedding Ring in Ring, 726
Embedding Ring in Ring without sharing the State,
727
Serial Execution of Programs, 727
Embedding Ring in Ring without sharing the State
Embedding Ring in Ring, 727
What is new in Ring 1.3?, 87
Embedding Ring Language in C/C++ Programs
Introduction, 738
Ring State, 739
Ring State Functions, 739
Ring State Variables, 740
Encourage Organization
Language Design, 19
Encrypt()
Security and Internet Functions, 250
endswith()
Stdlib Functions, 295
Entering Items
Form Designer, 651
Enum and Numbers
Code Generator, 746
EpochTime()
Date and Time, 188
Stdlib Functions, 303
Equality of functions
Functional Programming, 269
Eval()
Eval() and Debugging, 220
Index 1746
3. Ring Documentation, Release 1.5.1
Eval() and Debugging
Assert(), 222
Eval(), 220
Introduction, 219
Raise(), 221
Try/Carch/Done, 220
evenorodd()
Stdlib Functions, 297
Events Code
Form Designer, 647
Example
Files, 210
Mathematical Functions, 198
Natural Language Programming, 334
Objects Library for RingQt Application, 640
Security and Internet Functions, 251
System Functions, 215
The Type Hints Library, 682
Example - The Trace Library
Low Level Functions, 718
Example - Using the Trace Functions
Low Level Functions, 714
Example about Sharing Names between Functions and
Methods
Scope Rules for Functions and Methods, 668
Exceptions
Control Structures - Second Style, 151
Control Structures - Third Style, 155
Execute Program Line by Line
The Trace Library and the Interactive Debugger, 723
Execute Query and Print Result
ODBC Functions, 231
executing code after the end of object access
Declarative Programming, 331
Executing code during code generation
Code Generator, 746
ExeFileName() Function
System Functions, 218
ExeFolder() Function
System Functions, 218
Exit
Control Structures - First Style, 145
Exit from two loops
Control Structures - First Style, 145
Exit/Loop inside sub functions
Control Structures - First Style, 146
Extension
Check Parameters Count, 731
Check Parameters Type, 732
Display Error Message, 732
Fopen() and Fclose() Implementation, 733
Function Prototype, 733
Function Structure, 731
Get Parameters Values, 732
Introduction, 728
Module Organization, 730
MySQL_Columns() Implementation, 736
Return Value, 732
RING API - list Functions, 734
RING API - String Functions, 736
ring_ext.c, 729
ring_ext.h, 729
Shared Libraries, 737
Sin() Implementation, 733
Extensions in C/C++
How to contribute?, 113
Extract Zip File
RingZip, 409
Facebook Login
RingLibCurl, 405
factorial()
Stdlib Functions, 293
factors()
Stdlib Functions, 297
Fclose()
Files, 205
Features
Introduction, 13
Feof()
Files, 208
Ferror()
Files, 208
FetchStockData Application
Applications developed in little hours, 3
Fexists()
Files, 210
Fflush()
Files, 206
Fgetc()
Files, 209
Fgetpos()
Files, 208
Fgets()
Files, 209
fibonacci()
Stdlib Functions, 294
Fifteen Puzzle Game
Applications developed in little hours, 3
Fifteen Puzzle Game 2
Applications developed in little hours, 7
File Class
Stdlib Classes, 318
File Hash
Security and Internet Functions, 251
file2list()
Stdlib Functions, 295
Files
Index 1747
4. Ring Documentation, Release 1.5.1
Clearerr(), 208
Dir(), 204
Example, 210
Fclose(), 205
Feof(), 208
Ferror(), 208
Fexists(), 210
Fflush(), 206
Fgetc(), 209
Fgetpos(), 208
Fgets(), 209
Fopen(), 205
Fputc(), 209
Fputs(), 209
Fread(), 210
Freopen(), 206
Fseek(), 207
Fsetpos(), 208
Ftell(), 207
Fwrite(), 210
Introduction, 202
Numbers and Bytes, 212
Perror(), 208
Read File using Read(), 204
Remove(), 205
Rename(), 205
Rewind(), 207
Tempfile(), 207
Tempname(), 207
Ungetc(), 209
Write file using Write(), 204
filter()
Stdlib Functions, 291
Filtering using Expressions
Code Generator, 746
Find SubString
Strings, 183
Find() and List of Objects
Object Oriented Programming, 261
First-Class Functions
Functional Programming, 267
First-Class Lists
Lists, 177
Flappy Bird 3000 Game
Game Engine for 2D Games, 463
Fopen()
Files, 205
Fopen() and Fclose() Implementation
Extension, 733
For In Loop
Control Structures - First Style, 144
Control Structures - Second Style, 151
Control Structures - Third Style, 155
for in to modify lists
Control Structures - First Style, 144
For Loop
Control Structures - First Style, 143
Control Structures - Second Style, 150
Control Structures - Third Style, 154
Form Designer
Entering Items, 651
Events Code, 647
Introduction, 644
Keyboard Shortcuts, 650
Menubar Designer, 650
More Samples and Tests, 652
Running Forms, 647
The Designer Windows, 646
The Properties, 646
Using Layouts, 652
What is new in Ring 1.3?, 88
Window Flags, 651
Fputc()
Files, 209
Fputs()
Files, 209
Frames Per Second
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 520
Fread()
Files, 210
Freopen()
Files, 206
Frequently Asked Questions
Can I connect to dbase/harbour database?, 1720
Can Ring work on Windows XP?, 1722
Conflict between Global Variables and Class At-
tributes, 1708
Constructor methods in Ring, 1704
Could you explain the output of the StrCmp() func-
tion?, 1711
Getter and Setter Methods, 1706
Goal of including the Main function in Ring, 1702
How can I disable maximize button and resize win-
dow?, 1718
How to add Combobox and other elements to the
cells of a QTableWidget?, 1725
How to Close a window then displaying another
one?, 1717
How to create a Modal Window?, 1717
How to create an array of buttons in GUI applica-
tions?, 1716
How to extend RingQt and add more classes?, 1722
How to get the current source file path?, 1709
How to get the file size using ftell() and fseek() func-
tions?, 1709
How to insert an item to the first position in the list?,
1714
Index 1748
5. Ring Documentation, Release 1.5.1
How to perform some manipulations on selected
cells in QTableWidget?, 1725
How to print keys or values only in List/Dictionary?,
1710
How to print lists that contains objects?, 1714
How to print new lines and other characters?, 1715
How to use many source code files in the project?,
1711
How to use NULL and ISNULL() function?, 1713
How to use SQLite using ODBC?, 1719
Introduction, 1694
Is Ring some sort of improvement over PHP?, 1697
List index start from 1, 1703
Philosophy behind data types in Ring, 1700
Search of global names while defining the class at-
tributes, 1707
The documentation says functional programming is
supported, but then this happens?, 1699
What about predefined parameters or optional pa-
rameters in functions?, 1709
What about the Boolean values in Ring?, 1701
What are the advantages to using Ring over C# or
Java?, 1699
What are the advantages to using Ring over Lisp or
Smalltalk?, 1696
What are the advantages to using Ring over native C
or C++?, 1697
What are the advantages to using Ring over Python
and Ruby?, 1698
What are the advantages to using Ring over Tcl and
Lua?, 1698
What happens when we create a new object?, 1705
What is the difference between Ring and Python?
And is Ring Open Source?, 1697
Where can I write a program and execute it?, 1708
Why do we need Yet Another Programming Lan-
guage (YAPL)?, 1695
Why I get a strange result when printing nl with
lists?, 1710
Why I get Calling Function without definition Er-
ror?, 1721
Why Ring is largely focussed on UI creation?, 1697
Why Ring is not case-sensitive, 1703
Why Ring is weakly typed?, 1696
Why Ring uses ’See’, ’Give’, ’But’ and ’Ok’ Key-
words?, 1700
Why setClickEvent() doesn’t see the object methods
directly?, 1721
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?, 1699
Why the Assignment operator uses Deep copy?,
1704
Why the window title bar is going outside the
screen?, 1715
Why this example use the GetChar() twice?, 1712
Why we don’t use () after the qApp class name?,
1715
Why you can specify the number of loops you want
to break out of?, 1700
Fseek()
Files, 207
Fsetpos()
Files, 208
FSize()
Stdlib Functions, 302
Ftell()
Files, 207
Function Prototype
Extension, 733
function prototype
Code Generator, 742
Function Structure
Extension, 731
Functional Programming
Anonymous and Nested Functions, 268
Equality of functions, 269
First-Class Functions, 267
Higher-order Functions, 267
Introduction, 265
Pure Functions, 266
Functions - First Style
Call Functions, 159
Declare parameters, 160
Define Functions, 159
Introduction, 158
Main Function, 160
Recursion, 162
Return Value, 161
Send Parameters, 160
Variables Scope, 161
Functions - Second Style
Call Functions, 163
Declare parameters, 164
Define Functions, 163
Introduction, 162
Main Function, 164
Recursion, 166
Return Value, 165
Send Parameters, 164
Variables Scope, 165
Functions - Third Style
Call Functions, 167
Declare parameters, 168
Define Functions, 167
Introduction, 166
Main Function, 168
Recursion, 170
Index 1749
6. Ring Documentation, Release 1.5.1
Return Value, 169
Send Parameters, 168
Variables Scope, 169
functions()
Reflection and Meta-programming, 272
Fwrite()
Files, 210
Game Class
Game Engine for 2D Games, 434
Game Engine Classes
Game Engine for 2D Games, 433
Game Engine for 2D Games
Animate Class, 436
Animate Events, 447
Animation, 441
Animation and Functions, 442
Creating the Game Window, 436
Drawing Text, 437
Flappy Bird 3000 Game, 463
Game Class, 434
Game Engine Classes, 433
GameObject Class, 434
Games Layer, 433
Graphics Library Bindings, 432
Interface to graphics library, 432
Introduction, 431
Map, 449
Map Class, 436
Map Events, 450
Moving Text, 438
Object and Drawing, 452
Playing Sound, 440
Project Layers, 432
Sound Class, 436
Sprite Automatic Movement, 443
Sprite Class, 435
Sprite Keypress Event, 444
Sprite Mouse Event, 445
Sprite State Event, 446
Stars Fighter Game, 455
Super Man 2016 Game, 470
Text Class, 435
What is new in Ring 1.1?, 102
GameObject Class
Game Engine for 2D Games, 434
Games Layer
Game Engine for 2D Games, 433
gcd()
Stdlib Functions, 296
Generate Object File
Command Line Options, 701
Generate/Execute Ring Object Files (*.ringo)
What is new in Ring 1.1?, 97
Generating Pages using Objects
Web Development (CGI Library), 375
Get Active Source File Name
System Functions, 217
Get Command Line Arguments
System Functions, 216
Get List Item
Lists, 173
Get List Size
Lists, 173
Get Number of Characters from position
Strings, 183
Get Parameters Values
Extension, 732
Get Request
RingLibCurl, 405
Get Stock Data From Yahoo
RingLibCurl, 407
Get String Length
Strings, 180
Get Substring from position to end
Strings, 183
getattribute()
Reflection and Meta-programming, 284
GetChar()
Getting Input, 157
getnumber()
Stdlib Functions, 289
getstring()
Stdlib Functions, 289
Getter and Setter Methods
Frequently Asked Questions, 1706
Getting Input
GetChar(), 157
Getting Started - First Style, 115
Getting Started - Second Style, 117
Getting Started - Third Style, 119
Give Command, 157
Input(), 158
Introduction, 156
Getting Started - First Style
Getting Input, 115
Hello World, 114
Introduction, 113
Multi-Line literals, 114
No Explicit End For Statements, 115
Not Case-Sensitive, 114
Run the program, 114
Writing Comments, 115
Getting Started - Second Style
Getting Input, 117
Hello World, 116
Introduction, 115
Multi-Line literals, 116
Index 1750
7. Ring Documentation, Release 1.5.1
No Explicit End For Statements, 117
Not Case-Sensitive, 116
Run the program, 116
Writing Comments, 117
Getting Started - Third Style
Getting Input, 119
Hello World, 118
Introduction, 117
Multi-Line literals, 118
No Explicit End For Statements, 119
Not Case-Sensitive, 118
Run the program, 118
Writing Comments, 119
Give Command
Getting Input, 157
globals()
Reflection and Meta-programming, 271
Goal of including the Main function in Ring
Frequently Asked Questions, 1702
Gradient
Web Development (CGI Library), 374
Graphics and Game Programming
Drawing, Animation and Input, 412
Introduction, 411
Playing Sound, 419
Scaling and Rotating Images, 420
Threads, 422
Transparent Image, 421
TrueType Fonts, 418
Graphics Library Bindings
Game Engine for 2D Games, 432
Hash Functions
Web Development (CGI Library), 369
HashTable Class
Stdlib Classes, 311
Hello World
Getting Started - First Style, 114
Getting Started - Second Style, 116
Getting Started - Third Style, 118
Hello World Program using the Web Library
Web Development (CGI Library), 352
Hex()
Data Type, 196
Hex2str()
Data Type, 197
Higher-order Functions
Functional Programming, 267
History
Introduction, 13
Natural Language Programming, 334
How can I disable maximize button and resize window?
Frequently Asked Questions, 1718
How Ring find a functions and methods?
Scope Rules for Functions and Methods, 668
How Ring find the Variable?
Scope Rules, 654
How to add Combobox and other elements to the cells of
a QTableWidget?
Frequently Asked Questions, 1725
How to Close a window then displaying another one?
Frequently Asked Questions, 1717
How to contribute?
Applications, 113
Compiler and Virtual Machine (VM), 113
Documentation, 112
Editors Support, 113
Extensions in C/C++, 113
Ideas and suggestions, 113
Introduction, 111
Libraries in Ring, 113
Samples, 112
Special thanks to contributors, 112
Testing, 112
How to create a Modal Window?
Frequently Asked Questions, 1717
How to create an array of buttons in GUI applications?
Frequently Asked Questions, 1716
How to extend RingQt and add more classes?
Frequently Asked Questions, 1722
How to get the current source file path?
Frequently Asked Questions, 1709
How to get the file size using ftell() and fseek() functions?
Frequently Asked Questions, 1709
How to insert an item to the first position in the list?
Frequently Asked Questions, 1714
How to perform some manipulations on selected cells in
QTableWidget?
Frequently Asked Questions, 1725
How to print keys or values only in List/Dictionary?
Frequently Asked Questions, 1710
How to print lists that contains objects?
Frequently Asked Questions, 1714
How to print new lines and other characters?
Frequently Asked Questions, 1715
How to use many source code files in the project?
Frequently Asked Questions, 1711
How to use NULL and ISNULL() function?
Frequently Asked Questions, 1713
How to use SQLite using ODBC?
Frequently Asked Questions, 1719
HTML Lists
Web Development (CGI Library), 372
HTML Special Characters
Web Development (CGI Library), 368
HTML Tables
Web Development (CGI Library), 373
HtmlPage Class
Index 1751
8. Ring Documentation, Release 1.5.1
Web Development (CGI Library), 380, 404
HTTP Get Example
Web Development (CGI Library), 353
HTTP POST Example
Web Development (CGI Library), 358
Ideas and suggestions
How to contribute?, 113
If Statement
Control Structures - Second Style, 149
Control Structures - Third Style, 152
Inheritance
Object Oriented Programming, 259
Inheritance from GUI Classes
Desktop and Mobile Development, 594
Input()
Getting Input, 158
Insert()
Lists, 176
Install Qt for Android
Building RingQt Applications for Mobile, 637
Interactive Debugger
The Trace Library and the Interactive Debugger, 723
Interface to graphics library
Game Engine for 2D Games, 432
Internet Class
Stdlib Classes, 327
Introduction
Features, 13
History, 13
Introduction, 11
Motivation, 12
Is Ring some sort of improvement over PHP?
Frequently Asked Questions, 1697
IsAlNum()
Data Type, 192
IsAlpha()
Data Type, 192
IsAndroid() Function
System Functions, 215
isattribute()
Reflection and Meta-programming, 280
iscfunction()
Reflection and Meta-programming, 274
isclass()
Reflection and Meta-programming, 276
IsCntrl()
Data Type, 192
IsDigit()
Data Type, 193
IsFreeBSD() Function
System Functions, 215
isfunction()
Reflection and Meta-programming, 274
isglobal()
Reflection and Meta-programming, 273
IsGraph()
Data Type, 193
isleapyear()
Stdlib Functions, 298
IsLinux() Function
System Functions, 215
IsList()
Data Type, 191
islocal()
Reflection and Meta-programming, 273
IsLower()
Data Type, 193
IsMacOSX() Function
System Functions, 214
ismainsourcefile()
Stdlib Functions, 301
ismethod()
Reflection and Meta-programming, 281
IsMSDOS() Function
System Functions, 214
IsNULL()
Data Type, 191
IsNumber()
Data Type, 190
isobject()
Reflection and Meta-programming, 279
ispackage()
Reflection and Meta-programming, 275
ispackagesclass()
Reflection and Meta-programming, 278
isprime()
Stdlib Functions, 294
IsPrint()
Data Type, 193
isprivateattribute()
Reflection and Meta-programming, 280
isprivatemethod()
Reflection and Meta-programming, 281
IsPunct()
Data Type, 194
IsSpace()
Data Type, 194
isspecial()
Stdlib Functions, 292
IsString()
Data Type, 190
IsUnix() Function
System Functions, 214
IsUpper()
Data Type, 194
isvowel()
Stdlib Functions, 293
Index 1752
9. Ring Documentation, Release 1.5.1
IsWindows() Function
System Functions, 214
IsWindows64() Function
System Functions, 214
IsXdigit()
Data Type, 194
JustFileName()
Stdlib Functions, 290
JustFilePath()
Stdlib Functions, 289
Keyboard Events and Colors
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 492
Keyboard Shortcuts
Form Designer, 650
KeyPress and Mouse Move Events
Desktop and Mobile Development, 588
Language Design
Compact Syntax, 19
Define Declarative Languages, 22
Define Natural Statements, 20
Designed for a clear goal, 17
Encourage Organization, 19
Introduction, 16
Simple, 17
Smart Garbage Collector, 25
Transparent Implementation, 23
Trying to be natural, 18
Visual Implementation, 24
Why Ring?, 17
Language Functions
Reference, 1728
Language Grammar
Reference, 1731
Language Keywords
Reference, 1727
Language Shell
Demo Programs, 223
lcm()
Stdlib Functions, 296
Left()
Strings, 181
Libraries in Ring
How to contribute?, 113
Library Usage
Objects Library for RingQt Application, 640
linecount()
Stdlib Functions, 293
Lines()
Strings, 182
List Class
Stdlib Classes, 308
List index start from 1
Frequently Asked Questions, 1703
List of changes and new features
What is new in Ring 1.1?, 96
What is new in Ring 1.2?, 90
What is new in Ring 1.3?, 77
What is new in Ring 1.4?, 65
What is new in Ring 1.5?, 26
list of functions
Mathematical Functions, 198
list2file()
Stdlib Functions, 294
ListAllFiles() Function
Stdlib Functions, 303
Lists
Access List Items by String Index, 178
Add Items, 172
Copy Lists, 176
Create Lists, 172
Delete Item From List, 173
First-Class Lists, 177
Get List Item, 173
Get List Size, 173
Insert(), 176
Introduction, 171
Nested Lists, 176
Passing Lists to Functions, 177
Passing Parameters Using List, 178
Reverse(), 175
Search, 174
Set List Item, 173
Sort(), 174
Swap Items, 179
Using Lists during definition, 177
Load Syntax Files
Syntax Flexibility, 673
Loading the Trace library
The Trace Library and the Interactive Debugger, 722
locals()
Reflection and Meta-programming, 271
Logical Operators
Operators, 139
Loop Command
Control Structures - First Style, 146
Looping
Control Structures, 153
Control Structures - First Style, 143
Control Structures - Second Style, 150
Low Level Functions
callgc(), 702
Example - The Trace Library, 718
Example - Using the Trace Functions, 714
Introduction, 701
nullpointer(), 704
Index 1753
10. Ring Documentation, Release 1.5.1
object2pointer(), 704
pointer2object(), 704
ptrcmp(), 705
ringvm_callfunc(), 714
RingVM_CallList(), 710
RingVM_CFunctionsList(), 706
RingVM_ClassesList(), 706
ringvm_evalinscope(), 713
RingVM_FilesList(), 711
RingVM_FunctionsList(), 706
ringvm_hideerrorMsg(), 713
RingVM_MemoryList(), 708
RingVM_PackagesList(), 707
ringvm_passerror(), 713
ringvm_scopescount(), 713
ringvm_settrace(), 712
ringvm_tracedata(), 712
ringvm_traceevent(), 712
ringvm_tracefunc(), 713
space(), 703
varptr(), 703
Main Function
Functions - First Style, 160
Functions - Second Style, 164
Functions - Third Style, 168
Main Menu
Demo Programs, 223
Make a Cube using RingOpenGL and RingFreeGLUT
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 529
makedir()
Stdlib Functions, 302
Map
Game Engine for 2D Games, 449
Map Class
Game Engine for 2D Games, 436
Map Events
Game Engine for 2D Games, 450
map()
Stdlib Functions, 291
Math Class
Stdlib Classes, 313
Mathematical Functions
Decimals(), 201
Example, 198
Introduction, 197
list of functions, 198
Random(), 200
Unsigned(), 201
matrixmulti()
Stdlib Functions, 298
matrixtrans()
Stdlib Functions, 299
MD5()
Security and Internet Functions, 248
Menu Events
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 505
Menubar and StyleSheet Example
Desktop and Mobile Development, 568
Menubar Designer
Form Designer, 650
mergemethods()
Reflection and Meta-programming, 286
Methods to use Events with Events Filter
Desktop and Mobile Development, 631
methods()
Reflection and Meta-programming, 279
Misc Operators
Operators, 140
Module Organization
Extension, 730
More Beatiful Code
Declarative Programming, 332
More Samples and Tests
Form Designer, 652
More Syntax Flexibility
What is new in Ring 1.5?, 57
Motivation
Introduction, 12
Mouse Events
RingLibSDL, 429
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 501
Movable Label Example
Desktop and Mobile Development, 584
Moving Objects using the Mouse
Desktop and Mobile Development, 590
Moving Text
Game Engine for 2D Games, 438
Multi-Line literals
Getting Started - First Style, 114
Getting Started - Second Style, 116
Getting Started - Third Style, 118
MySQL Class
Stdlib Classes, 324
MySQL Functions
Create Database, 237
Create Table and Insert Data, 238
Introduction, 235
MySQL_AutoCommit(), 243
MySQL_Close(), 237
MySQL_Columns(), 240
MySQL_Commit(), 243
MySQL_Connect(), 237
MySQL_Error(), 237
MySQL_Escape_String(), 242
Index 1754