Otis, a new database viewer tool.

842 views
Skip to first unread message

Hansmarc

unread,
Jul 21, 2020, 6:19:42 PM7/21/20
to Harbour Users
Hi everybody,
i m glad to announce a new version of Otis, a database viewer tool.
I have just created a repository in github where you can download a zip, the manual and the changelog files.

https://github.com/hansmarc/Otis

Below changelog for this version.


Regards
Hans

------------------------------------------------------------------------------------------

V 17-07-2020 : OTIS V1.10 b01

New : 'Otis manual.pdf' included in zip file.

New : Added rdd driver LETODBF from Elchs (https://github.com/elchs/LetoDBf). (fork from Alexander Kresin LETODB.)
This is really a excellent client server solution. Thanks Elchs.

Modif : 'Otis Dataset Manager'
The RDD driver name is also saved in the dataset for each individual opened table.
It is possible to use tables with a different RDD in the same dataset.
ex. local files with RDD DBFCDX and LetoDBf files with RDD LETO.

Modif : 'Plugin mode'
A lot of modifications for "Plugin mode" of Otis.lib.
Please read included document 'Otis manual.pdf'.
Some remarks in it are very important.

New : 'Otis Dataset Manager'
Settings menu.
Used to define area numbers and LetoDbf server settings.

New : 'Otis Dataset Manager'
Update of columns 'F' filelock status,
'F' file is locked or loaded in excl. mode
'R' a record is locked.
'R+' multiple records are locked.

Bug : 'Otis Dataset Manager'
Otis exits with a error when you hit menu 'Remove Index' when there where no tables opened.

Bug : 'Otis Dataset Manager'
The table OTIS.DS.DBF could not be opened if another RDD was set than DBFCDX.
We now use the VIA clause to open this table.

New : Some warning messages.

New : REQUEST of all functions mentioned below. They could be used in a index expression.
ABS, ALLTRIM, AT, CHR, CTOD, CDOW, CMONTH, DATE, DAY, DELETED, DESCEND, DTOC, DTOS, DOW, ;
EMPTY, I2BIN, L2BIN, LEFT, LEN, LOWER, LTRIM, MAX, MIN, MONTH, OS, PAD, PADC, ;
PADL, PADR, RAT, RECNO, RIGHT, ROUND, RTRIM, SPACE, STOD, STR, STRZERO, ;
SUBSTR, REPLICATE, TIME, TRANSFORM, TRIM, UPPER, VAL, VALTYPE, YEAR,;
SOUNDEX

New : All known codepages in Harbour are included now in Otis simply by including the file "hbextcdp.ch".
Suggestion from 'Ivo Fritz Hasse' who asked to add "PT850".

New : Added RDD "SIXCDX".
Complete list of rdds loaded, "DBFCDX", "DBFNTX", "DBFNSX", "SIXCDX".

Modif : Otis program icon has been changed. Much better i think.

Modif : 'Table Inspector'
Otis show now the number of orders that are opened in the upper left label 'Orders (xx)'.
No longer necessary to open the combobox to see how many orders are opened.

Modif : 'Table Inspector'
'Delete key' could already be used to Delete/Recall a record but
from this version this feature is only enabled if the checkbox 'Allow Edit' is checked.

Corr. : 'Table Inspector'
Scope button and checkbox are disabled if there is no order/index selected.

Corr. : 'Table Inspector'
The order combobox was not updated correctly when a new order tag was created.

Modif : 'Table Properties'
Table Info text is reordered and some info is added, ex. used RDD driver.

Corr. : 'Index Manager'
New index, the tag name can maximum be 10 characters.

Corr. : 'Index Manager'
If one of the expressions failed a error message was displayed but afterwards
Otis tried nevertheless to create the new order.

Mario H. Sabado

unread,
Jul 22, 2020, 12:15:20 AM7/22/20
to 'elch' via Harbour Users
HI Hans,

Thank you for this tool and sharing it to the community.

I have the following error when adding table while connected to Leto server:

image.png

Regards,
Mario

--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/harbour-users/b66f68e9-dad0-49c9-8844-4252082baf2eo%40googlegroups.com.

Hansmarc

unread,
Jul 22, 2020, 12:33:42 AM7/22/20
to Harbour Users
Hi Mario,

I was already afraid that this error would appear because I had this failure a few days ago when i changed the structure of the letodbf datafolder. Problem it disappeared and i could not repeat and catch the error again. Can you send me a screen shot of the filepicker when you click on add file but with the complete structure of all folders and subfolders on the left part fully developped thus opened. I think that the path and or subpath name is not analysed correctly.

Regards
Hans

Mario H. Sabado

unread,
Jul 22, 2020, 3:18:43 AM7/22/20
to 'elch' via Harbour Users
Hi Hans,

The error appeared right away after clicking the Add Table button.

Thanks,
Mario


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Hansmarc

unread,
Jul 22, 2020, 4:16:32 AM7/22/20
to Harbour Users
Hi Mario,

can you tell me what you have as folder structure under the letodbf folder DATA\...... that you have defind in the letodb.ini file.
I did tests last days with subfolders in it, thus there are no files in the main data folder.

Ex : data\hans
                   +----- files
               \test
                   +------ files

Thanks
Hans

Mario H. Sabado

unread,
Jul 22, 2020, 4:32:28 AM7/22/20
to 'elch' via Harbour Users
Hi Hans,

In Windows, c:\mydb.  Under Linux, something like /home/mydb in letodb.ini.  The actual location of the database can be underneath in subfolders.

Regards,
Mario

--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Hansmarc

unread,
Jul 22, 2020, 5:51:23 AM7/22/20
to Harbour Users
Hi everybody,

uploaded to github a small update, https://github.com/hansmarc/Otis

Modifications see below and changelog.txt.

There is still a bug with the LetoDbf server.
In some situation Otis exits with a error if you click 'Add table' in the dataset manager.
I am working on it.

Regards
Hans

22-07-2020  : OTIS V1.10 b02
----------------------------

Bug   :  'Otis.ini file'
         Otis quits with a error after update because some new ini vars were not yet defined in the ini file.

New   :  Menu 'Settings'
         Added a 'Test conn. Leto' button to test the connexion with a LetoDbf server.

Mario H. Sabado

unread,
Jul 22, 2020, 6:48:09 AM7/22/20
to 'elch' via Harbour Users
HI Hans,

I observed that an ini file is being created on the current folder where I launch the program.  Is this the expected?

Thanks,
Mario


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Hansmarc

unread,
Jul 22, 2020, 7:26:25 AM7/22/20
to Harbour Users
Hi Mario,

yes
if Otis does not find a ini file at startup in the same folder as where the exe is than it create the ini file with default values.
This permits to have different settings in function of the folder where the exe is placed.
Also sometimes necessary if you run in 'plugin' mode. 
Settings for the letodbf sever could be different by example.

Regards
Hans

Mario H. Sabado

unread,
Jul 22, 2020, 9:42:10 AM7/22/20
to 'elch' via Harbour Users
This is noted Hans.  Thank you for the clarification.

Regards,
Mario


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Hansmarc

unread,
Jul 23, 2020, 5:31:31 AM7/23/20
to Harbour Users
Hi Mario,

i just uploaded a beta version of Otis with some additional tests for the problem with the 'add table' that you have discovered.

Could you please test this version and tell me if you still have the error.

It is also in the download folder on Github, https://github.com/hansmarc/Otis/tree/master/Download

Thanks
Hans

Mario H. Sabado

unread,
Jul 23, 2020, 10:54:13 AM7/23/20
to 'elch' via Harbour Users
HI Hans,

I got the following error upon launching the beta.

image.png
Thanks,
Mario


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Hansmarc

unread,
Jul 23, 2020, 11:41:12 AM7/23/20
to Harbour Users
Hi Mario,

sorry, forgot to mention that you must rename the file to Otis.exe.

Regards
Hans

Mario H. Sabado

unread,
Jul 23, 2020, 11:49:24 AM7/23/20
to 'elch' via Harbour Users
Hi Hans,

I still got the error after renaming the file.  When I click the Add Table button, a Leto connection info pops out before the error.

Thanks,
Mario

image.png


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Hansmarc

unread,
Jul 23, 2020, 12:18:34 PM7/23/20
to Harbour Users
Hi Mario,

i don't understand see my code below.

line nbr  code
11057   // get folder names from LetoDbf server
11058   aDir := Leto_Directory( cPath, "D" )
11059
11060   FOR i := 1 TO LEN (aDir)

leto_directory() returns normaly a array filled with foldernames.

It is as if leto_directory() returns a invalid type of value.

I added to following code after leto_directory():

   msgstop( valtype(adir) )

could you please download the new beta version, unzip it and say me what type it returns.
(rename is not necessary)
Can you tell me also the structure of the folders from the root letodb.ini datafolder.


Thanks
Hans


Mario H. Sabado

unread,
Jul 23, 2020, 1:21:32 PM7/23/20
to 'elch' via Harbour Users
HI Hans,

Here's the return value before the error.

Regards,
Mario

image.png


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Mario H. Sabado

unread,
Jul 23, 2020, 1:47:18 PM7/23/20
to 'elch' via Harbour Users
Hi Hans,

Below test function returns valid files from the DataPath parameter in my local:

AEval(Leto_Directory("*.dbf"),{|x|Qout(x[1]) })

Thanks,
Mario

Hansmarc

unread,
Jul 23, 2020, 2:56:30 PM7/23/20
to Harbour Users
Mario,

uploaded to github a new beta version to test.

let_directory() is used recursive in Otis.
It is called for each folder that is found in the data folder specified in the letodb.ini file.

I now display the folder that is searched for files before calling leto_directory().
Can you test and report me each folder and subfolder that is searched for files and the one where it bugs.
Can you also tell me when you click on 'add table' which version of letodbf you use.
It is displayed in the popup that tells you that the connexion is establied.

Thanks
Hans

Mario H. Sabado

unread,
Jul 23, 2020, 6:29:26 PM7/23/20
to 'elch' via Harbour Users
HI Hans,

Below is the screenshot of the directory return value.

Regards,
Mario

image.png


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.
Message has been deleted

Hansmarc

unread,
Jul 24, 2020, 4:19:05 AM7/24/20
to Harbour Users
Hi Mario,

I still don't understand.
I tested with a local server on my system and a cloud connexion.
Tested with a empty root folder, root with subfolders with files and without files.
Root with files and folders with and without files, ...etc.
Everything works fine.

I placed on github in the download folder a extract (demo.zip) of the source that i call leto_getfile() with all necessary files.
Copy to the sample folder and compile.

I have the impression that leto_directory() bugs because it returns 'nothing' ????
aDir is 'U' if you call valtype() at the first call when this function scans the root '\' folder.

Could you please test and look what is happening.

Thanks
Hans

Message has been deleted

Mario H. Sabado

unread,
Jul 24, 2020, 6:42:46 AM7/24/20
to 'elch' via Harbour Users
HI Hans,

Below is a simple LetoDBf connection test I'm using which works in my environment.

One thing I observed if I run otis.exe from different location, I have error message like the one attached (Error opening a file .INI).  Can I suggest to set the default location of the ini file to hb_dirbase() so that whenever otis.exe is called, it will look for the file where the otis.exe is located?

Thanks,
Mario
image.png


**********************************************
REQUEST LETO
REQUEST DBFCDX

PROCEDURE Main( cPath )
   LOCAL nSrvMode
   Hb_Default(@cPath,"localhost")
   IF ValType( cPath ) == "C"
      rddSetDefault( "LETO" )
      cPath := "//" + cPath + iif( ":" $ cPath, "", ":2812" )
      cPath += iif( Right( cPath, 1 ) $ "/\", "", "/" )
   ELSE
      rddSetDefault( "DBFCDX" )
      cPath := ""
   ENDIF
   IF rddSetDefault() == "LETO"
      IF leto_Connect( cPath, "anonymous", "anonymous", 42000 /*timeout*/, /*hot buffer*/ ) == -1
         RETURN
      ENDIF
      LETO_DBDRIVER( "DBFCDX", "SMT", 1024 )
      ? nSrvMode := LETO_GETSERVERMODE()
       AEval(Leto_Directory("*.*","D"),{|x|qout(x[1]) })  //Lists files/folders under LetoDBf DataPath
   ENDIF
   return
***************************************************



--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Mario H. Sabado

unread,
Jul 24, 2020, 6:47:20 AM7/24/20
to 'elch' via Harbour Users
Hi Hans,

Sorry I forgot to mention the reason why I sent you the simple connection test for LetoDBf that I used because I don't have MiniGUI currently installed and it is required by the demo from your site.

Regards,
Mario

Hansmarc

unread,
Jul 27, 2020, 7:50:06 AM7/27/20
to Harbour Users
Hi Mario,

sorry for the delay but i just placed a new file 'Leto_test.zip' on github.
It is a exe file so you don't have to compile it.

Can you please test again your connexion and let me know the result.
I placed some msginfo() functions on critical places.

Thanks
Hans

Mario H. Sabado

unread,
Jul 27, 2020, 11:37:45 AM7/27/20
to 'elch' via Harbour Users
HI Hans,

I got the following message after clicking Add Table

Directory scan path: \
Let_directory return valtype: U

Regards,
Mario

image.png


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Hansmarc

unread,
Jul 28, 2020, 8:55:14 AM7/28/20
to Harbour Users
Mario,

please can you retry again with a new test on github.


Thanks
Hans

Mario H. Sabado

unread,
Jul 28, 2020, 5:47:31 PM7/28/20
to 'elch' via Harbour Users
Hi Hans,

I'm still getting the U valtype with the latest.

image.png


Regards,
Mario



--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Hansmarc

unread,
Jul 31, 2020, 4:46:53 PM7/31/20
to Harbour Users
Hi everybody,

you can find a new release (v1.1 b03, 01-08-2020) on github :

https://github.com/hansmarc/Otis

Regards

Hans 

-----------------------------------------------------------------------------------
changelog.txt :

--------------------------------------------------------------------------------------------------
Changelog file : OTIS, Open Table InSpector
Author         : Hans Marc (Belgium)
Latest update  : 01-08-2020
--------------------------------------------------------------------------------------------------

01-08-2020  : OTIS V1.10 b03
----------------------------

Bug   :  You get multiple runtime errors if you run Otis.exe from a different location
         if you right clicked, by example, on a table file to 'open' it.
         Reason, Otis used getcurrentfolder() for the location of the ini file.
         We now use hb_dirbase().
         Suggestion proposed by Mario (mhsabado).

New   :  Connexion info LetoDbf rdd
         Added server mode info with LETO_GETSERVERMODE()

New   :  Otis as default windows program to open tables in explorer.
         Default rdd driver is always DBXCDX.

New   :  Command line option :
         Otis table1.dbf, table2.dbf, table3.dbf, ...etc.
         or
         Otis table1.dbf table2.dbf table3.dbf ...etc
         will add all the specified tables to a new dataset.

Modif :  'LetoDbf server'
         Click 'Add table' with LetoDbf rdd activated.
         Some letoDbf servers return a 'Undefined' variable with the leto_directory() function.
         We still are searching for the reason.
         It happens when we scan the 'root' directory to build a tree for the filepicker form.
            code : aDir := leto_directory("\*.*", "D")
                   if valtype(aDir) == "U"
                   ....
         Otis displays a message if this happens and longer quits with a error.
         No subdirectories will be displayed in the "tree" control.
         If you see this message please tell me what your server configuration is.

Mario H. Sabado

unread,
Jul 31, 2020, 10:59:40 PM7/31/20
to 'elch' via Harbour Users
Hi Hans,

Can you test below program from your side then let  me know if we have the same result on the ValType()?

image.png


Regards,
Mario


***************************************
REQUEST LETO
REQUEST DBFCDX

PROCEDURE Main( cPath )
   LOCAL nSrvMode
   local aDir

   SetMode(25,80)
   cls

   Hb_Default(@cPath,"localhost")

   rddSetDefault( "LETO" )
   cPath := "//" + cPath + iif( ":" $ cPath, "", ":2812" )
   cPath += iif( Right( cPath, 1 ) $ "/\", "", "/" )  

      IF leto_Connect( cPath, "anonymous", "anonymous", 42000 /*timeout*/, /*hot buffer*/ ) == -1
         RETURN
      ENDIF

      nSrvMode := LETO_GETSERVERMODE()      
      aDir:=Leto_Directory("/*.*","D")
      hb_alert({"Server: "+cPath,"Mode: "+Hb_NtoS(nSrvMode),"Command: "+"aDir:=leto_Directory('/*.*','D')","aDir ValType: "+valtype(aDir),"aDir Len: "+Hb_NtoS(len(aDir))})

      AEval(aDir,{|x|qout(x[1]) })

   return
***************************************************************

Mario H. Sabado

unread,
Jul 31, 2020, 11:39:22 PM7/31/20
to 'elch' via Harbour Users
Hi Hans,

Thank you for this update and sharing your tool.  Very handy to use with many features.

Best regards,
Mario


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Mario H. Sabado

unread,
Jul 31, 2020, 11:45:49 PM7/31/20
to 'elch' via Harbour Users
Hi Hans,

I have this error when I started OTIS.exe from a different location and opted to save the Data Set before exit.  The otis.ini problem before has been resolved.

Thanks,
Mario


image.png


Hansmarc

unread,
Aug 1, 2020, 2:30:03 AM8/1/20
to Harbour Users
Hi Mario,

yes i get the same results.
I tested with a localhost server, a old portable pc setup on the local lan as letodbf server and a cloud server.
In all cases leto_directory() returns a array.

I see only one difference, leto_servermode() return '4' here in all cases described above.
I didn't find any explanation on mode 4 in the source files of Elchs.

Below my leto server startup ini file.

Regards
Hans


Port = 2812
DataPath = c:\DATA\
Default_Driver = CDX
Lock_Scheme = 4
Share_Tables = 1
No_Save_WA = 1
Lower_Path = 0
EnableFileFunc = 1
EnableAnyExt = 1
Allow_UDF = 1
Pass_for_Login = 0
Pass_for_Manage = 0
Pass_for_Data = 0
Cache_Records = 21
Debug = 1
Optimize = 1
DataBase = /
Backup = /tmp/backup
Mask = *.dbf,*.dbt,*.ntx,*.cdx,*.fpt,*.hsx
Lock = 1
Seconds = 30
Wait = 1
ArcCmd = tar -cvzf /tmp/backup/leto.tar.gz /tmp/backup/*




Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbou...@googlegroups.com.

Hansmarc

unread,
Aug 1, 2020, 2:40:16 AM8/1/20
to Harbour Users
Hi Mario,

i think that you have a 'access right" problem.
Dos error 5 will say 'access denied'.

I have made a modification (next release) because when you start Otis for the first time, the dataset table was only created when you used the 'save' or 'load' dataset menus.
Thus if you double click on a dbf file (with Otis as default windows program to open it) and then quit Otis and confirm that you want to save the new dataset, the program exits with a error because the dataset table didn't exists. This is a different bug than dos error 5.

Before exiting Otis, try to use 'save dataset' and see if you get also dos error 5

Please can you verify..

Regards
Hans

Mario H. Sabado

unread,
Aug 1, 2020, 3:44:25 AM8/1/20
to 'elch' via Harbour Users
HI Hans,

Thanks for the feedback on the result.  At least the leto_Directory() works as expected for both.  Our difference in the server mode is due to the No_Save_WA=0 and Default Driver=NTX.  When I changed it to No_Save_WA=1, it went back to 4 as the Server Mode.

Regards,
Mario



Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/harbour-users/eacbe883-8333-4177-8bea-4a4b341ef948o%40googlegroups.com.

Mario H. Sabado

unread,
Aug 1, 2020, 3:51:21 AM8/1/20
to 'elch' via Harbour Users
Hi Hans,

I made some testing and below are my observations:

When I run Otis.exe from other location, Add Table then Save Data Set, the error appears and no OTIS_DS.DBF was created.
When I run Otis.exe on the same location, Add Table then Save Data Set, the error does not appear and OTIS_DS.DBF was created.

Thanks,
Mario


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Hansmarc

unread,
Aug 1, 2020, 6:30:56 AM8/1/20
to Harbour Users
Hi Mario and other followers;

small update of Otis on :


Regards
Hans


01-08-2020  : OTIS V1.10 b04
----------------------------

Bug   :  'First start of Otis.exe'
         1.There is no dataset table file Otis_ds.dbf if you start Otis for the first time in a folder.
         Load a dbf in the dataset.
         Exit the program. Otis asks if you want to save the changed dataset.
         Otis exits with a error if you confirm because there is no dataset table.
         This table is now created when you start Otis.
         Before it was only created if you used menus 'save' or 'load' a dataset.

         2. If you start Otis from a different location (see bug v1.10 b03)
         and you start Otis for the first time than the name of the dataset
         table OTIS_DS.DBF did not use hb_dirbase or any other path.
         This could result in a Dos error 5 because Otis tried to create the dataset
         table in the current folder.

Bug   :  'LetoDbf'
         saving a table in the 'Inspector' didn't function when the letoDbf rdd was used.

Mario H. Sabado

unread,
Aug 1, 2020, 6:42:42 AM8/1/20
to 'elch' via Harbour Users
Hi Hans,

This is to confirm that the Data Set saving is already working when otis.exe was started from another location.

Many thanks for this fix!

Regards,
Mario


--
--
You received this message because you are subscribed to the Google
Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: http://groups.google.com/group/harbour-users

---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.

Ash

unread,
Dec 24, 2020, 9:15:44 AM12/24/20
to Harbour Users
Hello Hans,

Here is some information that may be of some help to you in resolving the errors shown below.

Regards,
Ash

Start OTIS without any datasets loaded.
Select LETO RDD
Click Add Table(s) 



Click OK - the following error is displayed.



I also get the this error sometimes.



Have you tried aDir := leto_Directory('\') ?

Letodb.ini

[Main]
DataPath = /volume1/bms/comp
LogPath = /var/log/letodb
EnableFileFunc = 1
EnableUDF = 1
Cache_Records = 30
Debug = 1
TimeOut = -1
No_Save_WA = 1
Share_Tables = 1
HardCommit = 1
Tables_Max = 4999

Ash

unread,
Dec 24, 2020, 9:22:13 AM12/24/20
to Harbour Users

Missing images
1.png
3.png
2.png

Eric Lendvai

unread,
Dec 28, 2020, 6:08:15 AM12/28/20
to Harbour Users
What about making this tool open source ?
Most people will not run an exe they download.
Also you may get some help for running this on platforms other than MS Windows.

On Tuesday, July 21, 2020 at 3:19:42 PM UTC-7 Hansmarc wrote:
Hi everybody,
i m glad to announce a new version of Otis, a database viewer tool.
I have just created a repository in github where you can download a zip, the manual and the changelog files.

https://github.com/hansmarc/Otis

Below changelog for this version.


Regards
Hans

------------------------------------------------------------------------------------------

V 17-07-2020 : OTIS V1.10 b01

New : 'Otis manual.pdf' included in zip file.

New : Added rdd driver LETODBF from Elchs (https://github.com/elchs/LetoDBf). (fork from Alexander Kresin LETODB.)
This is really a excellent client server solution. Thanks Elchs.

Modif : 'Otis Dataset Manager'
The RDD driver name is also saved in the dataset for each individual opened table.
It is possible to use tables with a different RDD in the same dataset.
ex. local files with RDD DBFCDX and LetoDBf files with RDD LETO.

Modif : 'Plugin mode'
A lot of modifications for "Plugin mode" of Otis.lib.
Please read included document 'Otis manual.pdf'.
Some remarks in it are very important.

New : 'Otis Dataset Manager'
Settings menu.
Used to define area numbers and LetoDbf server settings.

New : 'Otis Dataset Manager'
Update of columns 'F' filelock status,
'F' file is locked or loaded in excl. mode
'R' a record is locked.
'R+' multiple records are locked.

Bug : 'Otis Dataset Manager'
Otis exits with a error when you hit menu 'Remove Index' when there where no tables opened.

Bug : 'Otis Dataset Manager'
The table OTIS.DS.DBF could not be opened if another RDD was set than DBFCDX.
We now use the VIA clause to open this table.

New : Some warning messages.

New : REQUEST of all functions mentioned below. They could be used in a index expression.
ABS, ALLTRIM, AT, CHR, CTOD, CDOW, CMONTH, DATE, DAY, DELETED, DESCEND, DTOC, DTOS, DOW, ;
EMPTY, I2BIN, L2BIN, LEFT, LEN, LOWER, LTRIM, MAX, MIN, MONTH, OS, PAD, PADC, ;
PADL, PADR, RAT, RECNO, RIGHT, ROUND, RTRIM, SPACE, STOD, STR, STRZERO, ;
SUBSTR, REPLICATE, TIME, TRANSFORM, TRIM, UPPER, VAL, VALTYPE, YEAR,;
SOUNDEX

New : All known codepages in Harbour are included now in Otis simply by including the file "hbextcdp.ch".
Suggestion from 'Ivo Fritz Hasse' who asked to add "PT850".

New : Added RDD "SIXCDX".
Complete list of rdds loaded, "DBFCDX", "DBFNTX", "DBFNSX", "SIXCDX".

Modif : Otis program icon has been changed. Much better i think.

Modif : 'Table Inspector'
Otis show now the number of orders that are opened in the upper left label 'Orders (xx)'.
No longer necessary to open the combobox to see how many orders are opened.

Modif : 'Table Inspector'
'Delete key' could already be used to Delete/Recall a record but
from this version this feature is only enabled if the checkbox 'Allow Edit' is checked.

Corr. : 'Table Inspector'
Scope button and checkbox are disabled if there is no order/index selected.

Corr. : 'Table Inspector'
The order combobox was not updated correctly when a new order tag was created.

Modif : 'Table Properties'
Table Info text is reordered and some info is added, ex. used RDD driver.

Corr. : 'Index Manager'
New index, the tag name can maximum be 10 characters.

Corr. : 'Index Manager'
If one of the expressions failed a error message was displayed but afterwards
Otis tried nevertheless to create the new order.

Hansmarc

unread,
Dec 29, 2020, 8:42:40 AM12/29/20
to Harbour Users
Hi Ash,

thanks for the info and images.
I will give it a look.

Thanks
Hans

Hansmarc

unread,
Dec 29, 2020, 8:46:08 AM12/29/20
to Harbour Users
Hi Eric,

indeed, my intension is to place the source also on github and make it open source.
But first i want to resolve some small problems and add a few new tools.

Thanks
Hans
Reply all
Reply to author
Forward
0 new messages