Limnor Studio (Beta) Samples
- What is Limnor Studio?
- Installation and Getting Started
- Upgrading
- "How to" video
- Shared Projects
- Create platform-specific programs
Tutorial Viewer is used to view the tutorials and descriptions for samples application. For each sample application two zip files are provided. One zip file contains the project files that can be loaded by Limnor Studio for editing and compiling. The other zip file contains the slides showing the creation of the sample application. The slides must be viewed by this Tutorial Viewer program. This program is shipped with Limnor Studio.
Tutorial Viewer is itself a sample application created in Limnor Studio.
Tutorial Maker is used to create slides by capturing screenshots and adding drawings and text descriptions to screenshots. This program is shipped with Limnor Studio.
Tutorial Maker is itself a sample application created in Limnor Studio.
You may use this program to create slides to exchange ideas with other people more clearly (a picture is better than a thousand words). It uses less disk space than videos.
The Limnor Studio installation distributes some tutorials for basic concepts and operations. You may download additional samples listed below for the topics interest you.
Each sample consists of project files and slides. You load Project files into Limnor Studio by open the *.LimnorMain_sln file using the Limnor Studio, and exmine how the sample is made. You use TutorialViewer program to open the slides to see step by step description of the making of the sample.
Panning Image
![]()
Slides:PanImageSlides.zip Project:PanImageSample.zip
This sample application shows panning image by action.
Use Condition Action
![]()
Slides:condition.zip Project:prj_condition.zip
A Condition action forms a "IF ... ELSE ..." execution logic represented graphically. The condition can be a property of a math expression. This sample application shows the use of a Condition action.
RS232 Receive Data
![]()
Slides:RS232Slides.zip Project:RS232Sample.zip
This sample application shows using serial port to receive and show data.
Swap images
![]()
Slides:swapimageSlides.zip Project:swapimageSample.zip
This sample application creats a method to swap images between two Picture Boxes. The method uses a local variable to help move the data.
Go through files
![]()
Slides:GoThroughFilesSlides.zip Project:GoThroughFilesSample.zip
This sample application goes through all files under a specified folder and all levels of its sub folders. It shows the use of multiple threads to avoid blocking of User Interface while a long running process is going on. It shows the use of recursion to process all level of sub-folders. It shows the use of arrays and process of array items.
Cloud computing may be done visually and codelessly, allowing everyone to do cloud computing.
Create a simple web service
![]()
Slides:createWebService1Slides.zip Project:createWebService1Prj.zip
This sample shows the creation of a simple web service. It creates one web method which returns the time the web method is executed.
Use web service
![]()
Slides:UseWebService1Slides.zip Project:UseWebService1Prj.zip
This sample shows using a web service in a program. It shows calling method in web service and getting data the web service returns. It shows calling web service synchronously and asynchronously.
Create a web service to search database
![]()
Slides:CreateWebServiceSearchDatabaseSlides.zip Project:CreateWebServiceSearchDatabasePrj.zip
This sample shows the creation of a web service to search database. It provides a web method to search a value (given by remote client computers) in database and pass the search results as a table of data to the remote client computer. A desktop database can be used in such a client/server manner.
Use web service to search database
![]()
Slides:UseWebServiceSearchDatabaseSlides.zip Project:UseWebServiceSearchDatabasePrj.zip
This sample shows that a client computer uses a web service to search database in a remote web server. It shows the using of database serach results in a table of data and display the data in a grid on the screen. Linked by internet, it allows searching a database in one computer from another computer in another city or another country. It shows calling web service synchronously and asynchronously.
Math Expression Control Samples
Math expressions can be used at runtime to do calculations. Math Expression Editor can be launched at runtime to modify math expressions. Values may be assigned to variables. Properties can be linked to variables. All such modifications can be done interactively at runtime.
Use math expression control
![]()
Slides:slide_useMathControl.zip Project:prj_useMathControl.zip
This sample shows basic usages of the math expression control.
Use data bindings at design time and runtime
![]()
Slides:slide_changeDataBindingsAtRuntime.zip Project:prj_changeDataBindingsAtRuntime.zip
This sample shows setting data bindings at design time and changing data bindings at runtime.
Database for this sample:database_school.zip
Use field-editors in EasyGrid for data entry
![]()
Slides:slide_DataInputUsingGrid.zip Project:prj_DataInputUsingGrid.zip
Data grid is an efficient tool for data entry because it shows many records of data on the screen. EasyGrid is a data grid. It allows using drop-down list boxes and dialogue boxes as field-editors for easier data input, for example, date/time selection by a calendar dialogue, values selection by database lookup, values selection by enumeration, etc. This sample shows how to use field-editors.
The sample database, school1.mdb, is included in prj_DataInputUsingGrid.zip.
Use ComboBox for lookup in data entry
![]()
Slides:slide_DataEntryWithLookup.zip Project:prj_DataEntryWithLookup.zip
This sample uses a form to do data entry for a database. It shows using a DateTimePicker for inputing date and time. It shows using a ComboBox for looking up data from database.
The sample database, school1.mdb, is included in prj_DataInputUsingGrid.zip.
Use Parameters in Database Query
![]()
Slides:slide_UseParametersInQuery.zip Project:prj_UseParametersInQuery.zip
Parameters may be used in database queries. The values of parameters are set at runtime so that the results of queries can be controlled at runtime by the users.
This sample shows using a parameter in a database query. It uses two text boxes to allow the user to enter search values. The values the user entered are passed to the query parameter. The results of the query are displayed in an EasyGrid. EasyGrid shows different records for different parameter values.
The sample database, school1.mdb, is included in prj_DataInputUsingGrid.zip.
Use Data-binding in master-detail relationship
![]()
Slides:slides_masterDetailDataSet.zip Project:prj_masterDetailDataSet.zip
One-to-many (also called master-detail) relationship is a fundamental concept in relational databases. One “Order” may have many “Order Items”. One “Customer” may have many “Orders”. One teacher may be teaching many students. Such one-to-many relationship is widely used in creating database schemas.
This sample uses an Order-Order Item relationship to show a data entry user interface for managing master-detail data automatically. It uses data-binding to bind controls (text boxes, for example) for entering Order data. It uses a grid to enter Order Item data. The relationships between the Order records and Order Item records are automatically maintained by the system.
Database for this sample:
SampleDatabase_Orders.zip
Use grids for master-detail relationship
![]()
Slides:slides_masterDetailDataGrid.zip Project:prj_masterDetailDataGrid.zip
This sample uses one EasyGrid to show and update master records, and uses one EasyGridDetail to show and update detail records. The user may enter new Order records or modify existing Order records. For each Order record, the user may enter new Order Item records or modify existing Order Item records. The relationships between the Order records and Order Item records are automatically maintained by the system. You get all these features without creating one single action.
Database for this sample:SampleDatabase_Orders.zip
Use EasyUpdator to insert new records
![]()
Slides:slides_FtpAndDatabaseUpdator.zip Project:prj_FtpAndDatabaseUpdator.zip
This sample shows how to use EasyUpdator component to insert new records into a database table.
The sample shows how to use FtpClient component to upload all files from a local folder to an FTP server.
This sample logs file uploading activities and failed FTP activities into a database table using an EasyUpdator component.
Application Configuration Samples
Use application configurations
![]()
Slides:slides_appConfig.zip Project:prj_appConfig.zip
This sample shows persisting data while an application is closed, using an ApplicationConfiguration object. An application defines the data it wants to persist. The data defined becomes properties of an ApplicationConfiguration object. “Set Property” actions can be created to transfer data between the ApplicationConfiguration object and the application. At runtime, the user may create and use different set of configurations. A set of configurations can be associated with the currently logged in user. The user may create named set of configurations, each set of named configurations is given a unique name by the user. A named set of configurations can also be password-protected. Text values in a password-protected set of configurations can be encrypted to prevent them from unauthorized access. At runtime the user may switch between different set of configurations.
Use Windows service to monitor and move files
![]()
Slides:slides_FileMoveService.zip Project:prj_FileMoveService.zip
This sample shows the creation of a Windows service. The service monitors a folder and watch for file creations in the folder. When a file is created in the folder the service moves the file to another folder.
Send email with embedded images
![]()
Slides:slides_SendMailEmbedImage.zip Project:prj_SendMailEmbedImage.zip
This sample shows sending an email with an embedded image.
Upload files using FTP
![]()
Slides:slides_FtpAndDatabaseUpdator.zip Project:prj_FtpAndDatabaseUpdator.zip
The sample shows how to use FtpClient component to upload all files from a local folder to an FTP server.
This sample shows how to use EasyUpdator component to insert new records into a database table.
This sample logs file uploading activities and failed FTP activities into a database table using an EasyUpdator component.
Getting started with Limnor Studio
Please send your feedback and sample requests to feedback@limnor.com. Thanks!