On entry to the .rsp page.
IF type( _session["state"] ) != "U"m_state = _session["state"]RESTORE DATASESSION FROM m_state
ELSE
// open up your tables for the first timeENDIF
SAVE DATASESSION TO m_state_SESSION["state"] = m_state
In this article Barry Mavin, CEO and Chief Software Architect for Recital, details Working with Stored Procedures in the Recital Database Server.
Overview
Stored procedures and user-defined functions are collections of SQL statements and optional control-of-flow statements written in the Recital 4GL (compatible with VFP) stored under a name and saved in a Database. Both stored procedures and user-defined functions are just-in-time compiled by the Recital database engine. Using the Database Administrator in Recital Enterprise Studio, you can easily create, view, modify, and test Stored Procedures, Triggers, and user-defined functions
Creating and Editing Stored Procedures
To create a new Stored Procedure, right-click the Procedures node in the Databases tree of the Project Explorer and choose Create. To modify an existing stored procedure select the Stored Procedure in the Databases Tree in the Project Explorer by double-clicking on it or selecting Modify from the context menu . By convertion we recommend that you name your Stored Procedures beginning with "sp_xxx_", user-defined functions with "f_xxx_", and Triggers with "dt_xxx_", where xxx is the name of the table that they are associated with.
Testing the Procedure
To test run the Stored Procedure, select the Stored Procedure in the Databases Tree in the Project Explorer by double-clicking on it. Once the Database Administrator is displayed, click the Run button to run the procedure.
Getting return values
Example Stored Procedure called "sp_myproc":
parameter arg1, arg2 return arg1 + arg2
Example calling the Stored Procedure from C# .NET:
//////////////////////////////////////////////////////////////////////// // include the references below using System.Data; using Recital.Data; //////////////////////////////////////////////////////////////////////// // sample code to call a Stored Procedure that adds to numeric values together public int CallStoredProcedure() { RecitalConnection conn = new RecitalConnection("Data Source=localhost;Database=southwind;uid=?;pwd=?"); RecitalCommand cmd = new RecitalCommand(); cmd.Connection = conn; cmd.CommandText = "sp_myproc(@arg1, @arg2)"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters["@arg1"].Value = 10; cmd.Parameters["@arg2"].Value = 20; conn.Open(); cmd.ExecuteNonQuery(); int result = (int)(cmd.Parameters["retvalue"].Value); // get the return value from the sp conn.Close(); return result; }
Writing Stored Procedures that return a Resultset
If you want to write a Stored Procedure that returns a ResultSet, you use the SETRESULTSET() function of the 4GL. Using the Universal .NET Data Provider, you can then execute the 4GL Stored Procedure and return the ResultSet to the client application for processing. ResultSets that are returned from Stored Procedures are read-only.
Example Stored Procedure called "sp_myproc":
parameter query select * from customers &query into cursor "mydata" return setresultset("mydata")
Example calling the Stored Procedure from C# .NET:
//////////////////////////////////////////////////////////////////////// // include the references below using System.Data; using Recital.Data; //////////////////////////////////////////////////////////////////////// // sample code to call a stored procedure that returns a ResultSet public void CallStoredProcedure() { RecitalConnection conn = new RecitalConnection("Data Source=localhost;Database=southwind;uid=?;pwd=?"); RecitalCommand cmd = new RecitalCommand(); cmd.Connection = conn; cmd.CommandText = "sp_myproc(@query)"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters["@query"].Value = "where not deleted()"; conn.Open(); RecitalDataReader dreader = cmd.ExecuteReader(); int sqlcnt = (int)(cmd.Parameters["sqlcnt"].Value); // returns number of affected rows while (dreader.Read()) { // read and process the data } dreader.Close(); conn.Close(); }
In this article Barry Mavin, CEO and Chief Software Architect for Recital details how to Build C Extension Libraries to use with Recital.
Overview
It is possible to extend the functionaliy of Recital products using "Extension libraries" that can be written in C. These extension libraries, written using the Recital/SDK API, are dynamically loadable from all Recital 9 products. This includes:
- Recital
- Recital Server
- Recital Web
Building C Extension Libraries
You can create C wrappers for virtually any native operating system function and access these from the Recital 4GL. Unlike traditional APIs which only handle the development of C functions that are callable from the 4GL, the Recital/SDK allows you to build Classes that are accessible from all Recital products. e.g. You could create a GUI framework for Linux that handles VFP system classes!
To deploy your C Extension Libraries, copy them to the following location:
Windows:
\Program Files\Recital\extensions
Linux/Unix:
/opt/recital/extensions
Please see the Recital/SDK API Reference documentation for further details.
Sample code
Listed below is the complete example of a C Extension Library.:
//////////////////////////////////////////////////////////////////////////////// #include "mirage_demo.h" //////////////////////////////////////////////////////////////////////////////// // Declare your functions and classes below as follows: // // Recital Function Name, C Function Name, Type (Function or Class) // #define MAX_ELEMENTS 7 static struct API_SHARED_FUNCTION_TABLE api_function_table[MAX_ELEMENTS] = { {"schar", "fnSamplesCharacter", API_FUNCTION}, {"stype", "fnSamplesType", API_FUNCTION}, {"slog", "fnSamplesLogical", API_FUNCTION}, {"snum", "fnSamplesNumeric", API_FUNCTION}, {"sopen", "fnSamplesOpen", API_FUNCTION}, {"myclass", "clsMyClass", API_CLASS}, {NULL, NULL, -1} }; //////////////////////////////////////////////////////////////////////////////// // Recital API initialization. This should be in only ONE of your C files // **IT SHOULD NEVER BE EDITED OR REMOVED** INIT_API; /////////////////////////////////////////////////////////////////////// // This is an example of passing a character parameter and returning one. RECITAL_FUNCTION fnSamplesCharacter(void) { char *arg1; if (!_parse_parameters(PCOUNT, "C", &arg1)) { ERROR(-1, "Incorrect parameters"); } _retc(arg1); } /////////////////////////////////////////////////////////////////////// // This is an example of passing a numeric parameter and returning one. RECITAL_FUNCTION fnSamplesNumeric(void) { int arg1; if (!_parse_parameters(PCOUNT, "N", &arg1)) { ERROR(-1, "Incorrect parameters"); } _retni(arg1); } /////////////////////////////////////////////////////////////////////// // This is an example returns the data type of the parameter passed. RECITAL_FUNCTION fnSamplesType(void) { char result[10]; if (PCOUNT != 1) { ERROR(-1, "Incorrect parameters"); } switch (_parinfo(1)) { case API_CTYPE: strcpy(result, "Character"); break; case API_NTYPE: strcpy(result, "Numeric"); break; case API_LTYPE: strcpy(result, "Logical"); break; case API_DTYPE: strcpy(result, "Date"); break; case API_TTYPE: strcpy(result, "DateTime"); break; case API_YTYPE: strcpy(result, "Currency"); break; case API_ATYPE: strcpy(result, "Array"); break; default: strcpy(result, "Unkown"); break; } _retc(result); } /////////////////////////////////////////////////////////////////////// // This is an example returns "True" or False. RECITAL_FUNCTION fnSamplesLogical(void) { char result[10]; int arg1; if (!_parse_parameters(PCOUNT, "L", &arg1)) { ERROR(-1, "Incorrect parameters"); } if (arg1) strcpy(result, "True"); else strcpy(result, "False"); _retc(result); } /////////////////////////////////////////////////////////////////////// // This example opens a table. RECITAL_FUNCTION fnSamplesOpen(void) { char *arg1; if (!_parse_parameters(PCOUNT, "C", &arg1)) { ERROR(-1, "Incorrect parameters"); } if (_parinfo(1) == API_CTYPE) { _retni(COMMAND(arg1)); } else { _retni(-1); } } /////////////////////////////////////////////////////////////////////// // Define the MyClass CLASS using the API macros /////////////////////////////////////////////////////////////////////// RECITAL_EXPORT int DEFINE_CLASS(clsMyClass) { /*-------------------------------------*/ /* Dispatch factory methods and return */ /*-------------------------------------*/ DISPATCH_FACTORY(); /*---------------------------------*/ /* Dispatch constructor and return */ /*---------------------------------*/ DISPATCH_METHOD(clsMyClass, Constructor); /*--------------------------------*/ /* Dispatch destructor and return */ /*--------------------------------*/ DISPATCH_METHOD(clsMyClass, Destructor); /*-----------------------------------*/ /* Dispatch DEFINE method and return */ /*-----------------------------------*/ DISPATCH_METHOD(clsMyClass, Define); /*------------------------------*/ /* Dispatch SET or GET PROPERTY */ /* method for property NumValue */ /* then return. */ /*------------------------------*/ DISPATCH_PROPSET(clsMyClass, NumValue); DISPATCH_PROPGET(clsMyClass, NumValue); /*------------------------------*/ /* Dispatch SET or GET PROPERTY */ /* method for property LogValue */ /* then return. */ /*------------------------------*/ DISPATCH_PROPSET(clsMyClass, LogValue); DISPATCH_PROPGET(clsMyClass, LogValue); /*-------------------------------*/ /* Dispatch SET or GET PROPERTY */ /* method for property DateValue */ /* then return. */ /*-------------------------------*/ DISPATCH_PROPSET(clsMyClass, DateValue); DISPATCH_PROPGET(clsMyClass, DateValue); /*-------------------------------*/ /* Dispatch SET or GET PROPERTY */ /* method for property TimeValue */ /* then return. */ /*-------------------------------*/ DISPATCH_PROPSET(clsMyClass, TimeValue); DISPATCH_PROPGET(clsMyClass, TimeValue); /*-------------------------------*/ /* Dispatch SET or GET PROPERTY */ /* method for property CurrValue */ /* then return. */ /*-------------------------------*/ DISPATCH_PROPSET(clsMyClass, CurrValue); DISPATCH_PROPGET(clsMyClass, CurrValue); /*-------------------------------*/ /* Dispatch SET or GET PROPERTY */ /* method for property CharValue */ /* then return. */ /*-------------------------------*/ DISPATCH_PROPSET(clsMyClass, CharValue); DISPATCH_PROPGET(clsMyClass, CharValue); /*------------------------------*/ /* Dispatch SET or GET PROPERTY */ /* method for property ObjValue */ /* then return. */ /*------------------------------*/ DISPATCH_PROPSET(clsMyClass, ObjValue); DISPATCH_PROPGET(clsMyClass, ObjValue); /*-----------------------------------*/ /* If message not found return error */ /*-----------------------------------*/ OBJECT_RETERROR("Unknown message type"); } //////////////////////////////////////////////////////////////////////////////// // Define METHOD handlers //////////////////////////////////////////////////////////////////////////////// DEFINE_METHOD(clsMyClass, Constructor) { struct example_data *objectDataArea; /* Allocate memory for objects objectData area */ objectDataArea = (struct example_data *) malloc(sizeof(struct example_data)); if (objectDataArea == NULL) return(-1); /* Assign the default property values */ strcpy(objectDataArea->prop_charvalue, "Test API object"); objectDataArea->prop_numvalue = 15.2827; objectDataArea->prop_logvalue = 'F'; strcpy(objectDataArea->prop_datevalue, DATE_DATE()); strcpy(objectDataArea->prop_timevalue, DATE_DATETIME()); strcpy(objectDataArea->prop_currvalue, "15.2827"); strcpy(objectDataArea->object_name, "APIobject"); objectDataArea->prop_objvalue = OBJECT_NEW(objectDataArea->object_name, "exception", NULL); /* Set the object objectData area */ OBJECT_SETDATA((char *)objectDataArea); return(0); } DEFINE_METHOD(clsMyClass, Destructor) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); if (objectData != NULL) { if (objectData->prop_objvalue != NULL) OBJECT_DELETE(objectData->prop_objvalue); free(objectData); objectData = NULL; } return(0); } DEFINE_METHOD(clsMyClass, Define) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); struct API_EXPRESSION result; char buffer[512]; int rc; /* Check the object class */ OBJECT_GETPROPERTY(objectData->prop_objvalue, "class", buffer); rc = OBJECT_GETARG(buffer, &result); if (result.errno == 0 && result.type == 'C' && strcmp(result.character, "Exception") == 0) { switch (OBJECT_GETARGC()) { case 1: rc = OBJECT_GETPARAMETER(1, &result); if (result.errno == 0 && result.type == 'C') { OBJECT_SETARG(buffer, &result); rc = OBJECT_SETPROPERTY(objectData->prop_objvalue, "message", buffer); } break; case 2: rc = OBJECT_GETPARAMETER(2, &result); if (result.errno == 0 && result.type == 'N') { OBJECT_SETARG(buffer, &result); rc = OBJECT_SETPROPERTY(objectData->prop_objvalue, "errorno", buffer); } } } result.type = 'L'; result.logical = (rc == 0 ? 'T' : 'F'); OBJECT_RETRESULT(&result); } //////////////////////////////////////////////////////////////////////////////// // Define GET property handlers //////////////////////////////////////////////////////////////////////////////// DEFINE_PROPERTYGET(clsMyClass, NumValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); if (objectData == NULL) return(-1); OBJECT_RETPROPERTY('N', objectData->prop_numvalue); } DEFINE_PROPERTYGET(clsMyClass, LogValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); if (objectData == NULL) return(-1); OBJECT_RETPROPERTY('L', objectData->prop_logvalue); } DEFINE_PROPERTYGET(clsMyClass, DateValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); if (objectData == NULL) return(-1); OBJECT_RETPROPERTY('D', objectData->prop_datevalue); } DEFINE_PROPERTYGET(clsMyClass, TimeValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); if (objectData == NULL) return(-1); OBJECT_RETPROPERTY('T', objectData->prop_timevalue); } DEFINE_PROPERTYGET(clsMyClass, CurrValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); if (objectData == NULL) return(-1); OBJECT_RETPROPERTY('Y', objectData->prop_currvalue); } DEFINE_PROPERTYGET(clsMyClass, CharValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); if (objectData == NULL) return(-1); OBJECT_RETPROPERTY('C', objectData->prop_charvalue); } DEFINE_PROPERTYGET(clsMyClass, ObjValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); if (objectData == NULL) return(-1); OBJECT_RETPROPERTY('O', objectData->prop_objvalue); } //////////////////////////////////////////////////////////////////////////////// // Define SET property handlers //////////////////////////////////////////////////////////////////////////////// DEFINE_PROPERTYSET(clsMyClass, NumValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); struct API_EXPRESSION result; int rc = OBJECT_ERROR; OBJECT_GETVALUE(&result); if (result.errno == 0 && result.type == 'N') { objectData->prop_numvalue = result.number; rc = OBJECT_SUCCESS; } return(rc); } DEFINE_PROPERTYSET(clsMyClass, LogValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); struct API_EXPRESSION result; int rc = OBJECT_ERROR; OBJECT_GETVALUE(&result); if (result.errno == 0 && result.type == 'L') { objectData->prop_logvalue = result.logical; rc = OBJECT_SUCCESS; } return(rc); } DEFINE_PROPERTYSET(clsMyClass, DateValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); struct API_EXPRESSION result; int rc = OBJECT_ERROR; OBJECT_GETVALUE(&result); if (result.errno == 0 && result.type == 'D') { strcpy(objectData->prop_datevalue, DATE_DTOS(result.date)); rc = OBJECT_SUCCESS; } return(rc); } DEFINE_PROPERTYSET(clsMyClass, TimeValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); struct API_EXPRESSION result; int rc = OBJECT_ERROR; OBJECT_GETVALUE(&result); if (result.errno == 0 && result.type == 'T') { strcpy(objectData->prop_timevalue, DATE_TTOS(result.datetime)); rc = OBJECT_SUCCESS; } return(rc); } DEFINE_PROPERTYSET(clsMyClass, CurrValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); struct API_EXPRESSION result; int rc = OBJECT_ERROR; OBJECT_GETVALUE(&result); if (result.errno == 0 && result.type == 'Y') { strcpy(objectData->prop_currvalue, CURR_YTOS(result.currency)); rc = OBJECT_SUCCESS; } return(rc); } DEFINE_PROPERTYSET(clsMyClass, CharValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); struct API_EXPRESSION result; int rc = OBJECT_ERROR; OBJECT_GETVALUE(&result); if (result.errno == 0 && result.type == 'C') { strcpy(objectData->prop_currvalue, result.character); rc = OBJECT_SUCCESS; } return(rc); } DEFINE_PROPERTYSET(clsMyClass, ObjValue) { struct example_data *objectData = (struct example_data *)OBJECT_GETDATA(); OBJECT objvalue; int rc = OBJECT_ERROR; if (OBJECT_GETTYPE() == 'O') { objvalue = OBJECT_GETOBJECT(); objectData->prop_objvalue = OBJECT_ASSIGN(objvalue, objectData->object_name); rc = OBJECT_SUCCESS; } return(rc); }
- Warnings
- Headers
- Icon set 1
- Icon set 2
- Icon set 3
- Tooltips
- Highlights
- Code
- Unordered lists
- Ordered lists
- Abbrs and acronyms
- Definition lists
- Legends
- Dropcaps
- Floated blocks
- Other span blocks
- Blockquotes
- Tables
Warnings
This is a sample info message. Use <p class="gkInfo1">Your info message goes here!</p>.
This is a sample tips message. Use <p class="gkTips1">Your tips goes here!</p>.
This is a sample warning message. Use <p class="gkWarning1">Your warning message goes here!</p>.
This is a sample info message. Use <p class="gkInfo2">Your info message goes here!</p>.
This is a sample tips message. Use <p class="gkTips2">Your tips goes here!</p>.
This is a sample warning message. Use <p class="gkWarning2">Your warning message goes here!</p>.
This is a sample info message. Use <p class="gkInfo3">Your info message goes here!</p>.
This is a sample tips message. Use <p class="gkTips3">Your tips goes here!</p>.
This is a sample warning message. Use <p class="gkWarning3">Your warning message goes here!</p>.
This is a sample info message. Use <p class="gkInfo4">Your info message goes here!</p>.
This is a sample tips message. Use <p class="gkTips4">Your tips goes here!</p>.
This is a sample warning message. Use <p class="gkWarning4">Your warning message goes here!</p>.
This is a sample info message. Use <p class="gkInfo5">Your info message goes here!</p>.
This is a sample tips message. Use <p class="gkTips5">Your tips goes here!</p>.
This is a sample warning message. Use <p class="gkWarning5">Your warning message goes here!</p>.
Headers
This is heading 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer semper egestas nunc in volutpat. Fusce adipiscing velit ac eros tempor iaculis. Phasellus venenatis mollis augue, non posuere odio placerat in. Etiam volutpat ultrices lectus. Fusce eu felis erat. Donec congue interdum elit, sed ornare magna convallis lacinia. In hac habitasse platea dictumst. Mauris volutpat consectetur accumsan.
This is heading 2
Cras diam justo, sodales quis lobortis sed, lobortis vel mauris. Sed a mollis nunc. Quisque semper condimentum lectus, eget laoreet ipsum auctor et. Quisque sagittis luctus augue, id fringilla enim euismod quis. Nullam blandit, elit at euismod rutrum, tortor nibh posuere mauris, in volutpat diam ante ac dui. Sed velit massa, imperdiet placerat tristique et, consectetur a lorem. Praesent aliquet turpis in quam tempor eu pulvinar nibh luctus.
This is heading 3
Vivamus rhoncus arcu sit amet est tristique convallis nec vel eros. Vestibulum euismod luctus velit quis porta. Aliquam varius placerat mauris sed vehicula. Integer porta facilisis sapien, in tempus lorem mattis molestie. Suspendisse potenti. Praesent quis diam non dolor convallis mattis eu id nulla.
This is heading 4
Proin urna erat, egestas vel consectetur at, accumsan at purus. Donec est risus, facilisis dignissim placerat nec, euismod lacinia nisi. Nam ac sem sed quam sollicitudin condimentum et eu neque. Nunc enim urna, ultricies ac mollis pretium, imperdiet hendrerit massa. Sed eleifend felis sed tellus cursus lacinia. Aenean venenatis aliquet euismod. Nam quis turpis tellus, vitae malesuada neque.
This is a headline.
This is a subheadline.
Use <p class="gkHeadling">for headline</p>.Use <p class="gkSubHeadline">for subheadline</p>.Proin urna erat, egestas vel consectetur at, accumsan at purus. Donec est risus, facilisis dignissim placerat nec, euismod lacinia nisi. Nam ac sem sed quam sollicitudin condimentum et eu neque. Nunc enim urna, ultricies ac mollis pretium, imperdiet hendrerit massa. Sed eleifend felis sed tellus cursus lacinia. Aenean venenatis aliquet euismod. Nam quis turpis tellus, vitae malesuada neque.
This is a small headline
This is a large headline
Use <p class="gkHeadling">for headline</p>.Use <p class="gkSubHeadline">for subheadline</p>.Proin urna erat, egestas vel consectetur at, accumsan at purus. Donec est risus, facilisis dignissim placerat nec, euismod lacinia nisi. Nam ac sem sed quam sollicitudin condimentum et eu neque. Nunc enim urna, ultricies ac mollis pretium, imperdiet hendrerit massa. Sed eleifend felis sed tellus cursus lacinia. Aenean venenatis aliquet euismod. Nam quis turpis tellus, vitae malesuada neque.
Icon set 1
This is a sample audio message. Use <p class="gkAudio">Your audio message goes here!</p>.
This is a sample webcam message. Use <p class="gkWebcam">Your webcam goes here!</p>.
This is a sample email message. Use <p class="gkEmail">Your email message goes here!</p>.
This is a sample creditcard message. Use <p class="gkCreditcard">Your creditcart message goes here!</p>.
This is a sample feed message. Use <p class="gkFeed">Your feed goes here!</p>.
This is a sample help message. Use <p class="gkHelp">Your help message goes here!</p>.
This is a sample images message. Use <p class="gkImages">Your images message goes here!</p>.
This is a sample lock message. Use <p class="gkLock">Your webcam goes here!</p>.
This is a sample printer message. Use <p class="gkPrinter">Your printer message goes here!</p>.
This is a sample report message. Use <p class="gkReport">Your report message goes here!</p>.
This is a sample script message. Use <p class="gkScript">Your script goes here!</p>.
This is a sample time message. Use <p class="gkTime">Your time message goes here!</p>.
This is a sample user message. Use <p class="gkUser">Your user message goes here!</p>.
This is a sample world message. Use <p class="gkWorld">Your world goes here!</p>.
This is a sample cart message. Use <p class="gkCart">Your cart message goes here!</p>.
This is a sample cd message. Use <p class="gkCd">Your cd message goes here!</p>.
This is a sample chart_bar message. Use <p class="gkChartBar">Your chart_bar goes here!</p>.
This is a sample chart_line message. Use <p class="gkChartLine">Your chart_line message goes here!</p>.
This is a sample chart_pie message. Use <p class="gkChartPie">Your chart_pie message goes here!</p>.
This is a sample clock message. Use <p class="gkClock">Your clock goes here!</p>.
This is a sample cog message. Use <p class="gkCog">Your cog message goes here!</p>.
This is a sample coins message. Use <p class="gkCoins">Your coins message goes here!</p>.
This is a sample compress message. Use <p class="gkCompress">Your compress goes here!</p>.
This is a sample computer message. Use <p class="gkComputer">Your computer message goes here!</p>.
This is a sample cross message. Use <p class="gkCross">Your cross message goes here!</p>.
This is a sample disk message. Use <p class="gkDisk">Your disk goes here!</p>.
This is a sample error message. Use <p class="gkError">Your error message goes here!</p>.
This is a sample exclamation message. Use <p class="gkExclamation">Your exclamation message goes here!</p>.
This is a sample film message. Use <p class="gkFilm">Your film goes here!</p>.
This is a sample folder message. Use <p class="gkFolder">Your folder message goes here!</p>.
This is a sample group message. Use <p class="gkGroup">Your group message goes here!</p>.
This is a sample heart message. Use <p class="gkHeart">Your heart goes here!</p>.
This is a sample house message. Use <p class="gkHouse">Your house message goes here!</p>.
This is a sample image message. Use <p class="gkImage">Your image message goes here!</p>.
This is a sample information message. Use <p class="gkInformation">Your information message goes here!</p>.
This is a sample magnifier message. Use <p class="gkMagnifier">Your magnifier message goes here!</p>.
This is a sample money message. Use <p class="gkMoney">Your money goes here!</p>.
This is a sample new message. Use <p class="gkNew">Your new message goes here!</p>.
This is a sample note message. Use <p class="gkNote">Your note message goes here!</p>.
This is a sample page message. Use <p class="gkPage">Your page goes here!</p>.
This is a sample page_white message. Use <p class="gkPage_white">Your page_white message goes here!</p>.
This is a sample plugin message. Use <p class="gkPlugin">Your plugin message goes here!</p>.
This is a sample accept message. Use <p class="gkAccept">Your accept goes here!</p>.
This is a sample add message. Use <p class="gkAdd">Your add message goes here!</p>.
This is a sample camera message. Use <p class="gkCamera">Your camera message goes here!</p>.
This is a sample brick message. Use <p class="gkBrick">Your brick goes here!</p>.
This is a sample box message. Use <p class="gkBox">Your box message goes here!</p>.
This is a sample calendar message. Use <p class="gkCalendar">Your calendar message goes here!</p>.
Icon set 2
This is a sample audio message. Use <p class="gkAudioIs2">Your audio message goes here!</p>.
This is a sample email message. Use <p class="gkEmailIs2">Your email message goes here!</p>.
This is a sample feed message. Use <p class="gkFeedIs2">Your feed message goes here!</p>.
This is a sample images message. Use <p class="gkImagesIs2">Your images message goes here!</p>.
This is a sample lock message. Use <p class="gkLockIs2">Your lock message goes here!</p>.
This is a sample printer message. Use <p class="gkPrinterIs2">Your printer message goes here!</p>.
This is a sample time message. Use <p class="gkTimeIs2">Your time message goes here!</p>.
This is a sample user message. Use <p class="gkUserIs2">Your calendar message goes here!</p>.
This is a sample world message. Use <p class="gkWorldIs2">Your world message goes here!</p>.
YThis is a sample cart message. Use <p class="gkCartIs2">Your cart message goes here!</p>.
This is a sample cd message. Use <p class="gkCdIs2">Your cd message goes here!</p>.
This is a sample chart line message. Use <p class="gkChartLineIs2">Your chart line message goes here!</p>.
This is a sample chart pie message. Use <p class="gkChartPieIs2">Your calendar message goes here!</p>.
This is a sample clock message. Use <p class="gkClockIs2">Your clock message goes here!</p>.
This is a sample config message. Use <p class="gkCogIs2">Your config message goes here!</p>.
This is a sample computer message. Use <p class="gkComputerIs2">Your computer message goes here!</p>.
This is a sample error message. Use <p class="gkErrorIs2">Your error message goes here!</p>.
This is a sample exclamation message. Use <p class="gkExclamationIs2">Your exclamation message goes here!</p>.
This is a sample movie message. Use <p class="gkFilmIs2">Your movie message goes here!</p>.
This is a sample folder message. Use <p class="gkFolderIs2">Your folder message goes here!</p>.
This is a group calendar message. Use <p class="gkGroupIs2">Your group message goes here!</p>.
This is a sample house message. Use <p class="gkHouseIs2">Your house message goes here!</p>.
This is a sample image message. Use <p class="gkImageIs2">Your image message goes here!</p>.
This is a sample information message. Use <p class="gkInfromationIs2">Your information message goes here!</p>.
This is a sample magnifier message. Use <p class="gkMagnifierIs2">Your magnifier message goes here!</p>.
This is a sample money message. Use <p class="gkMoneyIs2">Your money message goes here!</p>.
This is a sample page message. Use <p class="gkPageIs2">Your page message goes here!</p>.
This is a sample camera message. Use <p class="gkCameraIs2">Your camera message goes here!</p>.
This is a calendar feed message. Use <p class="gkCalendarIs2">Your calendar message goes here!</p>.
This is a sample contact message. Use <p class="gkContactIs2">Your contact message goes here!</p>.
This is a sample facebook message. Use <p class="gkFacebookIs2">Your facebook message goes here!</p>.
This is a sample like it message. Use <p class="gkLikeItIs2">Your like it message goes here!</p>.
This is a sample twitter message. Use <p class="gkTwitterIs2">Your twitter message goes here!</p>.
This is a sample video message. Use <p class="gkVideoIs2">Your video message goes here!</p>.
This is a sample youtube message. Use <p class="gkYoutubeIs2">Your youtube message goes here!</p>.
Icon set 3
This is a sample audio message. Use <p class="gkAudioIs3">Your audio message goes here!</p>.
This is a sample camera message. Use <p class="gkCameraIs3">Your camera message goes here!</p>.
This is a sample lock message. Use <p class="gkLockIs3">Your lock message goes here!</p>.
This is a sample user message. Use <p class="gkUserIs3">Your user message goes here!</p>.
This is a sample cart message. Use <p class="gkCartIs3">Your cart message goes here!</p>.
This is a sample chart bar message. Use <p class="gkChartBarIs3">Your chart bar message goes here!</p>.
This is a sample config message. Use <p class="gkConfigIs3">Your config message goes here!</p>.
This is a sample configuration message. Use <p class="gkConfig2Is3">Your configuration message goes here!</p>.
This is a sample computer message. Use <p class="gkComputerIs3">Your computer message goes here!</p>.
This is a sample coffe message. Use <p class="gkCoffeIs3">Your coffe message goes here!</p>.
This is a sample cross message. Use <p class="gkCrossIs3">Your cross message goes here!</p>.
This is a sample error message. Use <p class="gkErrorIs3">Your error message goes here!</p>.
This is a sample house message. Use <p class="gkHouseIs3">Your house message goes here!</p>.
This is a sample information message. Use <p class="gkInformationIs3">Your inforation message goes here!</p>.
This is a sample magnifier message. Use <p class="gkMagnifierIs3">Your magnifier message goes here!</p>.
This is a sample page message. Use <p class="gkPageIs3">Your page message goes here!</p>.
This is a sample lock message. Use <p class="gkLockIs3">Your lock message goes here!</p>.
This is a sample camera message. Use <p class="gkCameraIs3">Your camera message goes here!</p>.
This is a sample star message. Use <p class="gkStarIs3">Your star message goes here!</p>.
This is a sample telephone message. Use <p class="gkTelephoneIs3">Your telephone message goes here!</p>.
Tooltips
Here are some examples of a ClassicThis is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own!, CriticalCriticalThis is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own!, HelpHelpThis is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own!, InformationInformationThis is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own! and WarningWarningThis is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own! CSS powered tooltip. This is just an example of what you can do so feel free to get creative and produce your own!
Highlights
This is a highlight phrase. Use <span class="gkHighlight1">Your highlight phrase goes here!</span>.
This is a highlight phrase. Use <span class="gkHighlight2">Your highlight phrase goes here!</span>.
This is a highlight phrase. Use <span class="gkHighlight3">Your highlight phrase goes here!</span>.
This is a highlight phrase. Use <span class="gkHighlight4">Your highlight phrase goes here!</span>.
Code
Below is a sample of <pre> or <div class="gkCode1">
#wrapper {
position: relative;
float: left;
display: block;
}
Below is a sample of <div class="gkCode2">
position: relative;
float: left;
display: block;
}
Below is a sample of <div class="gkCode3"><h4>Name of your file</h4>Here goes your code</div>
File
#wrapper {position: relative;
float: left;
display: block;
}
Unordered lists
Types of unordered lists
<ul class="gkBullet1">
|
<ul class="gkBullet2">
|
<ul class="gkBullet3">
|
<ul class="gkBullet4">
|
<ul class="gkCircle1">
|
<ul class="gkCircle2">
|
<ul class="gkSquare1">
|
<ul class="gkSquare2">
|
<ul class="gkSquare3">
|
Ordered lists
Types of ordered list:
<ol class="gkRoman">
|
<ol class="gkDec">
|
<ol class="gkAlpha">
|
<ol class="gkDecimalLeadingZero">
|
<div class="gkNumber1"><p><span>here goes a number</span>and here text of element</p>
01 Element
02 Element
<div class="gkNumber2"><p><span>here goes a number</span>and here text of element</p>
01 Element
02 Element
Abbrs and acronyms
This is a sample of an abbreviation Dr. Use <abbr title="Here goes full word or phrase">here goes an abbreviation</abbr>
This is a sample of an acronym NATO. Use <acronym title="Here goes full phrase">here goes an acronym</abbr>
Definition lists
Below are samples of definition lists
<dl class="gkDef1"><dt>Here goes the word you're about to define</dt><dd>Here goes definition</dd></dl>
- Butter
- it is a dairy product made by churning fresh or fermented cream or milk. It is generally used as a spread and a condiment, as well as in cooking applications such as baking, sauce making, and frying. Butter consists of butterfat, water and milk proteins.
- Dairy milk
- is an opaque white liquid produced by the mammary glands of mammals (including monotremes). It provides the primary source of nutrition for newborn mammals before they are able to digest other types of food.
<dl class="gkDef2"><dt>Here goes the word you're about to define</dt><dd>Here goes definition</dd></dl>
- Butter
- it is a dairy product made by churning fresh or fermented cream or milk. It is generally used as a spread and a condiment, as well as in cooking applications such as baking, sauce making, and frying. Butter consists of butterfat, water and milk proteins.
- Dairy milk
- is an opaque white liquid produced by the mammary glands of mammals (including monotremes). It provides the primary source of nutrition for newborn mammals before they are able to digest other types of food.
<dl class="gkDef3"><dt>Here goes the word you're about to define</dt><dd>Here goes definition</dd></dl>
- Butter
- it is a dairy product made by churning fresh or fermented cream or milk. It is generally used as a spread and a condiment, as well as in cooking applications such as baking, sauce making, and frying. Butter consists of butterfat, water and milk proteins.
- Dairy milk
- is an opaque white liquid produced by the mammary glands of mammals (including monotremes). It provides the primary source of nutrition for newborn mammals before they are able to digest other types of food.
Legends
Legend
This is a sample legend note. Use <div class="gkLegend1"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Legend
This is a sample legend note. Use <div class="gkLegend2"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Legend
This is a sample legend note. Use <div class="gkLegend3"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Legend
This is a sample legend note. Use <div class="gkLegend4"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Legend
This is a sample legend note. Use <div class="gkLegend5"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Legend
This is a sample legend note. Use <div class="gkLegend6"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Legend
This is a sample legend note. Use <div class="gkLegend7"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Dropcaps
This is a sample text with Dropcap. Use <p> <span class="gkDropcap1">t</span> to make the first letter larger. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue. Duis quis quam sed purus porta eleifend. Vivamus ullamcorper est id libero aliquam ullamcorper. Donec eget dignissim augue. Donec ante felis, aliquam ut consequat eget, lobortis dapibus risus. Aliquam laoreet enim et lectus ornare hendrerit. Aliquam rhoncus enim libero. Morbi aliquam, nibh mattis feugiat dapibus, nisi massa adipiscing justo, sit amet condimentum urna ipsum et lacus. Nam fermentum, eros quis ullamcorper convallis, libero mauris lacinia eros, sed tempus leo lorem vitae purus. Nunc a malesuada felis. Cras ultrices sapien eu nisi elementum non blandit urna sodales. Duis accumsan cursus massa, eu facilisis diam porta ut..</p>.
This is a sample text with Dropcap. Use <p> <span class="gkDropcap2">t</span> to make the first letter larger. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue. Duis quis quam sed purus porta eleifend. Vivamus ullamcorper est id libero aliquam ullamcorper. Donec eget dignissim augue. Donec ante felis, aliquam ut consequat eget, lobortis dapibus risus. Aliquam laoreet enim et lectus ornare hendrerit. Aliquam rhoncus enim libero. Morbi aliquam, nibh mattis feugiat dapibus, nisi massa adipiscing justo, sit amet condimentum urna ipsum et lacus. Nam fermentum, eros quis ullamcorper convallis, libero mauris lacinia eros, sed tempus leo lorem vitae purus. Nunc a malesuada felis. Cras ultrices sapien eu nisi elementum non blandit urna sodales. Duis accumsan cursus massa, eu facilisis diam porta ut..</p>.
This is a sample text with Dropcap. Use <p class="gkDropcap3"> <span class="gkDropcap3">t</span> to make the first letter larger. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue. Duis quis quam sed purus porta eleifend. Vivamus ullamcorper est id libero aliquam ullamcorper. Donec eget dignissim augue. Donec ante felis, aliquam ut consequat eget, lobortis dapibus risus. Aliquam laoreet enim et lectus ornare hendrerit. Aliquam rhoncus enim libero. Morbi aliquam, nibh mattis feugiat dapibus, nisi massa adipiscing justo, sit amet condimentum urna ipsum et lacus. Nam fermentum, eros quis ullamcorper convallis, libero mauris lacinia eros, sed tempus leo lorem vitae purus. Nunc a malesuada felis. Cras ultrices sapien eu nisi elementum non blandit urna sodales. Duis accumsan cursus massa, eu facilisis diam porta ut..</p>.
Floated blocks
Below are samples of text in which part of it is displayed in a separate block
<p> Here goes main part of the text <span class="gkBlockTextLeft">Block of text</span>rest of the text</p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue. Duis quis quam sed purus porta eleifend.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue.Donec eget dignissim augue. Donec ante felis, aliquam ut consequat eget, lobortis dapibus risus. Aliquam laoreet enim et lectus ornare hendrerit. Aliquam rhoncus enim libero. Morbi aliquam, nibh mattis feugiat dapibus, nisi massa adipiscing justo, sit amet condimentum urna ipsum et lacus. Nam fermentum, eros quis ullamcorper convallis, libero mauris lacinia eros, sed tempus leo lorem vitae purus. Nunc a malesuada felis. Cras ultrices sapien eu nisi elementum non blandit urna sodales. Duis accumsan cursus massa, eu facilisis diam porta ut. Morbi cursus est vel velit hendrerit dictum.
<p> Here goes main part of the text <span class="gkBlockTextRight">Block of text</span>rest of the text</p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue. Duis quis quam sed purus porta eleifend.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue.Donec eget dignissim augue. Donec ante felis, aliquam ut consequat eget, lobortis dapibus risus. Aliquam laoreet enim et lectus ornare hendrerit. Aliquam rhoncus enim libero. Morbi aliquam, nibh mattis feugiat dapibus, nisi massa adipiscing justo, sit amet condimentum urna ipsum et lacus. Nam fermentum, eros quis ullamcorper convallis, libero mauris lacinia eros, sed tempus leo lorem vitae purus. Nunc a malesuada felis. Cras ultrices sapien eu nisi elementum non blandit urna sodales. Duis accumsan cursus massa, eu facilisis diam porta ut. Morbi cursus est vel velit hendrerit dictum.
<p> Here goes main part of the text <span class="gkBlockTextCenter">Block of text</span>rest of the text</p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue. Duis quis quam sed purus porta eleifend.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue.Donec eget dignissim augue. Donec ante felis, aliquam ut consequat eget, lobortis dapibus risus. Aliquam laoreet enim et lectus ornare hendrerit. Aliquam rhoncus enim libero. Morbi aliquam, nibh mattis feugiat dapibus, nisi massa adipiscing justo, sit amet condimentum urna ipsum et lacus. Nam fermentum, eros quis ullamcorper convallis, libero mauris lacinia eros, sed tempus leo lorem vitae purus. Nunc a malesuada felis. Cras ultrices sapien eu nisi elementum non blandit urna sodales. Duis accumsan cursus massa, eu facilisis diam porta ut. Morbi cursus est vel velit hendrerit dictum.
Other span blocks
This is a sample pin note. Use <span class="gkClear">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkClear-1">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkClear-2">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-1">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-2">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-3">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-4">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-5">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-6">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-7">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
Blockquotes
This is a sample quote text. Use < blockquote > Your quoted text goes here!< /blockquote >
This is a sample quote text. Use< blockquote><div class="gkBlockquote1"><div> Your quoted text goes here!< /div>< /div>< /blockquote >
This is a sample quote text. Use< blockquote><div class="gkBlockquote2"><div> Your quoted text goes here!< /div>< /div>< /blockquote >
This is a sample quote text. Use< blockquote><div class="gkBlockquote3"><div> Your quoted text goes here!< /div>< /div>< /blockquote >
This is a sample quote text. Use< blockquote><div class="gkBlockquote4"><div> Your quoted text goes here!< /div>< /div>< /blockquote >Tables
Table Header (thead) Table Footer (tfoot) Column 1 Column 2 Cell 3 - part of tbody Cell 4 - part of tbody Cell 5 - part of tbody Cell 6 - part of tbody Cell 7 - part of tbody Cell 8 - part of tbody
Table Header (thead) Table Footer (tfoot) Column 1 Column 2 Cell 1 - part of tbody Cell 2 - part of tbody Cell 3 - part of tbody Cell 4 - part of tbody Cell 5 - part of tbody Cell 6 - part of tbody
Template additional styles
In order to get the video you have to use code like this:
<a class="gk_video_frame" href="http://www.vimeo.com/16274294" rel="mediabox[720 410]">
<img src="/images/stories/demo/demo_video_1.png" border="0" alt="Video 1" />
<span class="gk_vframe">Frame</span>
<span class="gk_voverlay">Overlay</span>
Watch the video
</a>
As a href attribute you set the video address. In the rel attribute you can specify the video size. Image element is the thumbnail in the frame.
You can also create a blocks with icons. The structure is always similar - you have to change only second class near gk_block:
<div class="gk_block tablet">
<h3><a href="#">Mobile Ready</a></h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum</p>
</div>
Available blocks styles with classes:
android
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
blackberry
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
calendar
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
chat
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
clock
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
cog
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
firefox
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
info
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
mac
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
mobilephone
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
phone
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
recycledbag
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
shoppingcart
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
tablet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
user
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
USE accounts INDEX on account_no TAG outstanding FOR balance > 0 EXPLAIN SELECT * FROM accounts WHERE balance > 0 Optimized using for condition on tag 'OUTSTANDING'
The REQUIRE() statement includes and executes the contents of the specified file at the current program execution level.
When a file is included, the code it contains inherits the variable scope of the line on which the include occurs. Any variables, procedures, functions or classes declared in the included file will be available at the current program execution level.
The REQUIRE_ONCE() statement is identical to the REQUIRE() statement except that Recital will check to see if the file as already been included and if so ignore the command.
The full syntax is:
REQUIRE( expC ) REQUIRE_ONCE( expC ) e.g. REQUIRE_ONCE( "myapp/myglobals.prg" )
DirectoryIndex default.rsp index.html
Recital implements SQL-92 and most of the SQL-99 standard for SQL, but also provides lower level navigational data access for performing high transaction throughput. It is the choice of the application developer whether to use SQL, navigational data access, or a combination of both depending upon the type of application being developed.