Recent

Author Topic: Visual FoxPro CDX index files  (Read 2797 times)

SymbolicFrank

  • Hero Member
  • *****
  • Posts: 1313
Visual FoxPro CDX index files
« on: January 05, 2022, 10:30:00 am »
The TDbf component only supports MDX (and NDX) index files. Is there a library somewhere that uses CDX files?

There is a very terse description of the file format here, but before I'm going to look into building and adding that, if someone has done that already, that would be much easier.

korba812

  • Sr. Member
  • ****
  • Posts: 396
Re: Visual FoxPro CDX index files
« Reply #1 on: January 05, 2022, 11:33:30 am »
The only library I know that supports cdx is UniDAC from devart.

Thaddy

  • Hero Member
  • *****
  • Posts: 14381
  • Sensorship about opinions does not belong here.
Re: Visual FoxPro CDX index files
« Reply #2 on: January 05, 2022, 01:52:23 pm »
And that is commercial...
Note from msdn: "Note that Visual FoxPro 9.0 is the last version and was published in 2007" , so it might be a better idea to convert to a more modern format.
https://docs.microsoft.com/en-us/previous-versions/visualstudio/foxpro/mt490117(v=msdn.10)?redirectedfrom=MSDN

But feel free to adding cdx if you want. (I can help, did a lot of that many moons ago for the late PerfectView)
« Last Edit: January 05, 2022, 01:59:07 pm by Thaddy »
Object Pascal programmers should get rid of their "component fetish" especially with the non-visuals.

winni

  • Hero Member
  • *****
  • Posts: 3197
Re: Visual FoxPro CDX index files
« Reply #3 on: January 05, 2022, 03:05:45 pm »
Hi!

Have a look at this 10 years old Forum thread:

https://forum.lazarus.freepascal.org/index.php/topic,9517.0.html

Winni

SymbolicFrank

  • Hero Member
  • *****
  • Posts: 1313
Re: Visual FoxPro CDX index files
« Reply #4 on: January 05, 2022, 03:29:28 pm »
And that is commercial...
Note from msdn: "Note that Visual FoxPro 9.0 is the last version and was published in 2007" , so it might be a better idea to convert to a more modern format.
https://docs.microsoft.com/en-us/previous-versions/visualstudio/foxpro/mt490117(v=msdn.10)?redirectedfrom=MSDN

But feel free to adding cdx if you want. (I can help, did a lot of that many moons ago for the late PerfectView)

It's not a new product (the opposite) and I have no say in the database structure. Which is an ancient DBF database, of roughly 900 files. Say, 400 tables, often with many fields. The first version of the application was made ~30 years ago and stuff got added over the years. Visual FoxPro is already an update. The current development platform is XBase++ (which is written in Delphi). It even has classes!

The FPC/Laz project I'm building (when nothing else is more important) is an universal data import tool. For now, I'm not using the indexes. The first thing I do is create part of a mostly empty DBF database in SQlite, by copying the structure, and copy the data into that. That's where I do the conversion. And when it's ready, I copy the records from those tables to the new DBF database. So, I already did an upgrade as well.

For now, it's only for that mostly empty database, but adding stuff to an existing database is in the cards.

The main problems are, that a TDbf is only partially compatible with the database (although much better with the fixes from korba812) and that a TDbf and a TSQLQuery are broadly incompatible with each other.

At first, I hadn't realized how slow such a large DBF database is compared to SQL. And I also didn't realize that having the TSQLQuery do all the SQL automatically in the background was much slower that doing the SQL myself.

So I'm already building V2. Another upgrade :)

SymbolicFrank

  • Hero Member
  • *****
  • Posts: 1313
Re: Visual FoxPro CDX index files
« Reply #5 on: January 05, 2022, 03:30:28 pm »
Hi!

Have a look at this 10 years old Forum thread:

https://forum.lazarus.freepascal.org/index.php/topic,9517.0.html

Winni

Yes, I saw that as well, but it appears to be dead, without functioning downloads.

 

TinyPortal © 2005-2018