- Mark as New
- Permalink
- Report Inappropriate Content
(This just went *WAY* off-topic. You have uncorked the genie.)
Google-fu letdown. It was originally by Borland--who later bought AshtonTate, the makers of dBase, which is why I was able to read the old (pre-2018) Lacerte tables "native"--back in the DOS days, then they went Windows. It is currently part of the WordPerfect Office Suite of software, but you have to buy the "Professional" version to get Paradox.
WordPerfect, of course, got taken over by Corel... so yeah, the trail gets kind of confusing.
If you have the Student or Home or Standard packages (which cost less) you get only:
- WordPerfect (which I use, because "reveal codes" is superior to anything MS puts out), &
- Quattro Pro (spreadsheet which I use, because of @functions that are superior to what MS puts out), and
- their presentation product (which I don't even have a name for, because we don't really do presentations).
(Edited for correction.)
The "Professional" package then also includes:
- Paradox. Which, honestly, they have done NO development on since WP Suite 2002 / version 12, so you can get a perfectly functional version of Paradox by picking up an old out-of-date WP Suite package.
I much prefer it to Access, but probably from force of habit. To me, there are times that I say "I need a data table, with these 5 or 6 fields." Create it. Good, type in data... Paradox allows this. New table, sure. Give it a name. Do. It exists in your "work" directory, which is where you are most of the time. (And is a setting, so you can change what that is/where it is located.)
Access? You cannot just "create a table". FIRST you have to have a project file into which you put it. And if you want to look at data in ANOTHER project file? Not so much.
Paradox? I want to look at that data table over there. Sure thing! It's just like opening a spreadsheet: Oh look, the file opens. Columns, rows, data.
Anything user-facing that you want to do, you build your own UI. We use forms, Master record (client data) with one-to-many (children, street addresses, phone #s, emails) or one-to-one (current year's tax return) sub-records shown as appropriate. Buttons to "do stuff" (custom scripting).
It has its own scripting language (PAL, Paradox Application Language), and back in the mid-90s was one of the earlier programs that I heard of embracing Object-Oriented Programming. Hierarchical, so an object inside another object inherits from the parent (constant & variable declarations, methods or procedures attached).
I have done a great deal with it. We started in DOS, carried that over to Windows 3, converted to Windows version of Paradox when Win95 broke the DOS version, and eventually shifted to SalesForce in the cloud about 5 years ago when they got worried about "what happens if Robert gets hit by a bus?" (Me personally, I took about 3.2 seconds to Google for "paradox programming consultant" and found a hundred thousand hits, but I'm not management.)
But SalesForce is a lot more about LOOKING at data, and a lot less about MANIPULATING data. I still have (my, personal purchase) of Paradox installed, and do things like point it at the yearly tax detail files and run an extract.
Come back after lunch, Oh look! 3/4 million lines of data from our Individual files, showing me
W-2s (and who owns them, and where they work, and how much they make), and
rental properties (and who owns them, and where they are, and various expenses), and
contributions (and where they are, and who gave, and what the non-cash were, and who gave a car, and was that a house?!?!?), and....
Robert
Let's see if I can get a legacy picture of my DOS interface in here...
And the corresponding view of Windows:
And a free code sample! From the DOS version, this was my app:
autolib = "menusrdk,taxesrdk,printrdk,invesrdk,apps_rdk,utilsrdk"
Setretryperiod 30
splashscreen()
setupscreen()
slashmenu()
(One line to declare the libraries of where all the functions were, by type [so I could update a 'tax' or 'print' or 'invest' feature by editing ONLY that file], set a 30-second "retry on fail" period, and call the top/bottom menu lines, call the data display in the middle, and activate the menu.
Yeah, the six different modules of functions ran to a BUNCH of lines, each... 🙂