|
|
| Revision | Details |
|---|---|
| v1.19 | Fixed minor bug in field properties routine that prevented the correct field number being shown. Improved the datetime accuracy; it's now possible to set and obtain the number of microseconds and the calculation limits on very low and high dates have been removed. Added a 'Filename' option to the text field 'Special Use' options. This enables a fileselector when the field is tapped, allowing a filename to be selected or the field to be blanked. Resource file editors should note that resource item 181 is now deprecated and has been replaced by a new item 457. Fixed bug in listview that could cause the Data.OPX to panic if a new record has just been created in a table with an index. Improved the simple search facility so that the user can enter their own wildcards. Improved the sound-playing facility so that a sound can be cancelled by pressing a key. Improved the table lookups and split list view so that you can jump to a position by pressing the first letter of the required entry. Fixed minor bug in pen routine that could cause a subscript error if a pen tap occurred above the first field. Tidied up some problems with calculations, searches and SQL queries (including auto SQL filters) involving strings that include single and double quotes. Improved the memory handling when launching embedded files. Improved the handling of custom OPL source code when stored in the 3rd record of zPsiDatDefaults. When this file is launched, modified and translated, the option to replace it will update the .opo executable in record 2 as well as the changed source in record 3. Improved the Text export routine so that it can included LongText8 (Memo) fields. There is an additional option hidden away in the Options | General | > dialog called 'EPOC *.TXT'. When this is ticked, exported text will use &06 for lineends instead of &0D&0A (crlf) combinations. This makes it easier to export text for the standard Data application. |
| v1.18 | Improved the predefined SQL Query selector so that it uses a lookup-style window instead of a dialog box. The picklist button has been changed to the tab key so that it is easier to call up the picklist. Added a split view mode. The autowidth list view is still available using shift-V but the far left screen pen action and tab key now call up a modal split-screen view. While navigating the list, the left and right arrow keys alter the field displayed. The favoured column is remembered while the table is open and a default can be set using the <SPV> field modifier. During split view, the toolbar buttons and position bar are disabled; any pen event outside the list or record scrollbar will return PsiDat to the normal card view. Added a feature so that a user-defined pattern background can be used instead of a solid colour - copy an EPOC picture named 'background.mbm' into the PsiDat application directory and it will be loaded instead of any colour selection if the 'Use Wallpaper' option is set. On greyscale machines, a 16 colour background tile will automatically switch PsiDat to 16 colour mode on startup. Added url:() and img:() string calculations to aid web page developments. Improved the handling of LongText8 fields when in editmode so that the user does not attempt editing without switching to the memo dialog. Added options for setting the preferred list view width and maximum start position for the field editboxes. Improved the 'N'ew Record keypress action so that a <NOW> DateTime or Lookup/Help with <CD> modifier escapes the dialog. Improved the lat/long fields so that if RealMaps is not running, PsiDat will attempt to obtain the NMEA data directly (at 4800 baud) instead of by polling the RM.SIG file. The <NOW> field modifier may also be used with lat/long fields to force a RealMaps or GPS read when creating a new record. Fixed a minor display bug that could occur after a table merge. Enabled user-defined helpfile: If a standard Data file 'MyFile.HLP' exists in the same folder as a PsiDat database called 'MyFile' then this can be accessed as well as the main helpfile. Added the field number to the field properties dialog title. Altered the binary file embedding dialog so that it initiates with the same directory as the database file and subsequently remembers the selected directory. |
| v1.17 | Fixed minor bug that prevented the tablelist and indexlist being updated after importing text and dbase files. Tidied up the behaviour when a user attempts to open an EPOC data file that has no records. Modified the embedded file launch routine so that it is easier for the system to recognise an HTML file and launch it in the default browser. Some security has been added so that the user is warned and given the option not to run a custom OPL routine the first time it is run on their machine. Fixed problem that prevented v1.16 running properly on machines with codepage 1250 localisation patch. Altered the dialog boxes slightly when running on the Osaris so that they fit the screen better. Made it possible to force a completely blank new record (ie. ignore all <CD> and autofield modifiers) by typing Shift-N. The trailing space character on DateTime fields set to display 'Date only' has been removed. The autofiltering routine has been improved so that it works properly with Date fields on systems that use the US or Japanese date ordering (provided that the PsiDat settings match those in the control panel). The default forcing of zero times on Date fields has been restricted to those fields that use the <SQL> field modifier. A new function ParseSQL$:(string$) has been added. This is used by the SQL search dialog and allows the user to enter the following:- #TODAY# (to indicate today's date) #TOMOR# (to indicate tomorrow's date) These can be used together to filter records before, after, or on today's date, eg:- WHERE Date>=#TODAY# AND Date<#TOMOR# returns only records with today's Date WHERE Date<#TODAY# returns only records before today WHERE Date<#TOMOR# returns only records up until midnight today WHERE Date=#TODAY# returns only records with the DateTime value (Today at 00:00:00am) NB: Once the filter has been searched or applied, the SQL dialog displays the parsed SQL so if you want to save it for the picklist, this should be done before using it. Added option to use a Word file instead of a jotter file as the 'Rich Text' type for LongBinary fields (see 2nd page of the 'General Options' dialog). Improved the printing setup so that PsiDat should be able to remember the selected media. Added option to view/manually change the SQL statement for the current table OPEN statement. This is shown on 2nd page of the 'General Options' dialog. This can be used by advanced users to perform special sort views (eg. FOLDED SELECT to sort without case-sensitivity). However, if you alter this manually and get it wrong, PsiDat will crash - though it's very unlikely any data loss will occur because the table is closed normally before attempting to open the view. Enabled a basic print function that does not require a report layout to be prepared. This allows longtext8 (Memo) and MBM pictures embedded in longbinary fields to be printed as a continuous list. |
| v1.16 | Fixed bug in dBase IV export dialog that prevented escape if the filename was invalid (ie. too long for dBase IV). HTML 'Back' default is now included in the resource file so that it can be localised. The filepath used for HTML exports is now maintained during a session. Buttons used in 'Create Table' dialog have been changed to make it quicker to use (ie. the tab and enter keys are used to move up and down the fields) Improved the table and index selection by using an ordered lookup instead of a dialog box. Added additional error-checking so that ordered lookups revert to unsorted ones when no suitable index exists on pre-ER5 machines. Improved reporting of record numbers - PsiDat can now report record numbers in excess of 65535 provided that the table contains at least one text field. Modified the table closure routine so that compaction of large (>500KB) databases is optional. Speeded up multiple record deletion for large databases. Made it possible to add text 'on-the-fly' to user-defined lookup and help tables in a similar fashion to the built-in zPsiDatLookups ones (limited to the lookup field only but can be useful) Lookup fields can now be manually cleared even if an empty string is not included in the lookup table. Improved the text cursor. Added a text calculation function TNStr:() that can be used to insert tab and new paragraph characters into calculated text fields. eg. TNStr:([1]^t[2]^p[3]^t[4]) would concatenate fields 1-4 so that '^t' would be replaced by a tab and '^p' would be replaced by a new paragraph character (ASCII 6). Provided a simple way of copying any text or numeric field to the clipboard by tapping it with the Ctrl key held down. Modified the new record routine so that the user is instantly in edit mode (unless the record is created from the toolbar since this may not always be desirable). Removed limit on number of 'copy-down' (<CD>) field modifiers. Added 'rollback' feature and improved use of transactions to improve memory usage on large databases. If rollback is available, it is indicated by a light (green) band behind the position indicator bar. Shift-Esc will rollback when available. NB: Use of First or Last record will commit the current transaction. Additional comments :- Rollback is not available if the table has an index. Explanation: if records are added, deleted, or revised so that their position changes, then attempting to rollback corrupts the table. (Interestingly, deleting all the indexes for the table seems to recover the database but DbRecover: fails to do the same - this looked too dangerous to try and work around so Shift-Esc on indexed tables just commits the transaction). On colour machines, incomplete transactions on indexed tables are indicated by a pale red band. |
| v1.15 | Added HTML option - 'Single Record'. When this is ticked the HTML export routine will output the current record being viewed in a record view. This is ideal for creating reports of single records (eg. a 'Memo' database) Improved the HTML output quality including right-aligned numbers, summary values, & fonts. Added option to specify a user-defined <BODY> tag for both the multi- and single-record HTML outputs. NB: if used this will cause the multi-record background colour to be ignored (although it can obviously be included manually in the user-defined tag). Added option to specify a maximum number of records per page for multi-record HTML exports. Leave this at zero to put all records on a single page. When a number is input, a series of pages will be generated. Eg. a page with filename 'mypage' would output pages called 'mypage1.htm', 'mypage2.htm' etc. The pages are hyperlinked together with a simple navigation at the bottom of the page. Improved the keyboard editing to make it possible to modify all field types (including helps and lookups) without using the screen pointer. Increased the size of the memo editing box for the Netbook / Series 7 Modified the display routine so that, if the last field is a memo type, it will display to the bottom of the screen when 'Show Memos' is set in the preferences. Altered the toolbar button size for large displays so that they look more consistent with other EPOC applications. Added <SQL> field modifier and 'AutoFilter' option. When the <SQL> modifier is added to a numeric, datetime, or text field type, it enables an automatic filter to be applied based on the current record's values for those fields. This can be quickly applied by pressing the keyboard shortcut shift-F For example, a list of orders may have (text) 'client' and (numeric) 'order' fields. Adding the <SQL> field modifier to these would result in a query like :- WHERE client='My Client Ltd' AND order=1234 or whatever the current values for these fields were. This provides a simple method of creating a relational-style sub-table without overcoming the display size constraints and lack of true table joins in EPOC databases. As a result of this, it has been necessary to deprecate the auto-generation of time data for DateTime fields that are set to display only dates. Applying SQL filters to dates has always worked fine provided that less-than/more-than rules were applied. However, absolute date queries would fail because SQL only functions with absolute dates and cannot check the time component of the DateTime field which was invariably not set to 00:00:00 (12:00:00 am) v1.15 will therefore set the time component of DateTime fields to zero for all new DateTime fields that are set to display date-only. This modification affects new dates created with the <NOW> modifier or when a blank datetime field is edited. It also affects existing fields that are updated automatically by the <MOD> modifier. DateTime fields set to display both date and time, or time-only, are unaffected. It is still possible to enter a specific time or use the 'Now' button in the DateTime editing dialog. This has the (small) potential to prevent existing databases from working as expected, so this behaviour can be prevented by a custom OPL routine that includes the following line in the userauto: procedure:- forcezero%=0 The HTML export routine titles have been modified slightly to take advantage of the AutoFilter functionality. It is recommended that the <NOE> field modifier is used in conjunction with <SQL> to optimise the HTML output with the autofilter activated (because the current autofilter fields are now shown at the head of the HTML report when the autofilter is activated). The range of the <CD> ('Copy Down') field modifier has been extended to include the DateTime field type. Windows-1252 encoding in XML export is now an option because many applications don't recognise encodings yet and produce errors. Improved the retention of the current record when exporting and reduced the dependence on bookmarks. Enabled creation of new PsiDat databases using the system 'New File' command, provided PsiDat is not already running. This also means that PsiDat databases will appear in the 'Recent Files' launcher. Modified the 'Merge In' facility so that if the receiving table has a unique index, it will receive new unique records and discard those that cause key violations. Improved the colour icon renaming so that the colour version of the PsiDat icon becomes visible properly the first time PsiDat is run. |
| v1.14 | Improved the 'Save As' and 'Restructure' routines so that field properties are copied over and adjusted to suit modified/moved fields. Improved the 'Delete Table' routine so that associated field properties stored in zPsiDatFieldInfo are deleted along with the table. Added an error trap to the DoPrint: procedure. Added <MXW> field modifier to force lookup/help popup width to maximum. Added <L2F>,<L3F>,<L4F> field modifiers to force custom lookup/help popups to display 2,3,& 4 text fields instead of only one in each line. Added confirmation dialog to confirm use of aliases as fieldnames in 'Save As', 'Restructure' and 'Export... dBase' routines. This helps to avoid common errors that occur when trying to create tables with invalid fieldnames. The extra dialog box only appears when aliases are already switched on. This hasn't been added to the text export routines because use of the aliases will tend to be desirable or easy to spot in the output file anyway. Changed the default title for HTML export files so that the application name is used where specified. |