STRU - Lists and modifies the structure of the dbfs files

You can share your experience with HMG. Share with some screenshots/project details so that others will also be benefited.

Moderator: Rathinagiri

User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

STRU - Lists and modifies the structure of the dbfs files

Post by Pablo César »

I found a mistake in the parameterization when the DBF is clicked on folder whose name contains spaces (for example, My Documents), then STRU did not interpret the path+name of the DBF because he was not quoted.

The parameter should contain quotes to receive fully the file name, as follows: C:\..\Stru.exe "%1" /G

File compressed file was actualized already for new download.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
fchirico
Posts: 324
Joined: Sat Aug 23, 2008 11:27 pm
Location: Argentina

Re: STRU - Lists and modifies the structure of the dbfs file

Post by fchirico »

Pablo César wrote:The "Setup" option now has one more item that allows access to STRU by clicking on DBF in Window Explorer:
...............
Excelent!!!!

Thank you.
Saludos, Fernando Chirico.
User avatar
danielmaximiliano
Posts: 2612
Joined: Fri Apr 09, 2010 4:53 pm
Location: Argentina
Contact:

Re: STRU - Lists and modifies the structure of the dbfs file

Post by danielmaximiliano »

Pablo César wrote:Ohh thank you amigo Esgici, as always you are so kind !

I sent a MP to Dr. Soto, asking for any C code solution for these specialfolders cases.
Shall wait and I´ll revert to you.

Best regards
Hola Pablo :
para las carpetas MSDM tiene esto :

http://msdn.microsoft.com/en-us/library ... older.aspx
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*

Saludos / Regards
DaNiElMaXiMiLiAnO

Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

STRU - Lists and modifies the structure of the dbfs files

Post by Pablo César »

Thanks Fernando for your enjoying !

Thank you Daniel, I have already solved this was a UNICODE convertion for special folders in my code. The problem was when comes with latin accents, but now I've fixed. Tks.

Now I am working in MEMO extension file auto-recognizing and it is working very well...
At begining I have decided to let user or fixed format (DBT/FPT), but I've found a problem when file was not existing then the system crash... but now accessing in low level without memo file, we can know which type is. It is quite ready but I am finishing tomorrow. I am still recovering from surgery, but I believe tomorrow or on monday I finish this:

Code: Select all

aMemos:={{"0x02","FoxBase",""},;
         {"0x03","dBASE III, dBASE IV, dBASE 5, dBASE 7, FoxPro, FoxBASE+",""},;
         {"0x04","dBASE 7",""},;
         {"0x30","Visual FoxPro","FPT"},;
         {"0x31","Visual FoxPro",""},;
         {"0x43","dBASE IV, dBASE 5",""},;
         {"0x63","dBASE IV, dBASE 5",""},;
         {"0x83","dBASE III, FoxBase+, FoxPro","DBT"},;
         {"0x8B","dBASE IV, dBASE 5","DBT"},;
         {"0x8C","dBASE 7","DBT"},;
         {"0xCB","dBASE IV, dBASE 5","DBT"},;
         {"0xE5","SMT","SMT"},;
         {"0xEB","dBASE IV, dBASE 5","DBT"},;
         {"0xF5","FoxPro","FPT"},;
         {"0xFB","FoxBase",""},;
         {"0x54","dBASE IV with SQL","DBT"},;
         {"0xA7","FoxPro 2.x (or older)","DBT"},;
         {"0xB9","FoxBase",""},;
         {"0xE2","dBASE III+ or FoxBase+","DBT"},;
         {"0xEF","dBASE IV","DBT"}}
This is an Array with codes, descriptions and extension names for DBf with Memo fields. I've compoused from many sources (I hope to be in good order).

Another thing is to implement with a persistent routine for opening DBFs that I should do too.

Thanks at all for your entusiastic comments and interests. :D
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
srvet_claudio
Posts: 2193
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Contact:

Re: STRU - Lists and modifies the structure of the dbfs file

Post by srvet_claudio »

Hi Pablo.
To develop applications that support ANSI and UNICODE, we must abandon those text functions that only support ANSI character set. Here is a partial list of equivalences:

Code: Select all

           ANSI/UNICODE               ANSI Only
 
-          HMG_LEN()             <=>   LEN()
-          HMG_LOWER()           <=>   LOWER()
-          HMG_UPPER()           <=>   UPPER()
-          HMG_PADC()            <=>   PADC()
-          HMG_PADL()            <=>   PADL()
-          HMG_PADR()            <=>   PADR()
-          HMG_ISALPHA()         <=>   ISALPHA()
-          HMG_ISDIGIT()         <=>   ISDIGIT()
-          HMG_ISLOWER()         <=>   ISLOWER()
-          HMG_ISUPPER()         <=>   ISUPPER()
-          HMG_ISALPHANUMERIC()  <=>   RETURN (ISALPHA(c) .OR. ISDIGIT(c))
 
-          (*) HB_USUBSTR()      <=>   SUBSTR()
-          (*) HB_ULEFT()        <=>   LEFT()
-          (*) HB_URIGHT()       <=>   RIGHT()
-          (*) HB_UAT()          <=>   AT()
-          (*) HB_UTF8RAT()      <=>   RAT()
-          (*) HB_UTF8STUFF()    <=>   STUFF()
           (*) Harbour native functions


You have to replace in the source code all functions which only supports ANSI character set for ANSI/UNICODE equivalent functions.

Best regards,
Claudio.

PS: Hi all, this comment is true for all the applications that you develop for UNICODE.
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

STRU - Lists and modifies the structure of the dbfs files

Post by Pablo César »

srvet_claudio wrote:To develop applications that support ANSI and UNICODE, we must abandon those text functions that only support ANSI character set. Here is a partial list of equivalences:

Code: Select all

           ANSI/UNICODE               ANSI Only
 
-          HMG_LEN()             <=>   LEN()
-          HMG_LOWER()           <=>   LOWER()
-          HMG_UPPER()           <=>   UPPER()
-          HMG_PADC()            <=>   PADC()
-          HMG_PADL()            <=>   PADL()
-          HMG_PADR()            <=>   PADR()
-          HMG_ISALPHA()         <=>   ISALPHA()
-          HMG_ISDIGIT()         <=>   ISDIGIT()
-          HMG_ISLOWER()         <=>   ISLOWER()
-          HMG_ISUPPER()         <=>   ISUPPER()
-          HMG_ISALPHANUMERIC()  <=>   RETURN (ISALPHA(c) .OR. ISDIGIT(c))

Harbour native functions: 
-------------------------
HB_USUBSTR()      <=>   SUBSTR()
HB_ULEFT()        <=>   LEFT()
HB_URIGHT()       <=>   RIGHT()
HB_UAT()          <=>   AT()
HB_UTF8RAT()      <=>   RAT()
HB_UTF8STUFF()    <=>   STUFF()


You have to replace in the source code all functions which only supports ANSI character set for ANSI/UNICODE equivalent functions.

PS: Hi all, this comment is true for all the applications that you develop for UNICODE.
That's right !!! Great, Dr. Soto ! Now it is clear for me ! Many thank you !

It is very very good to use UNICODE mode. IMO this is the right way... It is wonderfull ! Thank you Dr. Soto for your genious idea ! :)
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

STRU - Lists and modifies the structure of the dbfs files

Post by Pablo César »

Routine persistence for DBF opening has been implemented with also auto-recognition of type of DBF, as promissed as follows:
Screen73.PNG
Screen73.PNG (10.99 KiB) Viewed 7053 times
I hope to be enjoyed !

<Attached file removed, see last message with new release>
Last edited by Pablo César on Thu May 23, 2013 5:55 pm, edited 2 times in total.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
esgici
Posts: 4543
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Contact:

Re: STRU - Lists and modifies the structure of the dbfs file

Post by esgici »

Gracias amigo

Good advance :)

Viva HMG :D
Viva INTERNATIONAL HMG :D
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

STRU - Lists and modifies the structure of the dbfs files

Post by Pablo César »

Thank amigo Esgici for your interest ! :)

By the way, is it possible to correct your Turkish.Lng file in UTF-8 format and post to us ? And please also let us know if STRU is working properly in your language (in console and GUI modes).

B.Rgds
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
esgici
Posts: 4543
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Contact:

Re: STRU - Lists and modifies the structure of the dbfs file

Post by esgici »

Pablo César wrote:is it possible to correct your Turkish.Lng file in UTF-8 format and post to us ?
Done (new lines added).
let us know if STRU is working properly in your language (in console and GUI modes).
Tested, no problem encountered for both ( Console and Windows) modes.

Thanks a lot again :)

Viva HMG :D
Attachments
TurkishLng.zip
Turkish Language file for STRU application
(1.93 KiB) Downloaded 369 times
Viva INTERNATIONAL HMG :D
Post Reply