The document provides reference information for various classes in the RingQt library. It includes classes for GUI components like QPushButton, QLabel, QCheckBox, widgets like QTextEdit, QListView, and core classes like QObject, QEvent, QFile. Each class entry includes a link to its documentation in the RingQt Classes Reference. The document also lists extensions to Ring like RingLibCurl, RingLibSDL and RingOpenGL with links to their respective functions references.
The Ring programming language version 1.10 book - Part 211 of 212Mahmoud Samir Fayed
This document provides documentation for the Ring programming language and various Ring extensions and libraries. It includes sections on Ring mode for Emacs editor, the Ring Notepad IDE, the Ring Package Manager (RingPM), embedding Ring code in C/C++ programs, and references for the functions and classes of various Ring extensions for areas like 2D/3D graphics, networking, multimedia and more.
The Ring programming language version 1.7 book - Part 195 of 196Mahmoud Samir Fayed
This document provides summaries of various classes, functions, and concepts in the RingQt library:
- It lists over 100 RingQt classes and provides 1-2 sentence descriptions of what each class is used for. Examples include classes for widgets like QPushButton, QLabel, various layout classes, and classes for handling files, images, network requests and more.
- In addition to documenting classes, it also summarizes key Ring functions like print(), stdlib functions, file functions, math functions and more.
- Various Ring concepts are also summarized like object oriented programming, lists, functions, modules and packages, reflection, and more.
- The document appears to be an API reference or guide for using the Ring programming
The Ring programming language version 1.5.2 book - Part 180 of 181Mahmoud Samir Fayed
This document contains references for classes in the RingQt library. It lists over 100 classes, including common Qt classes like QWidget, QSlider, QSpinBox as well as Ring-specific classes like RingCodeHighlighter. For each class, it provides the class name and page number in the RingQt Classes Reference. The document also includes sections about Ring extensions for OpenGL, SDL, Allegro and more.
The Ring programming language version 1.6 book - Part 188 of 189Mahmoud Samir Fayed
The document provides reference information for various classes in the RingQt library. It lists over 100 classes, including common UI classes like QPushButton, QLabel, QLineEdit, QMainWindow and QWidget, as well as lower level classes for networking, SQL, multimedia, OpenGL and more. Each class is given its name and the page number of its documentation in the RingQt Classes Reference. The document serves as an index of classes available in the RingQt library.
The Ring programming language version 1.10 book - Part 208 of 212Mahmoud Samir Fayed
This document provides a summary of functions in the Ring documentation for Release 1.10. It lists functions for drawing quadrics, normals, orientation, and textures. It also lists functions for scaling images, drawing spheres, starting and ending contours and polygons for tessellation, setting tessellation normals and properties, adding tessellation vertices, and unprojecting coordinates. The document also provides resources for the Ring language like the website, source code repository, contact information, and lists Arabic language resources.
The Ring programming language version 1.5.4 book - Part 184 of 185Mahmoud Samir Fayed
This document provides an overview of various classes in the RingQt library. It lists over 100 classes, including common UI classes like QPushButton, QRadioButton, QSlider, and QWidget, as well as lower level classes like QRect, QRegularExpression, QThread, and QXmlStreamReader. For each class, it provides a brief description and a reference to more documentation in the RingQt Classes Reference. It also includes some additional Ring library documentation and references.
The Ring programming language version 1.2 book - Part 83 of 84Mahmoud Samir Fayed
This document provides a summary of Ring documentation for version 1.2. It includes sections on getting started, the Notepad application, desktop and mobile development, data types, object-oriented programming, ODBC and MySQL functions, files, strings, lists, operators, mathematical functions, reflection, RingQt classes reference and more. It also lists resources for contacting the author, the Ring group, and the Ring language website.
The Ring programming language version 1.9 book - Part 208 of 210Mahmoud Samir Fayed
This document provides documentation on the ODBC Functions available in Ring for connecting to and interacting with ODBC databases. It includes sections on connecting to and closing connections, executing queries, retrieving result sets, and performing transactions using commit and rollback. Individual function references are also provided for each ODBC function.
The Ring programming language version 1.2 book - Part 84 of 84Mahmoud Samir Fayed
This document provides information about Ring documentation including:
- Sections on control structures, syntax flexibility, system functions, stdlib classes, and frequently asked questions.
- Details about new features in Ring 1.1 like better natural language support, a 2D game engine, generating Ring object files, and using self.attribute to define class attributes.
- Details about new features in Ring 1.2 like improved functions, RingQt, objects library for RingQt, RingLibCurl, and using NULL instead of NULLPointer.
The document covers Ring language documentation, features, and provides technical references for using control structures, functions, classes, and other Ring concepts. It summarizes the major changes and new
The Ring programming language version 1.2 book - Part 82 of 84Mahmoud Samir Fayed
Ring provides documentation on creating windows, menus, toolbars, status bars and other common GUI elements. It discusses creating a class for each window, scope rules, and creating more than one window. It also covers creating installers, using MVC patterns for web development, and functions for date, time, files, math, data types, strings and more.
The Ring programming language version 1.2 book - Part 80 of 84Mahmoud Samir Fayed
The document discusses Ring documentation for release 1.2. It notes that the generated RingAllegro source code is around 12,000 lines of code while the configuration file is less than 1,000 lines of code. It provides links to documentation on writing configuration files, using code generators, building libraries and extensions, and using libraries from Ring code. It also discusses extending Ring with other libraries like Qt and how to add new classes to RingQt or create new extensions.
The Ring programming language version 1.10 book - Part 212 of 212Mahmoud Samir Fayed
This document summarizes new features and changes in different versions of the Ring programming language and library. It discusses various topics including using different syntax styles and code editors, developing graphical desktop and mobile applications using RingQt, and using Ring for 3D graphics and games development. The document also provides overviews of the core Ring libraries and language features.
The Ring programming language version 1.5.2 book - Part 181 of 181Mahmoud Samir Fayed
This document provides release notes for Ring version 1.5.2. It lists many new features and changes including better code generation for extensions, improved documentation generation, enhanced libraries for objects, GUI development, web development and more. Various applications developed using Ring are also highlighted such as a calculator, video player and startup manager. The document provides overviews of language changes in previous Ring releases from versions 1.1 to 1.5.1.
The Ring programming language version 1.7 book - Part 193 of 196Mahmoud Samir Fayed
The document provides documentation for functions in the Ring graphics library (RingOpenGL). It lists over 50 functions organized alphabetically including brief descriptions. Some example functions listed are gluBeginCurve(), gluBeginPolygon(), gluBeginSurface(), gluCylinder(), gluDeleteNurbsRenderer(), gluDeleteQuadric(), gluDisk(), gluEndCurve(), gluLookAt(), gluNewNurbsRenderer(), gluNurbsCurve(), gluSphere(), and glDisable(). It also provides links to Ring language documentation and contact information for the Ring authors.
The Ring programming language version 1.5.3 book - Part 191 of 194Mahmoud Samir Fayed
This document provides release notes for Ring version 1.5. It lists improvements made in several areas including quality, the Ring Notepad application, the RingQt GUI library, and the standard library. It also lists new functions added in various releases, such as binarydigits() added in version 1.3 and the ability to convert between numbers and bytes added in version 1.4. The document provides information on building Ring from source code for different operating systems and platforms. It also covers topics like creating games for Android using Ring, building RingQt applications for mobile, and distributing Ring applications.
The Ring programming language version 1.7 book - Part 8 of 196Mahmoud Samir Fayed
Ring 1.6 includes many new features and improvements, including:
1. A new Employee application example.
2. An updated Ring2EXE tool to distribute applications without a C/C++ compiler.
3. Improved support for RingQt Android applications using a single .ringo file rather than multiple .ring files.
4. A new Folder2qrc tool to automatically add files to Android resource files for RingQt mobile applications.
5. Updated build scripts supporting more platforms like Windows, Linux, and macOS.
6. New extensions for console colors and MurmurHash.
7. Enhancements to the Ring Notepad, VM, REPL, and standard libraries.
The Ring programming language version 1.5.3 book - Part 193 of 194Mahmoud Samir Fayed
This document provides summaries of functions, classes, and concepts related to the Ring programming language and its standard libraries. It includes sections on Ring Notepad, RingQt classes and their Qt documentation counterparts, RingOpenGL extension functions, RingLibCurl functions, RingLibSDL functions, and RingZip library functions. The document also provides an overview of concepts like scope rules, object-oriented programming, extension development, embedding Ring in other languages, and language design principles of Ring.
The Ring programming language version 1.10 book - Part 13 of 212Mahmoud Samir Fayed
Ring 1.6 includes several new features such as a new Ring2EXE tool to distribute applications, improved support for Android development using RingQt, and a Folder2qrc tool to simplify adding resources. Other enhancements include updated build scripts, new extensions for console colors and hashing, and various improvements to components like the standard library, Ring Notepad, and RingQt.
The Ring programming language version 1.5.4 book - Part 182 of 185Mahmoud Samir Fayed
This section provides resources about the Ring programming language. It lists the Ring language website, Ring mailing list, and contact information for the authors Mahmoud Fayed and Atif Alamri. It also includes a link to the Ring team page on SourceForge.
The Ring programming language version 1.6 book - Part 186 of 189Mahmoud Samir Fayed
This document provides an index of topics covered in the Ring documentation. It lists over 100 topics in alphabetical order, including descriptions of Ring features like control structures, data types, functions, classes, libraries, and more. Each entry also includes the page number where more information about that topic can be found. This index allows readers to quickly look up and navigate to descriptions of specific Ring concepts, components, and capabilities.
The Ring programming language version 1.8 book - Part 200 of 202Mahmoud Samir Fayed
This document provides a summary of the Ring documentation, including:
1. It discusses how Ring2EXE works and how to distribute Ring applications using Ring2EXE.
2. It covers frequently asked questions about adding elements to QTableWidget, creating modal and array windows, and extending RingQt classes.
3. It provides an overview of Ring features like its compiler, libraries, and how to contribute to the project.
The Ring programming language version 1.5.2 book - Part 178 of 181Mahmoud Samir Fayed
This document provides resources about the Ring programming language:
1. The Ring language website and group provide news and support forums for questions.
2. Contact information is given for two of the authors of Ring, including their names, countries, emails, and social media profiles.
3. An index is provided at the end to help navigate the documentation.
The Ring programming language version 1.9 book - Part 81 of 210Mahmoud Samir Fayed
This document discusses how to build RingQt applications for mobile/Android. It recommends downloading the Android SDK, NDK, Ant, and JDK. It describes using Ring2EXE or the Distribute menu in Ring Notepad to generate a Qt project for mobile with the compiled Ring application file. The generated Qt project can then be opened and built in Qt Creator. It provides some tips for developing RingQt apps for Android, such as using layouts, determining image paths, and avoiding repeated drawing of buttons.
The Ring programming language version 1.8 book - Part 202 of 202Mahmoud Samir Fayed
This document provides summaries of new features for different versions of the Ring programming language and framework. It describes improvements to core components like Ring Notepad, RingQt, the standard library, and new libraries and applications. Some key changes include better support for natural language programming, 3D graphics libraries, type hints, debugging tools, and mobile/desktop development frameworks.
The Ring programming language version 1.6 book - Part 189 of 189Mahmoud Samir Fayed
This document provides a summary of features and changes in Ring 1.6, including:
- Better support for Ring on Android, including a new RingForAndroid tool.
- Performance improvements to the RingVM and various libraries like RingQt and RingNotepad.
- New applications like an Employee Manager were added.
- Additional syntax flexibility and new functions in the standard library.
- Tools like Folder2QRC and Ring2EXE for packaging Ring applications were improved.
The Ring programming language version 1.10 book - Part 10 of 212Mahmoud Samir Fayed
This document summarizes new features and improvements in Ring 1.10, including:
- Better support for big number arithmetic using the BigNumber library.
- Native PostgreSQL support using the RingPostgreSQL extension, with an example showing database connection and queries.
- Updated RingQt extension with additional classes and methods for printing, drag and drop, child events, and geographic functions.
- Improved memory management using a new RING_API function to return managed C pointers from extensions.
- Enhancements to the code generator for extensions such as loading configuration files and managing C pointers.
- Miscellaneous improvements like updated compiler rules, error messages, functions, samples, documentation, and ref
The Ring programming language version 1.10 book - Part 90 of 212Mahmoud Samir Fayed
This document discusses how to distribute Ring applications using Ring2EXE, a tool for compiling Ring code into executable applications.
Ring2EXE takes a Ring source file as input and generates executable files for Windows, Linux, macOS, and mobile platforms. It works by first compiling the Ring code to an object file, embedding that into a C source file, and then using a C compiler to build an executable.
The document provides examples of using Ring2EXE to distribute simple console and GUI applications using Ring libraries like Allegro and Qt. It also describes options for controlling library inclusion, compiler selection, and preparing mobile projects.
The Ring programming language version 1.9 book - Part 12 of 210Mahmoud Samir Fayed
The document summarizes new features and updates in Ring 1.6, including:
1. A new tool called Ring2EXE that allows distributing Ring applications for Windows, Linux, macOS and mobile devices.
2. Improvements to Ring for Android that use a single *.ringo file rather than multiple *.ring files for larger projects.
3. A new tool called Folder2qrc that adds files from a RingQt project folder to the resource file to distribute mobile applications.
The Ring programming language version 1.8 book - Part 199 of 202Mahmoud Samir Fayed
This document contains summaries of various topics in the Ring programming language documentation:
1. It covers sections on control structures, data types, functions, object oriented programming, libraries for graphics, games and GUI development, distributing applications, and more.
2. Details are provided on creating classes, functions, lists, and other programming constructs. The documentation also discusses compiler errors, debugging tools, and evaluating expressions.
3. Libraries covered include those for web development, MySQL, SDL, OpenGL, Allegro, Qt and more. Sections provide guidance on building applications, games, and extensions for different platforms like Android and Windows.
The Ring programming language version 1.6 book - Part 187 of 189Mahmoud Samir Fayed
This document provides summaries of various topics in the Ring programming language documentation, including classes, functions, games, and libraries. It discusses the Sprite class, keyboard and mouse events, state events, and more. It also covers getting started with Ring, control structures, functions, object-oriented programming, regular expressions, networking, and extensions.
The Ring programming language version 1.2 book - Part 84 of 84Mahmoud Samir Fayed
This document provides information about Ring documentation including:
- Sections on control structures, syntax flexibility, system functions, stdlib classes, and frequently asked questions.
- Details about new features in Ring 1.1 like better natural language support, a 2D game engine, generating Ring object files, and using self.attribute to define class attributes.
- Details about new features in Ring 1.2 like improved functions, RingQt, objects library for RingQt, RingLibCurl, and using NULL instead of NULLPointer.
The document covers Ring language documentation, features, and provides technical references for using control structures, functions, classes, and other Ring concepts. It summarizes the major changes and new
The Ring programming language version 1.2 book - Part 82 of 84Mahmoud Samir Fayed
Ring provides documentation on creating windows, menus, toolbars, status bars and other common GUI elements. It discusses creating a class for each window, scope rules, and creating more than one window. It also covers creating installers, using MVC patterns for web development, and functions for date, time, files, math, data types, strings and more.
The Ring programming language version 1.2 book - Part 80 of 84Mahmoud Samir Fayed
The document discusses Ring documentation for release 1.2. It notes that the generated RingAllegro source code is around 12,000 lines of code while the configuration file is less than 1,000 lines of code. It provides links to documentation on writing configuration files, using code generators, building libraries and extensions, and using libraries from Ring code. It also discusses extending Ring with other libraries like Qt and how to add new classes to RingQt or create new extensions.
The Ring programming language version 1.10 book - Part 212 of 212Mahmoud Samir Fayed
This document summarizes new features and changes in different versions of the Ring programming language and library. It discusses various topics including using different syntax styles and code editors, developing graphical desktop and mobile applications using RingQt, and using Ring for 3D graphics and games development. The document also provides overviews of the core Ring libraries and language features.
The Ring programming language version 1.5.2 book - Part 181 of 181Mahmoud Samir Fayed
This document provides release notes for Ring version 1.5.2. It lists many new features and changes including better code generation for extensions, improved documentation generation, enhanced libraries for objects, GUI development, web development and more. Various applications developed using Ring are also highlighted such as a calculator, video player and startup manager. The document provides overviews of language changes in previous Ring releases from versions 1.1 to 1.5.1.
The Ring programming language version 1.7 book - Part 193 of 196Mahmoud Samir Fayed
The document provides documentation for functions in the Ring graphics library (RingOpenGL). It lists over 50 functions organized alphabetically including brief descriptions. Some example functions listed are gluBeginCurve(), gluBeginPolygon(), gluBeginSurface(), gluCylinder(), gluDeleteNurbsRenderer(), gluDeleteQuadric(), gluDisk(), gluEndCurve(), gluLookAt(), gluNewNurbsRenderer(), gluNurbsCurve(), gluSphere(), and glDisable(). It also provides links to Ring language documentation and contact information for the Ring authors.
The Ring programming language version 1.5.3 book - Part 191 of 194Mahmoud Samir Fayed
This document provides release notes for Ring version 1.5. It lists improvements made in several areas including quality, the Ring Notepad application, the RingQt GUI library, and the standard library. It also lists new functions added in various releases, such as binarydigits() added in version 1.3 and the ability to convert between numbers and bytes added in version 1.4. The document provides information on building Ring from source code for different operating systems and platforms. It also covers topics like creating games for Android using Ring, building RingQt applications for mobile, and distributing Ring applications.
The Ring programming language version 1.7 book - Part 8 of 196Mahmoud Samir Fayed
Ring 1.6 includes many new features and improvements, including:
1. A new Employee application example.
2. An updated Ring2EXE tool to distribute applications without a C/C++ compiler.
3. Improved support for RingQt Android applications using a single .ringo file rather than multiple .ring files.
4. A new Folder2qrc tool to automatically add files to Android resource files for RingQt mobile applications.
5. Updated build scripts supporting more platforms like Windows, Linux, and macOS.
6. New extensions for console colors and MurmurHash.
7. Enhancements to the Ring Notepad, VM, REPL, and standard libraries.
The Ring programming language version 1.5.3 book - Part 193 of 194Mahmoud Samir Fayed
This document provides summaries of functions, classes, and concepts related to the Ring programming language and its standard libraries. It includes sections on Ring Notepad, RingQt classes and their Qt documentation counterparts, RingOpenGL extension functions, RingLibCurl functions, RingLibSDL functions, and RingZip library functions. The document also provides an overview of concepts like scope rules, object-oriented programming, extension development, embedding Ring in other languages, and language design principles of Ring.
The Ring programming language version 1.10 book - Part 13 of 212Mahmoud Samir Fayed
Ring 1.6 includes several new features such as a new Ring2EXE tool to distribute applications, improved support for Android development using RingQt, and a Folder2qrc tool to simplify adding resources. Other enhancements include updated build scripts, new extensions for console colors and hashing, and various improvements to components like the standard library, Ring Notepad, and RingQt.
The Ring programming language version 1.5.4 book - Part 182 of 185Mahmoud Samir Fayed
This section provides resources about the Ring programming language. It lists the Ring language website, Ring mailing list, and contact information for the authors Mahmoud Fayed and Atif Alamri. It also includes a link to the Ring team page on SourceForge.
The Ring programming language version 1.6 book - Part 186 of 189Mahmoud Samir Fayed
This document provides an index of topics covered in the Ring documentation. It lists over 100 topics in alphabetical order, including descriptions of Ring features like control structures, data types, functions, classes, libraries, and more. Each entry also includes the page number where more information about that topic can be found. This index allows readers to quickly look up and navigate to descriptions of specific Ring concepts, components, and capabilities.
The Ring programming language version 1.8 book - Part 200 of 202Mahmoud Samir Fayed
This document provides a summary of the Ring documentation, including:
1. It discusses how Ring2EXE works and how to distribute Ring applications using Ring2EXE.
2. It covers frequently asked questions about adding elements to QTableWidget, creating modal and array windows, and extending RingQt classes.
3. It provides an overview of Ring features like its compiler, libraries, and how to contribute to the project.
The Ring programming language version 1.5.2 book - Part 178 of 181Mahmoud Samir Fayed
This document provides resources about the Ring programming language:
1. The Ring language website and group provide news and support forums for questions.
2. Contact information is given for two of the authors of Ring, including their names, countries, emails, and social media profiles.
3. An index is provided at the end to help navigate the documentation.
The Ring programming language version 1.9 book - Part 81 of 210Mahmoud Samir Fayed
This document discusses how to build RingQt applications for mobile/Android. It recommends downloading the Android SDK, NDK, Ant, and JDK. It describes using Ring2EXE or the Distribute menu in Ring Notepad to generate a Qt project for mobile with the compiled Ring application file. The generated Qt project can then be opened and built in Qt Creator. It provides some tips for developing RingQt apps for Android, such as using layouts, determining image paths, and avoiding repeated drawing of buttons.
The Ring programming language version 1.8 book - Part 202 of 202Mahmoud Samir Fayed
This document provides summaries of new features for different versions of the Ring programming language and framework. It describes improvements to core components like Ring Notepad, RingQt, the standard library, and new libraries and applications. Some key changes include better support for natural language programming, 3D graphics libraries, type hints, debugging tools, and mobile/desktop development frameworks.
The Ring programming language version 1.6 book - Part 189 of 189Mahmoud Samir Fayed
This document provides a summary of features and changes in Ring 1.6, including:
- Better support for Ring on Android, including a new RingForAndroid tool.
- Performance improvements to the RingVM and various libraries like RingQt and RingNotepad.
- New applications like an Employee Manager were added.
- Additional syntax flexibility and new functions in the standard library.
- Tools like Folder2QRC and Ring2EXE for packaging Ring applications were improved.
The Ring programming language version 1.10 book - Part 10 of 212Mahmoud Samir Fayed
This document summarizes new features and improvements in Ring 1.10, including:
- Better support for big number arithmetic using the BigNumber library.
- Native PostgreSQL support using the RingPostgreSQL extension, with an example showing database connection and queries.
- Updated RingQt extension with additional classes and methods for printing, drag and drop, child events, and geographic functions.
- Improved memory management using a new RING_API function to return managed C pointers from extensions.
- Enhancements to the code generator for extensions such as loading configuration files and managing C pointers.
- Miscellaneous improvements like updated compiler rules, error messages, functions, samples, documentation, and ref
The Ring programming language version 1.10 book - Part 90 of 212Mahmoud Samir Fayed
This document discusses how to distribute Ring applications using Ring2EXE, a tool for compiling Ring code into executable applications.
Ring2EXE takes a Ring source file as input and generates executable files for Windows, Linux, macOS, and mobile platforms. It works by first compiling the Ring code to an object file, embedding that into a C source file, and then using a C compiler to build an executable.
The document provides examples of using Ring2EXE to distribute simple console and GUI applications using Ring libraries like Allegro and Qt. It also describes options for controlling library inclusion, compiler selection, and preparing mobile projects.
The Ring programming language version 1.9 book - Part 12 of 210Mahmoud Samir Fayed
The document summarizes new features and updates in Ring 1.6, including:
1. A new tool called Ring2EXE that allows distributing Ring applications for Windows, Linux, macOS and mobile devices.
2. Improvements to Ring for Android that use a single *.ringo file rather than multiple *.ring files for larger projects.
3. A new tool called Folder2qrc that adds files from a RingQt project folder to the resource file to distribute mobile applications.
The Ring programming language version 1.8 book - Part 199 of 202Mahmoud Samir Fayed
This document contains summaries of various topics in the Ring programming language documentation:
1. It covers sections on control structures, data types, functions, object oriented programming, libraries for graphics, games and GUI development, distributing applications, and more.
2. Details are provided on creating classes, functions, lists, and other programming constructs. The documentation also discusses compiler errors, debugging tools, and evaluating expressions.
3. Libraries covered include those for web development, MySQL, SDL, OpenGL, Allegro, Qt and more. Sections provide guidance on building applications, games, and extensions for different platforms like Android and Windows.
The Ring programming language version 1.6 book - Part 187 of 189Mahmoud Samir Fayed
This document provides summaries of various topics in the Ring programming language documentation, including classes, functions, games, and libraries. It discusses the Sprite class, keyboard and mouse events, state events, and more. It also covers getting started with Ring, control structures, functions, object-oriented programming, regular expressions, networking, and extensions.
The Ring programming language version 1.9 book - Part 209 of 210Mahmoud Samir Fayed
This document provides a summary of classes and functions available in the Ring programming language version 1.9. It includes over 200 classes and functions ranging from core classes like QObject and QString to GUI classes like QWidget and QGraphicsView. The classes and functions cover a wide range of topics including GUI, 2D/3D graphics, threading, networking, database access, and more.
The Ring programming language version 1.9 book - Part 206 of 210Mahmoud Samir Fayed
This document provides information about contacting the authors of the Ring programming language. It begins with an index of topics covered in the Ring documentation. Then it provides contact information for the Ring Team, whose website is listed as http://ring-lang.sourceforge.net/team.html. The document ends by reiterating the year 2019, suggesting this may be the year the document was published.
The Ring programming language version 1.3 book - Part 87 of 88Mahmoud Samir Fayed
This document provides documentation on Ring programming language functions, classes, and concepts. It includes summaries of RingVM functions for interacting with the virtual machine, standard library functions for tasks like file handling and mathematical operations, classes for game development and GUI programming with Qt, and descriptions of programming paradigms like object oriented programming and functional programming supported by Ring. The document also covers Ring compiler options, distributing Ring applications, and new features in different versions of Ring.
The Ring programming language version 1.5.4 book - Part 185 of 185Mahmoud Samir Fayed
This document provides summaries of functions, classes, and concepts in the Ring programming language. It discusses topics like data types, control structures, functions, object-oriented programming, GUI development, extensions, and more. New features are highlighted for each Ring version from 1.1 to 1.5.4, such as improved documentation, libraries, flexibility in syntax, and applications. Frequently asked questions are also addressed.
The Ring programming language version 1.3 book - Part 86 of 88Mahmoud Samir Fayed
This document provides information about Ring documentation and code generation tools. It discusses how to execute code during code generation, filter functions using expressions, register new functions, support threads, and use configuration files to wrap C++ libraries and structures. It also covers topics like prefixing function names, Qt configuration files, and using the code generation tool.
The Ring programming language version 1.4 book - Part 30 of 30Mahmoud Samir Fayed
This document provides an index of topics covered in the Ring documentation, listed alphabetically. Each entry briefly describes the topic and includes relevant subtopics and cross-references.
The Ring programming language version 1.4.1 book - Part 31 of 31Mahmoud Samir Fayed
This document provides release notes for Ring version 1.4.1, including new features and changes across many areas such as embedding Ring in Ring, lists, reflection and meta-programming, object oriented programming, security functions, extension features, control structures, stdlib functions and classes, SQLite, game engine for 2D games, desktop and mobile development, web development, syntax flexibility, system functions, date and time, files, mathematical functions, data types, strings, graphics and game programming, code generator, and frequently asked questions. New features include support for the natural language library, threads support in the code generator, and updates to building RingQt applications for mobile.
The Ring programming language version 1.5.4 book - Part 183 of 185Mahmoud Samir Fayed
This document provides summaries of various topics related to functions and classes in Ring including: defining functions; parameters, return values, and scope; recursion; and calling functions. It also summarizes topics related to game engines in Ring such as classes for sprites, maps, sound, and more. Additionally, it summarizes Ring's graphics and GUI capabilities as well as functions for strings, lists, files, and more.
The Ring programming language version 1.5.2 book - Part 179 of 181Mahmoud Samir Fayed
This document provides summaries of sections from the Ring documentation:
1. The "Game Engine for 2D Games" section describes how to create 2D games using Ring classes like Sprite, Map, and Sound and includes an example Flappy Bird game.
2. The "Getting Input" section explains how to get user input in Ring using functions like GetChar() and Input() and includes examples of reading single characters and strings from the user.
3. The "Lists" section describes how to work with lists in Ring, including how to create, access, modify, and sort lists as well as pass lists to functions.
The Ring programming language version 1.5.3 book - Part 194 of 194Mahmoud Samir Fayed
The document provides a summary of features and documentation for Ring version 1.5.3, including sections on Hello World programs, data structures, functions, classes, libraries, examples and frequently asked questions. It covers topics such as web development, graphics, databases and desktop/mobile applications. The document lists new features introduced in various Ring releases ranging from versions 1.1 to 1.5.3.
The Ring programming language version 1.5.1 book - Part 178 of 180 Mahmoud Samir Fayed
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.
The Ring programming language version 1.10 book - Part 210 of 212Mahmoud Samir Fayed
This document contains summaries of various Ring classes, functions and concepts:
- It describes Ring classes like the Map, Math, MySQL, and PostgreSQL classes.
- It lists and briefly explains Ring standard library functions such as map(), random(), newlist(), and print().
- It covers Ring concepts and features like object oriented programming, operators, files and I/O, GUI programming, and web development.
The Ring programming language version 1.3 book - Part 8 of 88Mahmoud Samir Fayed
This document provides instructions for building Ring from source code on different platforms, including Windows, Linux, and macOS. It describes how to obtain the Ring source code from GitHub, install any required libraries, generate code for Ring extensions, and build the Ring compiler and virtual machine. The document also notes that Ring is open source under the MIT license and welcomes community contributions in areas like documentation, testing, samples, applications, editor support, libraries, and the compiler/VM code itself.
The Ring programming language version 1.5.3 book - Part 15 of 184Mahmoud Samir Fayed
- Obtain Ring source code from GitHub and install dependencies
- Build Ring compiler/VM and extensions like RingODBC, RingMySQL, etc.
- Generate source code for extensions like RingAllegro, RingQt using code generators
- Build generated extension source code
- Install Ring binaries to make ring command available from any directory
The Ring programming language version 1.5.4 book - Part 15 of 185Mahmoud Samir Fayed
1. Clone the Ring source code repository from GitHub.
2. Run build scripts to compile the Ring compiler/VM and extensions like RingODBC, RingMySQL, etc.
3. Generate and build code for extensions that interface with external libraries like RingQt and RingAllegro.
4. Add the Ring bin directory to the system PATH so Ring can be run from any location.
5. Run a sample Ring application like the Ring Notepad to test the build.
The Ring programming language version 1.3 book - Part 88 of 88Mahmoud Samir Fayed
This document provides summaries of various topics in Ring documentation:
- It describes different scopes in Ring including three main scopes: global, class, and local scopes. Class methods can access objects using braces.
- It discusses scope rules for functions and methods, how Ring finds variables and functions, and issues around sharing names between functions and methods.
- It briefly introduces several Ring standard library classes and security/internet functions for encryption, hashing, file operations and sending emails.
The Ring programming language version 1.10 book - Part 207 of 212Mahmoud Samir Fayed
This document contains listings of over 100 OpenGL functions related to lighting, materials, textures, and rendering. The functions listed specify parameters for lights, materials, texture coordinates, and rendering operations like clearing buffers and drawing primitives.
The Ring programming language version 1.10 book - Part 205 of 212Mahmoud Samir Fayed
This document lists numerous OpenGL constants and enumerations related to textures, blending, shaders, buffers, and other graphics features. It includes constants for texture types and formats, shader variable types, buffer bindings and usages, and more. The listing contains over 200 individual constants and enumerations without descriptions.
The Ring programming language version 1.10 book - Part 206 of 212Mahmoud Samir Fayed
The document lists OpenGL functions and constants added in version 1.10 of the OpenGL specification. It includes over 100 functions and constants for features such as unsigned integer textures, texture buffers, geometry shaders, transform feedback, and more robust context handling.
The Ring programming language version 1.10 book - Part 203 of 212Mahmoud Samir Fayed
The document contains a list of functions and constants related to OpenGL graphics functionality. It includes functions for vertex specification, texture mapping, tessellation, nurbs modeling, quadric surfaces, and more. It also includes constants for OpenGL states, modes, and error codes.
The Ring programming language version 1.10 book - Part 202 of 212Mahmoud Samir Fayed
The document lists over 100 OpenGL functions for querying and retrieving information about OpenGL objects, state, and errors. Some of the functions listed include glGetError() to retrieve OpenGL error codes, glGetUniformLocation() to retrieve the location of a uniform variable in a program, and glGetString() to retrieve version and extension information.
The Ring programming language version 1.10 book - Part 201 of 212Mahmoud Samir Fayed
The document lists various OpenGL constants and functions related to OpenGL graphics functionality. It includes constants for texture and color formats, clipping planes, buffer objects, shader operations, and more. It also lists over 100 OpenGL function declarations for operations like drawing, clearing, texture handling, blending, and shader manipulation.
The Ring programming language version 1.10 book - Part 200 of 212Mahmoud Samir Fayed
This document lists numerous OpenGL constants related to graphics hardware capabilities, state variables, and functions. It includes constants for vertex arrays, texture mapping, blending, multisampling, shader types, and more. The constants are used to query and set the state and capabilities of the OpenGL graphics processing context.
The Ring programming language version 1.10 book - Part 199 of 212Mahmoud Samir Fayed
The document lists over 200 OpenGL constants related to graphics rendering features such as fog, depth testing, blending, textures, and more. It provides the names of constants for configuring various graphics pipeline states and settings in OpenGL.
The Ring programming language version 1.10 book - Part 198 of 212Mahmoud Samir Fayed
The document contains listings of over 100 OpenGL and GLU function declarations related to texture coordinates, uniforms, vertex specification, and tessellation. It provides the function name, return type if any, and parameters for each function for specifying texture coordinates, uniforms, vertices and performing tessellation in OpenGL and GLU.
The Ring programming language version 1.10 book - Part 197 of 212Mahmoud Samir Fayed
The document contains documentation for over 100 OpenGL functions related to rendering, textures, shaders, and more. It lists each function name and its parameters. The functions allow specifying colors, textures, shader programs, and various rendering states and operations in OpenGL.
The Ring programming language version 1.10 book - Part 196 of 212Mahmoud Samir Fayed
This document lists OpenGL constants and functions related to graphics rendering. It includes constants for buffer types, shader data types, texture types, and more. It also lists function prototypes for common OpenGL operations like drawing, clearing, binding textures and buffers, and setting shader uniforms.
The Ring programming language version 1.10 book - Part 195 of 212Mahmoud Samir Fayed
The document lists over 200 OpenGL constants related to textures, vertex arrays, blending, and buffer objects. It provides reference documentation for OpenGL version 1.10 including constants for texture formats and parameters, vertex attribute types, blending functions, and buffer usage flags.
The Ring programming language version 1.10 book - Part 194 of 212Mahmoud Samir Fayed
The document lists various constants used in OpenGL such as GL_FOG_BIT, GL_DEPTH_BUFFER_BIT, GL_ACCUM, and others related to OpenGL rendering, blending, textures, lighting, and more. It provides definitions for OpenGL enums and related values.
The Ring programming language version 1.10 book - Part 193 of 212Mahmoud Samir Fayed
This document lists over 100 OpenGL functions for specifying textures, lighting, shaders, and other graphics operations. The functions include glMultiTexCoord2iv() for specifying texture coordinates, glNormal3f() for specifying normals, and glUniform1f() for specifying shader uniforms.
The Ring programming language version 1.10 book - Part 192 of 212Mahmoud Samir Fayed
This document lists OpenGL functions and constants that were added or changed in OpenGL version 1.10. It includes over 150 new OpenGL constants for features such as geometry shaders, transform feedback, cube map arrays, and more. It also lists over 80 OpenGL functions, providing their parameters and types.
The Ring programming language version 1.10 book - Part 191 of 212Mahmoud Samir Fayed
This document lists numerous OpenGL constants related to textures, blending, shaders, buffers, and other graphics features. It includes constants for texture types, shader data types, buffer bindings, and more. The constants are for OpenGL version 1.10.
The Ring programming language version 1.10 book - Part 189 of 212Mahmoud Samir Fayed
The document contains listings of various OpenGL functions organized into sections. It provides documentation for OpenGL functions related to rendering, textures, lighting, materials, and more. The listings include the function name, parameters, and brief description for over 150 OpenGL functions.
The Ring programming language version 1.10 book - Part 188 of 212Mahmoud Samir Fayed
The document describes OpenGL functions for getting and setting OpenGL state, such as functions for getting and setting texture parameters, shader parameters, vertex attributes, and more. It includes over 150 functions organized alphabetically.
War Story: Removing Offensive Language from Percona ToolkitSveta Smirnova
Slides for the online stream at https://www.youtube.com/live/JOEpIQL7cXM for Percona (https://percona.community/events/2025-03-sveta-toolkit/) MySQL 8.4 GA was released with dropped offensive replication statements, such as START/STOP SLAVE. As a maintainer of the Percona Toolkit: a set of tools, originally written in the early days of MySQL when nobody was even thinking that these statements would change, - I had to rewrite all tools and libraries that use replication statements. This ended up with a huge changeset for 511 files in the toolkit. This stream covers the resolved and not yet resolved challenges that I have met when renewing legacy code.
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATIONmiso_uam
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION (plenary talk at ANNSIM'2025)
Testing is essential to improve the correctness of software systems. Metamorphic testing (MT) is an approach especially suited when the system under test lacks oracles, or they are expensive to compute. However, building an MT environment for a particular domain (e.g., cloud simulation, automated driving simulation, production system simulation, etc) requires substantial effort.
To alleviate this problem, we propose a model-driven engineering approach to automate the construction of MT environments, which is especially useful to test domain-specific modelling and simulation systems. Starting from a meta-model capturing the domain concepts, and a description of the domain execution environment, our approach produces an MT environment featuring comprehensive support for the MT process. This includes the definition of domain-specific metamorphic relations, their evaluation, detailed reporting of the testing results, and the automated search-based generation of follow-up test cases.
In this talk, I presented the approach, along with ongoing work and perspectives for integrating intelligence assistance based on large language models in the MT process. The work is a joint collaboration with Pablo Gómez-Abajo, Pablo C. Cañizares and Esther Guerra from the miso research group and Alberto Núñez from UCM.
Micro-Metrics Every Performance Engineer Should Validate Before Sign-OffTier1 app
When it comes to performance testing, most engineers instinctively gravitate toward the big-picture indicators—response time, memory usage, throughput. But what about the smaller, more subtle indicators that quietly shape your application’s performance and stability? we explored the hidden layer of performance diagnostics that too often gets overlooked: micro-metrics. These small but mighty data points can reveal early signs of trouble long before they manifest as outages or degradation in production.
From garbage collection behavior and object creation rates to thread state transitions and blocked thread patterns, we unpacked the critical micro-metrics every performance engineer should assess before giving the green light to any release.
This session went beyond the basics, offering hands-on demonstrations and JVM-level diagnostics that help identify performance blind spots traditional tests tend to miss. We showed how early detection of these subtle anomalies can drastically reduce post-deployment issues and production firefighting.
Whether you're a performance testing veteran or new to JVM tuning, this session helped shift your validation strategies left—empowering you to detect and resolve risks earlier in the lifecycle.
Design by Contract - Building Robust Software with Contract-First DevelopmentPar-Tec S.p.A.
In the fast-paced world of software development, code quality and reliability are paramount. This SlideShare deck, presented at PyCon Italia 2025 by Antonio Spadaro, DevOps Engineer at Par-Tec, introduces the “Design by Contract” (DbC) philosophy and demonstrates how a Contract-First Development approach can elevate your projects.
Beginning with core DbC principles—preconditions, postconditions, and invariants—these slides define how formal “contracts” between classes and components lead to clearer, more maintainable code. You’ll explore:
The fundamental concepts of Design by Contract and why they matter.
How to write and enforce interface contracts to catch errors early.
Real-world examples showcasing how Contract-First Development improves error handling, documentation, and testability.
Practical Python demonstrations using libraries and tools that streamline DbC adoption in your workflow.
A Claims Processing System enhances customer satisfaction, efficiency, and compliance by automating the claims lifecycle—enabling faster settlements, fewer errors, and greater transparency. Explore More - https://www.damcogroup.com/insurance/claims-management-software
Content Mate Web App Triples Content Managers‘ ProductivityAlex Vladimirovich
Content Mate is a web application that consolidates dozens of fragmented operations into a single interface. The input is a list of product SKUs, and the output is an archive containing processed images, PDF documents, and spreadsheets with product names, descriptions, attributes, and key features—ready for bulk upload.
The rise of e-commerce has redefined how retailers operate—and reconciliation...Prachi Desai
As payment flows grow more fragmented, the complexity of reconciliation and revenue recognition increases. The result? Mounting operational costs, silent revenue leakages, and avoidable financial risk.
Spot the inefficiencies. Automate what’s slowing you down.
https://www.taxilla.com/ecommerce-reconciliation
Delivering More with Less: AI Driven Resource Management with OnePlan OnePlan Solutions
Delivering more with less is an age-old problem. Smaller budgets, leaner teams, and greater uncertainty make the path to success unclear. Combat these issues with confidence by leveraging the best practices that help PMOs balance workloads, predict bottlenecks, and ensure resources are deployed effectively, using OnePlan’s AI forecasting capabilities, especially when organizations must deliver more with fewer people.
How John started to like TDD (instead of hating it) (ViennaJUG, June'25)Nacho Cougil
Let me share a story about how John (a developer like any other) started to understand (and enjoy) writing Tests before the Production code.
We've all felt an inevitable "tedium" when writing tests, haven't we? If it's boring, if it's complicated or unnecessary? Isn't it? John thought so too, and, as much as he had heard about writing tests before production code, he had never managed to put it into practice, and even when he had tried, John had become even more frustrated at not understanding how to put it into practice outside of a few examples katas 🤷♂️
Listen to this story in which I will explain how John went from not understanding Test Driven Development (TDD) to being passionate about it... so much that now he doesn't want to work any other way 😅 ! He must have found some benefits in practising it, right? He says he has more advantages than working in any other way (e.g., you'll find defects earlier, you'll have a faster feedback loop or your code will be easier to refactor), but I'd better explain it to you in the session, right?
PS: Think of John as a random person, as if he was even the speaker of this talk 😉 !
---
Presentation shared at ViennaJUG, June'25
Feedback form:
https://bit.ly/john-like-tdd-feedback
Alt-lenders are scaling fast, but manual loan reconciliation is cracking under pressure. See how automation solves revenue leakage and compliance chaos.
https://www.taxilla.com/loan-repayment-reconciliation
Boost Student Engagement with Smart Attendance Software for SchoolsVisitu
Boosting student engagement is crucial for educational success, and smart attendance software is a powerful tool in achieving that goal. Read the doc to know more.
Online Queue Management System for Public Service Offices [Focused on Municip...Rishab Acharya
This report documents the design and development of an Online Queue Management System tailored specifically for municipal offices in Nepal. Municipal offices, as critical providers of essential public services, face challenges including overcrowded queues, long waiting times, and inefficient service delivery, causing inconvenience to citizens and pressure on municipal staff. The proposed digital platform allows citizens to book queue tokens online for various physical services, facilitating efficient queue management and real-time wait time updates. Beyond queue management, the system includes modules to oversee non-physical developmental programs, such as educational and social welfare initiatives, enabling better participation and progress monitoring. Furthermore, it incorporates a module for monitoring infrastructure development projects, promoting transparency and allowing citizens to report issues and track progress. The system development follows established software engineering methodologies, including requirement analysis, UML-based system design, and iterative testing. Emphasis has been placed on user-friendliness, security, and scalability to meet the diverse needs of municipal offices across Nepal. Implementation of this integrated digital platform will enhance service efficiency, increase transparency, and improve citizen satisfaction, thereby supporting the modernization and digital transformation of public service delivery in Nepal.
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfol...Philip Schwarz
In this deck we look at the following:
* how unfolding lists is the computational dual of folding lists
* different variants of the function for unfolding lists
* how they relate to the iterate function
Agentic AI Desgin Principles in five slides.pptxMOSIUOA WESI
Discover the core design patterns that enable AI agents to think, learn, and collaborate like never before. From breaking down goals to coordinating across systems, these patterns form the foundation of advanced intelligent behavior. Learn how reinforcement learning, hierarchical planning, and multi-agent systems are transforming AI capabilities. This presentation offers a concise yet powerful overview of agentic design in action. Perfect for developers, researchers, and AI enthusiasts ready to build smarter systems.
Rebuilding Cadabra Studio: AI as Our Core FoundationCadabra Studio
Cadabra Studio set out to reconstruct its core processes, driven entirely by AI, across all functions of its software development lifecycle. This journey resulted in remarkable efficiency improvements of 40–80% and reshaped the way teams collaborate. This presentation shares our challenges and lessons learned in becoming an AI-native firm, including overcoming internal resistance and achieving significant project delivery gains. Discover our strategic approach and transformative recommendations to integrate AI not just as a feature, but as a fundamental element of your operational structure. What changes will AI bring to your company?
Rebuilding Cadabra Studio: AI as Our Core FoundationCadabra Studio
The Ring programming language version 1.8 book - Part 201 of 202
1. Ring Documentation, Release 1.8
QString2 Class
RingQt Classes Reference, 1069
QStringList Class
RingQt Classes Reference, 1069
QStringRef Class
RingQt Classes Reference, 1070
QSurfaceFormat Class
RingQt Classes Reference, 1072
QSystemTrayIcon Class
RingQt Classes Reference, 1073
Qt Class Convertor
What is new in Ring 1.4?, 122
Qt configuration file
Code Generator, 874
QTabBar Class
RingQt Classes Reference, 1074
QTableView Class
RingQt Classes Reference, 1077
QTableWidget Class
RingQt Classes Reference, 1078
QTableWidgetItem Class
RingQt Classes Reference, 1080
QTabWidget Class
RingQt Classes Reference, 1075
QTcpServer Class
RingQt Classes Reference, 1081
QTcpSocket Class
RingQt Classes Reference, 1082
QTest Class
RingQt Classes Reference, 1083
QTextBlock Class
RingQt Classes Reference, 1083
QTextBrowser Class
RingQt Classes Reference, 1084
QTextCharFormat Class
RingQt Classes Reference, 1084
QTextCodec Class
RingQt Classes Reference, 1086
QTextCursor Class
RingQt Classes Reference, 1086
QTextDocument Class
RingQt Classes Reference, 1088
QTextEdit Class
RingQt Classes Reference, 1090
QThread Class
RingQt Classes Reference, 1093
QThreadPool Class
RingQt Classes Reference, 1094
QTime Class
RingQt Classes Reference, 1094
QTimer Class
RingQt Classes Reference, 1095
QToolBar Class
RingQt Classes Reference, 1095
QToolButton Class
RingQt Classes Reference, 1096
QTreeView Class
RingQt Classes Reference, 1097
QTreeWidget Class
RingQt Classes Reference, 1099
QTreeWidgetItem Class
RingQt Classes Reference, 1101
Queue Class
Stdlib Classes, 377
Quotes about Ring
Applications developed in little hours, 1
QUrl Class
RingQt Classes Reference, 1102
QUuid Class
RingQt Classes Reference, 1104
QVariant Class
RingQt Classes Reference, 1104
QVBoxLayout Class
RingQt Classes Reference, 1104
QVector2D Class
RingQt Classes Reference, 1105
QVector3D Class
RingQt Classes Reference, 1106
QVector4D Class
RingQt Classes Reference, 1106
QVideoWidget and QMediaPlayer
Desktop and Mobile Development, 663
QVideoWidget Class
RingQt Classes Reference, 1107
QVideoWidgetControl Class
RingQt Classes Reference, 1108
QWebEngineView Class
RingQt Classes Reference, 1108
QWebView Class
RingQt Classes Reference, 1109
QWidget Class
RingQt Classes Reference, 1110
QWindow Class
RingQt Classes Reference, 1116
QXmlStreamAttribute Class
RingQt Classes Reference, 1119
QXmlStreamAttributes Class
RingQt Classes Reference, 1120
QXmlStreamEntityDeclaration Class
RingQt Classes Reference, 1120
QXmlStreamEntityResolver Class
RingQt Classes Reference, 1120
QXmlStreamNamespaceDeclaration Class
RingQt Classes Reference, 1121
QXmlStreamNotationDeclaration Class
RingQt Classes Reference, 1121
QXmlStreamReader Class
RingQt Classes Reference, 1121
Index 1971
2. Ring Documentation, Release 1.8
QXmlStreamWriter Class
RingQt Classes Reference, 1123
Raise()
Eval() and Debugging, 283
RandBytes()
Security and Internet Functions, 314
Random Image
Web Development (CGI Library), 438
Random()
Mathematical Functions, 262
Read File using Read()
Files, 266
readline()
Stdlib Functions, 366
Real Natual Code
Natural Language Programming, 407
Recursion
Functions - First Style, 220
Functions - Second Style, 224
Functions - Third Style, 228
Reference
Compiler Errors, 921
Environment Errors, 923
Introduction, 918
Language Functions, 920
Language Grammar, 923
Language Keywords, 919
Runtime Errors, 922
Virtual Machine Instructions, 925
Reflection and Meta-programming
addattribute(), 348
addmethod(), 348
attributes(), 345
cfunctions(), 338
classes(), 342
classname(), 344
functions(), 338
getattribute(), 350
globals(), 337
Introduction, 335
isattribute(), 346
iscfunction(), 340
isclass(), 342
isfunction(), 339
isglobal(), 339
islocal(), 339
ismethod(), 347
isobject(), 345
ispackage(), 341
ispackagesclass(), 343
isprivateattribute(), 346
isprivatemethod(), 347
locals(), 337
mergemethods(), 352
methods(), 345
objectid(), 344
packagename(), 353
packages(), 340
packagesclasses(), 343
setattribute(), 351
Register New Functions
Code Generator, 868
Regular Expressions
Desktop and Mobile Development, 698
Relational Operators
Operators, 197
Remove()
Files, 267
Rename()
Files, 267
Resources
Arabic Resources, 1946
Contact the Authors, 1946
Introduction, 1945
Ring Group, 1946
Ring Language Website, 1946
Source Code, 1946
Restore Image From The Database
MySQL Functions, 304
Return object by reference
Declarative Programming, 396
Return Self by Reference
What is new in Ring 1.3?, 136
Return Value
Extension, 855
Functions - First Style, 219
Functions - Second Style, 223
Functions - Third Style, 227
Reverse()
Lists, 234
Rewind()
Files, 269
Right()
Strings, 242
Ring and other languages
Introduction, 24
RING API - list Functions
Extension, 857
RING API - String Functions
Extension, 859
Ring CGI Hello World Program
Web Development (CGI Library), 419
Ring Group
Resources, 1946
Ring Language Website
Resources, 1946
Ring mode for Emacs Editor
Index 1972
3. Ring Documentation, Release 1.8
What is new in Ring 1.3?, 134
Ring Notepad
Introduction, 174
Ring Notepad - Creating and running your first con-
sole application, 175
Ring Notepad - Creating and running your first game,
181
Ring Notepad - Creating and running your first GUI
application, 178
Ring Notepad - Creating and running your first Web
application, 179
Ring Notepad - Main Window, 175
The Browser Menu, 186
The Distribute Menu, 187
The Edit Menu, 183
The File Menu, 183
The Help Menu, 187
The Main File in the Project, 182
The Program Menu, 186
The Tools Menu, 187
The View Menu, 184
Ring Notepad - Creating and running your first console
application
Ring Notepad, 175
Ring Notepad - Creating and running your first game
Ring Notepad, 181
Ring Notepad - Creating and running your first GUI ap-
plication
Ring Notepad, 178
Ring Notepad - Creating and running your first Web ap-
plication
Ring Notepad, 179
Ring Notepad - Main Window
Ring Notepad, 175
Ring State
Embedding Ring Language in C/C++ Programs, 862
Ring State Functions
Embedding Ring Language in C/C++ Programs, 862
Ring State Variables
Embedding Ring Language in C/C++ Programs, 863
Ring VM - Tracing Functions
What is new in Ring 1.5?, 96
ring_ext.c
Extension, 852
ring_ext.h
Extension, 852
ring_state_new() and ring_state_mainfile()
Embedding Ring in Ring, 850
ring_state_new() and ring_state_mainfile() functions
What is new in Ring 1.7?, 54
ring_state_setvar()
Embedding Ring in Ring, 849
RingAllegro Functions Reference
Introduction, 1152
RingCodeHighlighter Class
RingQt Classes Reference, 1124
RingConsoleColors Extension
What is new in Ring 1.6?, 63
RingConsoleColors Functions Reference
Introduction, 1150
RingFreeGLUT Extension
What is new in Ring 1.5?, 82
RingFreeGLUT Functions Reference
Introduction, 1204
RingLibCurl
Facebook Login, 472
Get Request, 472
Get Stock Data From Yahoo, 474
Introduction, 471
Post Request, 472
Save output to string, 473
What is new in Ring 1.2?, 143
RingLibCurl Functions Reference
Introduction, 1140
RingLibSDL
Close Window Event, 496
Create Window, 493
Display Image, 493
Display PNG Images, 494
Display Transparent Images, 495
Draw Rectangle, 494
Introduction, 492
Mouse Events, 497
Play Sound, 498
Switch Between Two Images, 493
Use TTF Fonts, 495
What is new in Ring 1.1?, 152
RingLibSDL Functions Reference
Introduction, 1171
RingLibuv
Client Example, 502
Client Example - Using Classes, 505
First Application using RingLibuv, 500
Introduction, 499
Server Example, 501
Server Example using Classes, 504
The Events Loop, 501
Threads Example, 506
Threads Example - Using Classes, 507
RingLibuv Extension
What is new in Ring 1.7?, 57
RingLibuv Functions Reference
Introduction, 1195
RingLibZip Functions Reference
Introduction, 1149
RingMurmurHash Extension
What is new in Ring 1.6?, 63
RingMurmurHash Functions Reference
Index 1973
6. Ring Documentation, Release 1.8
QTableWidgetItem Class, 1080
QTabWidget Class, 1075
QTcpServer Class, 1081
QTcpSocket Class, 1082
QTest Class, 1083
QTextBlock Class, 1083
QTextBrowser Class, 1084
QTextCharFormat Class, 1084
QTextCodec Class, 1086
QTextCursor Class, 1086
QTextDocument Class, 1088
QTextEdit Class, 1090
QThread Class, 1093
QThreadPool Class, 1094
QTime Class, 1094
QTimer Class, 1095
QToolBar Class, 1095
QToolButton Class, 1096
QTreeView Class, 1097
QTreeWidget Class, 1099
QTreeWidgetItem Class, 1101
QUrl Class, 1102
QUuid Class, 1104
QVariant Class, 1104
QVBoxLayout Class, 1104
QVector2D Class, 1105
QVector3D Class, 1106
QVector4D Class, 1106
QVideoWidget Class, 1107
QVideoWidgetControl Class, 1108
QWebEngineView Class, 1108
QWebView Class, 1109
QWidget Class, 1110
QWindow Class, 1116
QXmlStreamAttribute Class, 1119
QXmlStreamAttributes Class, 1120
QXmlStreamEntityDeclaration Class, 1120
QXmlStreamEntityResolver Class, 1120
QXmlStreamNamespaceDeclaration Class, 1121
QXmlStreamNotationDeclaration Class, 1121
QXmlStreamReader Class, 1121
QXmlStreamWriter Class, 1123
RingCodeHighlighter Class, 1124
RingREPL
What is new in Ring 1.4?, 118
RingSQLite
What is new in Ring 1.1?, 153
ringvm_callfunc()
Low Level Functions, 834
RingVM_CallList()
Low Level Functions, 830
RingVM_CFunctionsList()
Low Level Functions, 826
RingVM_ClassesList()
Low Level Functions, 826
ringvm_evalinscope()
Low Level Functions, 833
RingVM_FilesList()
Low Level Functions, 831
RingVM_FunctionsList()
Low Level Functions, 826
ringvm_give() function
Low Level Functions, 842
ringvm_hideerrorMsg()
Low Level Functions, 833
RingVM_MemoryList()
Low Level Functions, 828
RingVM_PackagesList()
Low Level Functions, 827
ringvm_passerror()
Low Level Functions, 833
ringvm_scopescount()
Low Level Functions, 833
ringvm_see() and ringvm_give() functions
What is new in Ring 1.7?, 53
ringvm_see() function
Low Level Functions, 841
ringvm_settrace()
Low Level Functions, 832
ringvm_tracedata()
Low Level Functions, 832
ringvm_traceevent()
Low Level Functions, 832
ringvm_tracefunc()
Low Level Functions, 833
RingZip
Create Zip File, 476
Extract Zip File, 476
Introduction, 475
Print files in Zip file, 476
Using RingZip Classes, 476
Zip Class Reference, 478
ZipEntry Class Reference, 478
RingZip Library
What is new in Ring 1.3?, 137
Rotate Text
Desktop and Mobile Development, 695
Rules
The Type Hints Library, 788
Run the program
Getting Started - First Style, 167
Getting Started - Second Style, 170
Getting Started - Third Style, 172
Running Forms
Form Designer, 747
Runtime Errors
Reference, 922
Runtime Errors when Embedding Ring in Ring
Index 1976
7. Ring Documentation, Release 1.8
Embedding Ring in Ring, 851
Samples
How to contribute?, 165
Samples in this book
Applications developed in little hours, 14
Samples Source (Authors)
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 561
Save and Restore Images
ODBC Functions, 296
Save Image Inside the Database
MySQL Functions, 304
Save output to string
RingLibCurl, 473
Scaling and Rotating Images
Graphics and Game Programming, 488
Scope Rules
Accessing the class attributes from braces inside
class methods, 763
Conflict between Class Attributes and Local Vari-
ables, 760
Conflict between Global Variables and Class At-
tributes, 759
Conflict between self inside braces and self in the
class region, 766
Creating a Class for each Window in GUI applica-
tions, 765
Defining Variables and Variables Access, 757
How Ring find the Variable?, 758
Introduction, 756
Summary of Scope Rules, 770
The For Loops uses the local scope, 770
The Self Object, 758
Three Scopes, 757
Using Braces to access objects inside Class Methods,
761
Using braces to escape from the current object scope,
769
Using Object.Attribute, 758
Scope Rules for Functions and Methods
Calling a function sharing the name with a method in
the current class, 775
Example about Sharing Names between Functions
and Methods, 773
How Ring find a functions and methods?, 773
Introduction, 772
ScriptFunctions Class
Web Development (CGI Library), 469
Search
Lists, 233
Search of global names while defining the class attributes
Frequently Asked Questions, 899
Security and Internet Functions
Decrypt(), 313
Download(), 314
Encrypt(), 312
Example, 313
File Hash, 313
Introduction, 309
MD5(), 310
RandBytes(), 314
SendEmail(), 314
SHA1(), 311
SHA224(), 312
SHA256(), 311
SHA384(), 312
SHA512(), 311
Security Class
Stdlib Classes, 393
Send Parameters
Functions - First Style, 218
Functions - Second Style, 222
Functions - Third Style, 226
SendEmail()
Security and Internet Functions, 314
Serial Execution of Programs
Embedding Ring in Ring, 848
Server Example
RingLibuv, 501
Server Example using Classes
RingLibuv, 504
Set List Item
Lists, 232
setattribute()
Reflection and Meta-programming, 351
Setter and Getter
Object Oriented Programming, 320
SHA1()
Security and Internet Functions, 311
SHA224()
Security and Internet Functions, 312
SHA256()
Security and Internet Functions, 311
SHA384()
Security and Internet Functions, 312
SHA512()
Security and Internet Functions, 311
Shared Libraries
Extension, 860
Short-circuit evaluation
Control Structures - First Style, 204
Shutdown() Function
System Functions, 281
sign()
Stdlib Functions, 360
Simple
Language Design, 29
Index 1977
8. Ring Documentation, Release 1.8
Simple Client and Server Example
Desktop and Mobile Development, 699
Sin() Implementation
Extension, 856
Single: Desktop and Mobile Development
Introduction, 630
sleep()
Stdlib Functions, 367
Smart Garbage Collector
Language Design, 37
Sort()
Lists, 233
Sort() and List of Objects
Object Oriented Programming, 326
Sound Class
Game Engine for 2D Games, 512
Source Code
Resources, 1946
Source Code File Sections
Program Structure, 229
space()
Low Level Functions, 823
Special thanks to contributors
How to contribute?, 165
split()
Stdlib Functions, 357
splitmany()
Stdlib Functions, 357
Sprite Automatic Movement
Game Engine for 2D Games, 519
Sprite Class
Game Engine for 2D Games, 511
Sprite Keypress Event
Game Engine for 2D Games, 520
Sprite Mouse Event
Game Engine for 2D Games, 521
Sprite State Event
Game Engine for 2D Games, 522
SQLite
Introduction, 306
sqlite_close(), 307
sqlite_execute(), 307
sqlite_init(), 307
sqlite_open(), 307
SQLite Class
Stdlib Classes, 392
sqlite_close()
SQLite, 307
sqlite_execute()
SQLite, 307
sqlite_init()
SQLite, 307
sqlite_open()
SQLite, 307
Squares Puzzle Game
Applications developed in little hours, 9
Stack Class
Stdlib Classes, 377
Stars Fighter Game
Game Engine for 2D Games, 531
startswith()
Stdlib Functions, 361
Static Methods
Code Generator, 883
StdBase Class
Stdlib Classes, 372
Stdlib Classes
Conversion Class, 389
DataType Class, 388
DateTime Class, 383
Debug Class, 387
File Class, 385
HashTable Class, 378
Internet Class, 394
Introduction, 371
List Class, 375
Math Class, 380
MySQL Class, 391
ODBC Class, 390
Queue Class, 377
Security Class, 393
SQLite Class, 392
Stack Class, 377
StdBase Class, 372
String Class, 373
System Class, 386
Tree Class, 379
Stdlib Functions
apppath(), 355
binarydigits(), 364
capitalized(), 358
changestring(), 367
dayofweek(), 365
direxists(), 367
endswith(), 361
EpochTime(), 369
evenorodd(), 363
factorial(), 359
factors(), 363
fibonacci(), 360
file2list(), 361
filter(), 357
FSize(), 368
gcd(), 362
getnumber(), 355
getstring(), 355
Introduction, 353
isleapyear(), 364
Index 1978
9. Ring Documentation, Release 1.8
ismainsourcefile(), 367
isprime(), 360
isspecial(), 358
isvowel(), 359
JustFileName(), 356
JustFilePath(), 355
lcm(), 362
linecount(), 359
list2file(), 360
ListAllFiles() Function, 369
makedir(), 368
map(), 357
matrixmulti(), 364
matrixtrans(), 365
newlist(), 358
OSCopyFile() Function, 370
OSCopyFolder() Function, 370
OSCreateOpenFolder() Function, 370
OSDeleteFile() Function, 371
OSDeleteFolder() Function, 370
OSRenameFile() Function, 371
palindrome(), 364
permutation(), 365
print(), 354
Print2Str() Function, 354
prodlist(), 363
puts(), 354
readline(), 366
sign(), 360
sleep(), 367
split(), 357
splitmany(), 357
startswith(), 361
substring(), 366
sumlist(), 362
SystemCmd() Function, 369
SystemSilent() Function, 370
times(), 356
TrimAll(), 368
TrimLeft(), 368
TrimRight(), 369
value(), 356
StdLib functions and classes written in Ring
What is new in Ring 1.1?, 150
Step Option
Control Structures - First Style, 202
Steps to create the extension
Create your first extension, 885
StopWatch Application
What is new in Ring 1.8?, 41
Str2Hex()
Data Type, 259
str2list() and list2str()
Strings, 245
strcmp()
Strings, 245
String Class
Stdlib Classes, 373
String Literals
Strings, 241
String()
Data Type, 257
String2Constant Application
What is new in Ring 1.8?, 40
Strings
Access String Letters, 241
Convert Letters Case, 241
Copy(), 243
Find SubString, 244
Get Number of Characters from position, 244
Get String Length, 241
Get Substring from position to end, 244
Introduction, 240
Left(), 242
Lines(), 243
Merge binary characters, 246
Right(), 242
str2list() and list2str(), 245
strcmp(), 245
String Literals, 241
Substr(), 243
Transform Substring To Another Substring, 244
Trim(), 243
StyleFunctions Class
Web Development (CGI Library), 469
Substr()
Strings, 243
substring()
Stdlib Functions, 366
sumlist()
Stdlib Functions, 362
Summary of Scope Rules
Scope Rules, 770
Super Man 2016 Game
Game Engine for 2D Games, 546
Swap Items
Lists, 239
Switch Between Two Images
RingLibSDL, 493
Switch Statement
Control Structures - First Style, 200
Control Structures - Second Style, 207
Control Structures - Third Style, 210
Syntax Flexibility
Change Language Keywords, 777
Change Language Operators, 778
Ignore new lines after keywords, 786
Introduction, 776
Index 1979
10. Ring Documentation, Release 1.8
Language Design, 35
Load Syntax Files, 778
Using ’case’ as ’on’ in switch statements, 784
Using ’def’ as ’func’ in functions/methods defini-
tion, 784
Using ’end’ keyword after Pack-
ages/Classes/Functions, 785
Using ’endpackage’/’endclass’/’endfunc’ keywords
after Packages/Classes/Functions, 785
Using ’put’ and ’get’ as ’see’ and ’give’, 784
Using () around the function parameters, 778
in the start of the variable name, 781
Using braces { } in Packages/Classes/Functions, 785
Using braces to start and end different control struc-
tures, 783
Using Semi-colon after and between statements, 780
Using the ’else’ keyword as ’other’ in switch state-
ment, 781
Using the ’elseif’ keyword as ’but’ in if statement,
781
Using the ’end’ keyword in different control struc-
tures, 782
What is new in Ring 1.1?, 147
SysGet() Function
System Functions, 276
System Class
Stdlib Classes, 386
System Functions
ChDir() Function, 280
CurrentDir() Function, 280
Example, 277
ExeFileName() Function, 280
ExeFolder() Function, 280
Get Active Source File Name, 279
Get Command Line Arguments, 278
Introduction, 274
IsAndroid() Function, 277
IsFreeBSD() Function, 277
IsLinux() Function, 277
IsMacOSX() Function, 276
IsMSDOS() Function, 276
IsUnix() Function, 276
IsWindows() Function, 276
IsWindows64() Function, 276
PrevFileName() Function, 279
Shutdown() Function, 281
SysGet() Function, 276
System() Function, 275
Version() Function, 280
Windowsnl() Function, 278
System() Function
System Functions, 275
SystemCmd() Function
Stdlib Functions, 369
SystemSilent() Function
Stdlib Functions, 370
Tempfile()
Files, 269
Templates
Web Development (CGI Library), 433
Tempname()
Files, 269
Testing
How to contribute?, 165
Testing the extension
Create your first extension, 886
Text Class
Game Engine for 2D Games, 511
The Browser Menu
Ring Notepad, 186
The Camera
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 571
The Cards Game
Demo Programs, 721
Desktop and Mobile Development, 721
The Designer Windows
Form Designer, 746
The Difference between Qt and RingQt
Desktop and Mobile Development, 731
The Distribute Menu
Ring Notepad, 187
The documentation says functional programming is sup-
ported, but then this happens?
Frequently Asked Questions, 891
The Edit Menu
Ring Notepad, 183
The Events Loop
RingLibuv, 501
The File Menu
Ring Notepad, 183
The First GUI Application
Desktop and Mobile Development, 631
The First Triangle
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 564
The First Window using RingFreeGLUT
Using RingOpenGL and RingFreeGLUT for 3D
Graphics, 562
The For Loops uses the local scope
Scope Rules, 770
What is new in Ring 1.8?, 46
The Help Menu
Ring Notepad, 187
The Main File in the Project
Ring Notepad, 182
The Natural Library
Index 1980