Tuesday 31 March 2009

Progress Bar under Vista.

Run the video above to see the Vista Progress Bar in action.

Well it looks like Sprezzatura’s Progress Bar article is having another run globally. Carl recently gave me a copy of his test form for the bar and I am pleased to confirm that it runs just as well under Vista with the new Vista looking Progress Bars.

The article was first published in SENL volume 4, issue 4 back in March 2007. The full SENL can be found at http://www.sprezzatura.com/senl/senl440307.pdf.

Monday 30 March 2009

Sprezzatura's Basic+ Source Code Publisher

You will have noticed that the Dale’s code in today’s earlier posting is considerably better formatted than on my previous postings to this blog. This is all thanks to Carl at Sprezzatura who gave me a copy of a utility that he wrote to handle code postings for the forthcoming new Sprezzatura website and blog.

Please drop me a line if you would like a copy for your blog or code postings to the Revelation forum.

Progress Bar in your status bar

Dale Jessop from 3M recently needed to create a progress bar that is embedded at the bottom of his form next to a status bar (as shown in the image). He has kindly offered to share this technique with readers of my blog.
Basically you need two editline controls on the window (STB_STATUS and PRB_TEST). one which will be an MS progress bar and one which will be an MS status bar. The examples I have taken the MS controls from are Sprezzatura examples and they are taken from:
  • STB_TEST
  • SEATTLE_2007_PRB_EX1
  • SEATTLE_2007_PRB_EX2
I have both of the controls on the window and both are turned into their MS equivalents on the CREATE event, after which I run the following code which embeds the progress bar within the status bar control.

Once the progress bar is embedded in the status bar you can use it the same as a normal status bar. I have also been able to mimic the behaviour of Internet Explorer by making the progress bar "appear, run and then disappear again".

0001 *//////////////////////////////*
0002 hidePrb:
0003 *//////////////////////////////*
0004 call set_Property( @window : ".PRB_TEST", "PARENT", @window)
0005 call set_Property( @window : ".PRB_TEST", "VISIBLE", 0)
0006 return
0007
0008 *//////////////////////////////*
0009 embedPrb:
0010 *//////////////////////////////*
0011
0012 stbSize = get_Property( @window : ".STB_STATUS", "SIZE" )
0013 prbSize = Get_Property( @window : ".PRB_TEST", "SIZE" )
0014
0015 * // Both sizes are relative to the parent form right now, so
0016 * // make the prbSize relative to the stbSize instead
0017
0018 PRBSIZE = STBSIZE
0019 prbSize<1> = prbSize<1> - stbSize<1>
0020
0021 if (prbSize<1> < 0) then prbSize<1> = 0
0022
0023 prbSize<2> = (prbSize<2> - stbSize<2>)+2 ; * Adjusted so the
0024 * progress bar looks like it is 'embedded' inside the
0025 * status bar
0026 prbSize<3> = 250 ; * Hard-coded the width of the control in
0027 * this instance
0028 prbSize<4> = (prbSize<4>)-3 ; * Adjusted so the progress bar
0029 * looks like it is 'embedded' inside the status bar
0030
0031 call set_Property( @window : ".PRB_TEST", "PARENT", @window :
0032 ".STB_STATUS" )
0033 call set_Property( @window : ".PRB_TEST", "SIZE", prbSize )
0034 call set_Property( @window : ".PRB_TEST", "VISIBLE", 1 )
0035
0036 return

Saturday 28 March 2009

Did You Know… Gradient colour on forms


From version 9.0, OpenInsight forms now support a background colour gradient to give your application a face lift in minutes. This can be set in a number of ways.

You can set the gradient for every window in your application by using the Environment Settings found in the Database Manager. This window enables you to choose a ‘From’ and a ‘To’ colour for your windows and then checking the checkbox OpenInsight will apply the colours to all of the windows in your application.

You can then override this on a form by form basis by checking the Background Colour checkbox on the window’s property sheet. Once checked, you can set a main colour (or from colour) using the ‘Background Colour…’ menu option from the form’s ‘Properties’ menu. Checking the Background Colour checkbox then enables the Gradient button on the window’s properties sheet. This button opens up the ‘Gradient Definition’ window in which you can select a number of gradient styles and also a ‘Grade To Colour’. Once set this specific form will then grade the background colour between your two defined colours.

As usual, the gradient colours and styles can also be set in code, an example of which is:

Declare function Set_Property
$Insert Colors
equ Vertical$ to 1
vBackColor = Red$ : @fm : Black$ : @fm : 0
prevBack = Set_Property(@window, "BACKCOLOR", vBackColor)
prevGrad = Set_Property(@window, "GRADIENTSTYLE", Vertical$)

Friday 27 March 2009

Revelation User's Conference 2010

Revelation USA has just announced the dates for the next Revelation User’s World Conference. Whilst still in the early planning stages, the intention is to return to the Rio All-Suite Hotel and Casino in Las Vegas, USA. The preliminary dates are the week commencing the 25th April 2010.

I will announce further details about this major event in the Revelation calendar as they become available, but please put this date in your diary. With the advances in the OpenInsight and Universal Driver over recent versions, the forthcoming 9.0.1 and plans for 9.1, this is one event that you will not want to miss.

Thursday 26 March 2009

Custom Application Manager Title Bar

A useful tip if you have several copies of your OpenInsight application for live, beta, test, R&D, etc.

You can easily keep these in different folders, but wouldn’t it be nice to change the Application Manager title bar to reflect which on you are working in, rather than find that you have just run up and modified the wrong copy.

In recent versions of OpenInsight, the number of switches that can be applied in the desktop shortcut used to launch OpenInsight has grown. For instance I now have different shortcuts to launch straight into my ARev32 demo, my new examples application, my WebOI demo and of course the standard SYPROG and EXAMPLES apps that come with OpenInsight – all of which are held in one copy of OpenInsight.

For example, I use
C:\Revsoft\OINSIGHT.exe /ap=MEDIALIBRARY /UN=MEDIALIBRARY /PW='' /DV=1 /IDE=1
to launch my new examples application. In this example, I use the /ap switch to launch straight into the application, passing in the username and password as applicable. I then use the /DV switch to take me into development mode and /IDE=1 to launch the new version 9.0 IDE.

In addition, you can now use /CA to include your own text in the Application Manager window’s title bar in brackets. So for instance I might opt to have my application version number show (Version_3.01.04) or I might simply opt to have (BETA) to indicate that this is a beta copy that I am working in.

The choice of text is yours, although it does have to be a complete string, so no spaces.

New EMEA region OpenInsight Training Dates Published

A series of new training dates are available on www.revsoft.co.uk covering all three of the main OpenInsight courses. In addition, I will be pleased to discuss any specific training needs that you might have for your current, or a future, project.

Wednesday 25 March 2009

RUG update

Thank you to those of you that took time out of your busy schedules to meet with us in London for Monday’s User Group.

Feedback thus far, indicates that the session was extremely useful and most people went away with notes that will help them to get more productivity from OpenInsight and ideas for enhancements to their OpenInsight applications. In addition, Mike completed the two day visit with a couple of pages of very useful suggestions, many of which have already jumped to the top of the wish list and will no doubt find their way into OpenInsight over the coming weeks.

Whilst much of what Mike talked about is beyond my ability to demonstrate, I do hope to enhance my demo application/s to include some of the Edit Table enhancements, drag and drop functionality (especially dragging files from Windows and displaying them in OpenInsight) and some of the other features that enable a more modern interface to be created and for developers to embrace standards and to get more done in less time, for example the code template library coming in 9.0.1.

Please drop me an email if you would like to book a WebEx session or meeting to look at some of these changes that are benefitting developers and end users using later versions of OpenInsight. In the meantime, Mike and I are already considering a RUG around October time. I chose a date when many people were busy this time, so please email me with dates to avoid and I’ll do my best to accommodate you all.

Friday 20 March 2009

WebOI and Apache

Most of the current WebOI information talks about using IIS as the web server to run the technology on. Whilst having Lunch with Stefano from Fonoteca Nazionale Svizzera earlier this week, I learned that WebOI runs equally as well on Apache 2.x

Wednesday 18 March 2009

Promoted Events and Recompiling entities

At the RUG on Monday Mike will be looking at a number of ways that developers can get more productivity from OpenInsight, on the list is commuter modules and the commuter module generator.

This has provoked a few calls from people recently with regards to modernising their OpenInsight applications, most of which have been in use for some years. Amongst other things, the use of promoted events has come up. With this in mind, I thought it worth reminding everyone about Sprezzatura’s zz_util_recompilation utility that is freely available from their web site.

Sprezzatura have used promoted events since OpenInsight version 4.0.x to reduce application development timelines and to deliver solutions to clients in a more timely and cost effective manner. They are now an integral part of the applications that the team builds for clients.

However, one of the overheads with using promoted events in design time is the need to recompile all of the windows in the application and to also recompile programs when working with Dictionary Equates. zz_util_recompilation addresses this requirement and enables OpenInsight developers to quickly and easily recompile any or all entities that are recompilable. Further details, supported versions of OpenInsight and a link to the files can be found on the above linked page.

Tuesday 10 March 2009

Work in progress

As the screen capture indicates, Carl has recently been working on modernising menus for OpenInsight. As the example shows, he is well on the way to completing the bitmap menu rendering for running in Windows Classic mode. He also has plans to support Windows XP (Blue, Olive and Silver), Office 2003 (Blue, Olive and Silver) and also Vista Aero, although there is some way to go to support these additional styles.

That said, I understand that a lot of the difficult requirements with OpenInsight’s internal menu structure have been completed and he is hoping to move on with the additional styles over the coming weeks.

He also tells me that, you should be able to give separators text strings and you should also have the ability to use bitmaps as check marks. In addition, he is also looking at enhancing the Property and Send_Message interface to bring them into line with the bitmap rendering.

Friday 6 March 2009

Intro to OI's Bravo Dashboard (Videos)

OpenInsight version 9.0 featured the inclusion of the Sierra Bravo Dashboard technology into the toolset. This is a tool that enables OpenInsight developers to quickly create dashboard widgets and make them available to users.

I have created a couple of videos which introduce you to the use of Dashboards and how to configure OpenInsight to use the Bravo Dashboard in OpenInsight and then how to use the tools.

The videos are available from YouTube and also for download using the links below. I hope that you find these videos useful.

Wednesday 4 March 2009

If you need to improve your productivity, and who doesn’t these days, then OpenInsight’s new System Editor is a must use.

Revelation have just uploaded a System Editor ++ overview video to YouTube. In this video Mike looks at many of the new features that will help you to get more productivity whilst developing routines in OpenInsight. Some of the things that he looks at are:

  • Global Replace
  • The array of text colouring options and text sizing
  • The use of tooltips to aid your coding, reduce debugging time and help new Basic+ developers
  • The use of Code Templates to save hours of repetitive header typing. In addition, the use of Program shells will help to standardise and enhance your code generation either personally or across your team
  • The ability to collapse code and jump around your code easily
  • The use of the Status Bar to aid the debugging of routines at compilation time

If you want to learn more about the System Editor ++ and other ways of achieving real productivity gains, then please reserve your place on our RUG in a couple of weeks time.

Network Products - March special offer

Are you:

  • Running an old Network Product, for example the NT Service 1.5, Win2K Service 2.1 or the UD 3.0?
  • Planning a move from Novell to Windows in the near future?
  • Looking to buy a new Revelation based system?
  • One of the few people still running a Revelation based systems without a Universal Driver?

If you have replied yes to any of the above questions then March is the time to step forward and claim a massive 30% discount on your UD4.5 upgrade or full install. For more details and the benefits of moving to version 4.5, please drop me an email.

This offer is only available until the 31st March 2009, so drop me a line today.

Tuesday 3 March 2009

AUTOSIZECOL issue, workaround and fix.

I’d like to thank Colin from CSSP for bringing an issue with AUTOSIZECOL to our attention and also to Carl for some prompt attention to identifying a workaround for the issue now (version 8.x and 9.0) and for more completely addressing the issue for the next release of OpenInsight.

The issue was reproduced by creating a table containing the following code .TABLE->AUTOSIZECOL=0 and then this was run on two separate forms. This approach was taken to enable a toggle setting to autosize to 3 or 0 to either display the scroll bar or remove it.

  • A form was created with a table set to resize vertically and horizontally, but no columns were set to autosize.
    In this instance the above code caused the row numbers to autosize.
  • A second form was created and one this form the control is sized manually.
    In this instance the above code causes the entire set of columns to move to the right when increasing the form size. This resulted in a blank area between the row markers and the first column.

Carl picked this one up and he has made a change to AUTOCOLSIZE so that:

  1. Using a value less than 0 will result in auto-resizing being turned off.
  2. Using a value of 0 will result in the row label column being auto sized, unless it is not there in which case auto-sizing is turned off.
  3. Using a value greater than 0 results in the column number specified being resized as per normal.

This change should make the next release of OpenInsight in a few months time. In the meantime, this issue can be worked around by simply setting the AUTOSIZECOL property to -3.

Full WebOI video downloads

The two WebOI videos are now available for download from the video library on the RevUK web site found at http://www.revsoft.co.uk/devvideolibrary.htm

Monday 2 March 2009

RUG Meeting Planned

I would like to invite you to the next Revelation Developer and User Group Meeting, which will take place in London during the afternoon of Monday 23rd March.

Mike Ruane (President of Revelation Software, Inc.) will be over from the USA. On this occasion he will be looking at many of the tips and techniques to help you to better understand updates approaches to building applications in OpenInsight and also how to get more productivity from OpenInsight.

Some of the items already on the agenda include:
  1. An overview of WebOI 9.0.1
  2. An overview of the Dashboard in 9.0
  3. Use of the Commuter Module Generator – whether or not you’re using WebOI
  4. Drop Down List populator
  5. Global Find and Replace
  6. FIND command. Finds string in data or code and makes an active list
  7. Code Wizard – Create chunks of code with a click from the menu. Extendable by the developer. We intend to supply a dozen or so examples to attendees
  8. OERUN – Command line running of an engine and a process and then shutting down
  9. Indexing Service – under development
  10. MOVEDATA.Bat – A routine to help move data at the OS level
  11. The PRINTSCREEN utility - Alt-P returns (if you have Word)
  12. RTI_SENDFAX - Send faxes from a OI, either through a window or call
  13. URL Filing System – read and write websites and HTTP as if it were a filing system

Whilst most of the utilities, functions and techniques will already be in version 9.0, attendees will receive those that are not in 9.0 in the form of an RDK install following the RUG.

Please contact Me to reserve your place and to receive further details about the venue and times.