Edenbrook.co.ukDataLoad
Getting Support
User Guide
Forum
Support FAQ
Email List
Hints & Tips
Technical
Consultancy
DataLoad Delays
Use delays to control load speed
Generic delays control whole load speed (EG data delay, cell delay)
Command delays control the pause after each command
*SLn should be used to control specific parts of a load

Using Delays

Why Delays are Important

The DataLoad tool passes data to any application by replicating the key presses a user would key manually.  DataLoad can send information faster than a user typing, but can also send it much faster than the receiving application can process it.  By setting delays it is possible to slow the speed that data is sent, thus preventing the receiving application from erroring because data has been 'missed'.

Preconfigured DataLoad Delays

DataLoad comes with many preconfigured delays which can be used in many situations but only need to be set once.  The delays form can be accessed from the 'Tools' menu or by it's shortcut icon  and consists of two tabs, 'Standard' and 'Advanced'. Each groups together different delays which can be set. All delays can be specified in whole or decimal seconds, for example 1 or 0.5.  If you need to set the delays back to the default by using the 'Reset' button.

The Standard Delays Tab

This tab contains delay actions for the most often needed delays, and is divided into two groups. First are the general delays, which consist of regular events requiring delays. The 'Data cell' delay occurs whenever a cell containing data or keystrokes is processed, while the 'Cell' delay causes a pause whenever any cell is processed (command, data or keystroke). Delays can be cumulative, therefore if both of these delays are set to 1 second there will be a 2 second delay every time a data cell is processed, but only a 1 second delays after a command is processed. The third delay in this group occurs when the target window has been called but before any cells are processed. This provides time for the window to be drawn and the desktop to be reorganised.

The second group of delays are the command delays. These delays occur immediately after the relevant command has been executed. For example, a TAB delay of 0.5 will cause DataLoad to pause for 0.5 seconds after sending a TAB key. These commands are also cumulative, for example if the 'Cell' delay is set to 1 second and the TAB delay is set to 0.5 seconds, then the total delay after sending the TAB command will be 1.5 seconds.  

The Advanced Delays Tab

This Advanced Delays Tab allows fine details to be changed and should be used with care. Using this tab you can set pauses in milliseconds rather than seconds and control how long certain important events happen for. 

The first two check boxes control how long a key is left depressed when a keystroke is simulated. The 'Key' press delay represents the duration of a non-system key hold, while the 'System' key press is the time a system key (Alt, Shift or Control) is depressed. 

The 'Menu Call' delay specifies how long a menu should be displayed before keystrokes are sent to it. This provides extra time for menus to be drawn on slower systems. 

The 'Hourglass check' defines how long DataLoad should pause for if the target application's cursor is an hourglass (the Options form must be configured for DataLoad to use this delay ~ see below to find out how to set the option).  If this delay is used DataLoad can suspend sending data to the target window until the application has finished processing the previous data and commands, as indicated by the cursor changing back to its normal state from an hourglass.  If the cursor is an hourglass this indicates that the application may be still processing the previous data or keystrokes. Delaying processing further cells may prevent DataLoad from sending data that the application is not ready to process. Rather than DataLoad 'spinning' while an hourglass is displayed it will 'sleep' for a period set in the delays form. When the sleep period is over DataLoad will check the cursor again and will return to sleeping for the preset time if the hourglass is still present. By default this option is not set.

Setting the Option to use the Hourglass Check

Select Options from the Tools menu.  The first option on the 'Options and Preferences' form is 'Wait while hourglass'.  This needs to be checked.

Manual DataLoad Delays

On occasions it is necessary to add manual delays, which are useful if you need to slow down specific sections of your load.  For example, you may need to add a delay so that you can see if a message is displayed in the Toolbar.  Typically they would be used in one-off, particular situations.  Try to avoid using them repeatedly in the data sheet otherwise it becomes very time consuming to change the delay when debugging or fine tuning.

To specify a manual delay, use the *SLn command.  Whenever DataLoad encounters such a command it pauses for the specified time at that point in the load. For instance:

*NR *SL1 TAB

causes control to move to the next record (*NR), a pause of 1 second to occur (*SL1), and a TAB to be sent.

The delay value can be enclosed in brackets, e.g. *SL(1), and can be decimal or whole numbers, e.g. *SL(0.5).