Looking for dBASE IV (old DOS versions) UDL
-
@PeterJones Thank you very much. I’ll try it out. The old versions of dBASE (v2.0 I’m running it under DOSbox-X) are procedural (aka ‘XBase’). Later versions do OOP and as far as I know quite different.
I’m trying to migrate from another text editor (Kedit / Xedit, which can’t do folds) and going down memory lane. I’d like to avoid yet another learning curve since the old stuff already has a lot of re-learning to do.
-
@PeterJones and @bofhlusr ,
Sorry @PeterJones , but I never got through all the documentation for submitting it for the repository, and was handling most of the questions concerning it on our newsgroups, which have been down as of late…which is also where the link for getting the program that installs the UDL package can be downloaded from.There is significant overlap, as the basic dBASE/xBASE language elements are still in Plus, even with the OOP elements, but the older let’s say, procedural form layout code wasn’t carried over. That’s the main difference. As long as there were no
@say
and@get
coordinates in the.prg
files, the current Plus package should take care of most of the language’s color coding.I did start work on a DOS 5.0 version of the UDL (with plans to work backward to previous versions), which overlaps a lot of, and makes use of, the older procedural code elements during the transition but it’s been a bit more work trying to meld the two together, with my existing package and I got sidetracked by other life’s issues, since I received very little notice of the need for more than the current package I had put together from the user community. In fact, it works just fine from reports, for the 5.0 version without the dBASEIV specific code elements in it. I have planned to try and get to older versions as well, but the priority hasn’t been there. I guess I’ll have to get back to work on it.
For @bofhlusr edification, except for the version specific file extension difference and language syntax differences, the Plus version should be able to handle color syntax highlighting of
.prg
files. You can add any necessary file extensions by modifying the UDL yourself in theLanguage->User Defined Language->Define your language... ->Ext.:
entryfield.Because of the difficulty of setting the package up to use the different Notepad++ installation variants, I created my own installer inside an INNO installer to make it easier for users to use it to install it in NPP, and I didn’t figure the repository would want an
.exe
file to be used for installing. I had so many complaints about not understanding how to install just the files needed, that I decided to create the installation program to handle it. It’s not pretty, but it does the job.If you want to try it out, this is the link for the dBASEUDLInstaller_installer.exe file.
Be warned, though, it apparently downloads as a .zip file, so you’ll have to unzip it somewhere. Then run the installer_installer, which allows you to install the actual dBASEUDLInstaller program to a directory of your choice, to use to install the dBASEUDL into your Standard, Portable, and/or cloud directories used for Notepad++.The UDL installer automatically looks to find if you have a current installation of NPP in standard install. If you already have a current installation and/or portable installations, you can direct it to install it instead of into your standard install, into a portable installation by clicking the Portable checkbox and navigating the directory file box where to find the portable installation.
If it doesn’t detect a cloud directory, already part of the NPP install, you’ll need to install NPP with the cloud directory first (either standard or portable) and then install the UDL package so it can find and install into the cloud directory, files that can go there.
Since the dBASE newsgroups are down at the moment, you can probably ask any questions of me here and I’ll get to them when I can. When the newsgroups (news.dbase.com) are back up, you can ask there, or any other questions you might have, as that is where most of us hang out and answer questions or help users.
The winter months are coming, and maybe I can revisit getting busy on this project again, but we’ve been dealing with family health issues lately and those take priority at the moment. Sorry.
-
@Lycan-Thrope said in Looking for dBASE IV (old DOS versions) UDL:
If you want to try it out, this is the link for the dBASEUDLInstaller_installer.exe file .
Thank you for this!
I downloaded and installed. I was hoping… to borrow a cliche, ‘it would just work’. So, what do I need to do next in npp to activate the udl after it is installed (see 2nd pix below)?
P.S. I tried to edit this post and make the fonts to my reply smaller but for some reason it refuses to go small.
-
@bofhlusr said in Looking for dBASE IV (old DOS versions) UDL:
P.S. I tried to edit this post and make the fonts to my reply smaller but for some reason it refuses to go small.
Your dashed lines under the paragraph are a Markdown way of indicating a header row. I used moderator power to add blank line between so it won’t headerify.
-
@PeterJones said in Looking for dBASE IV (old DOS versions) UDL:
@bofhlusr said in Looking for dBASE IV (old DOS versions) UDL:
P.S. I tried to edit this post and make the fonts to my reply smaller but for some reason it refuses to go small.
Your dashed lines under the paragraph are a Markdown way of indicating a header row. I used moderator power to add blank line between so it won’t headerify.
Nice. Thank you.
As an aside, being able to make changes behind-the-scene as a moderator is what got me to computers in the first place. I was so frustrated with the editing capabilities in newsgroup messaging back then in the early eighties that I decided to run a BBS myself. One thing led to another and before I realized it, I had changed a career from banking to program development, and became involved in network and IT administration instead.
-
@bofhlusr said in Looking for dBASE IV (old DOS versions) UDL:
I downloaded and installed. I was hoping… to borrow a cliche, ‘it would just work’.
@Lycan-Thrope tried to indicate it was a multi-step by saying “Be warned, though, it apparently downloads as a .zip file, so you’ll have to unzip it somewhere.” – but that’s not exactly what happens.
The first download (at least for me) was a
.exe
. That installer, as you showed, tries to install intoC:\Program Files (x86)\dBASEUDLInstaller
. You then have to go into that directory and run thedBASEUDLInstaller.exe
that’s in that folder – that is the version that allows you to install the UDL definitions, FunctionList definition, and autocompletion files for dBASE Plus. After restarting Notepad++ after running that second installer, you should have thedBASEPlus
andDark_dBASEPlus
entries in the UDL section of the Language menu:
-
@PeterJones and @Lycan-Thrope Got it working. I was going too fast the first time around and went right past the second .exe which is what threw me off. Thank you both!
P.S. I"m trying to test export and import an Access file to dBASE with about a million records. I am wondering if npp can cope with reformatting the text file for easier import with that record file size.
-
@Lycan-Thrope said in Looking for dBASE IV (old DOS versions) UDL:
I never got through all the documentation for submitting it for the repository
Most is pretty easy – the biggest difficulty is getting the functionList unitTest right. (And making sure that XML and JSON all validate correctly)
I took the files from your installer, and am submitting them to the repo in PR #275
- I did all the busywork for you (creating JSON, etc)
- I renamed the UDL files so they would show up with consistent naming in the UDL list
- I fixed XML errors in the autoCompletion
- lines 1462, 2745, and 4501 in your version had free text outside of attributes in
<Overload>
elements
- lines 1462, 2745, and 4501 in your version had free text outside of attributes in
- I fixed XML errors in functionList
- removed the free-text
xmlns
andxsi
near the start of the<NotepadPlus>
element - changed
\&\&
in the commentExpr regex to\x26\x26
so that the regex is compatible with XML (I didn’t want to deal with&
looking “weird” in the XML version)
- removed the free-text
Give it a look-over, and let me know if you’re okay with me merging that PR so that people not in your newsgroups will be able to have easy access, as well.
-
@bofhlusr ,
I use the CSVLint plugin for Notepad++ to work with .csv files to be imported into dBASE. It’s worth looking into. You can do a lot with that plugin. Once it’s the way you need it, you should be able to use the dBASEAppend from
command to import the data into an empty table setup with the header structure you need. -
@PeterJones ,
Thanks @PeterJones , that looks like a lot of work. I can’t believe the autocomplete files were working with those mistakes in there. I corrrected the main files in my development directory with those fixes you did.By the way, the name is wrong. It’s LycanThrope, not LycanThorpe. :-)
Only one thing I see missing is the overrideMap.xml file that I copy into the functionList directory so it can associate the UDL names with the functionList to use…and since you’ve changed the names of the files, those names will have to be changed in the functionList
overrideMap.xml
file that is used to copy. The exception may be that it has to be pointed out that those changes need to be made to make everything work…if someone doesn’t read the directions on how to do it. :-)But other than that, I appreciate the work you did. That seemed to be a lot of work that I hadn’t even begun understanding how to do. Thanks.
-
@Lycan-Thrope said in Looking for dBASE IV (old DOS versions) UDL:
@bofhlusr ,
I use the CSVLint plugin for Notepad++ to work with .csv files to be imported into dBASE. It’s worth looking into. You can do a lot with that plugin. Once it’s the way you need it, you should be able to use the dBASEAppend from
command to import the data into an empty table setup with the header structure you need.Thanks. I’ll check out the CSVLint plugin. But first I need to figure out how to export without having to chop up the data in Access due to size limitations for an exported csv file.
-
Sorry about the name spelling; I
will fixhave fixed that.overrideMap does not go into the repo, because it’s something the user has to edit, because we cannot know how many other languages they have already
—
update: the
udl-list.md
FunctionList section now includes theoverrideMap.xml
’s<association>
element, so users can easily paste it into theiroverrideMap.xml
-
@bofhlusr ,
This is starting to get off topic now, but…if you can’t save the access database as a .csv without exporting it to a csv format, I’m not sure what you can do. I don’t use Access, but there are users in the newsgroups who have dealt with such subjects, but as I mentioned they are down.More importantly, you don’t indicate you use a dBASE version that can directly via OLE use Access to do the transferring of data from other Windows apps, which started I believe with the dBASE Plus 2.8 version or so.
-
@PeterJones ,
Thanks again @PeterJones . I understand the overrideMap isn’t usually included, but it seemed easier at the time to just save their original into a backup and use the one I supplied to get them started if they’re not real familiar with how to use NPP to accomplish it.I’ll have to write a program to insert it into the file with the installer, but at the time, it was just quicker for me to do it this way, since there were many questions about “do what to what?”. So I found including and installing the file, easier.
Thanks again.
-
Thank you @Lycan-Thrope . Got it all sorted out. I was able to wrestle with the data, exported to a csv file and imported about 2.4m records to another database. The problem was that there were 26 fields in the table and each one had 255 characters (data originated from a mainframe). That’s 6,630 characters. But Access has a limit of only 4000 characters for each record (row).
No problems loading the csv file in npp. Impressive.
-
@bofhlusr ,
Glad that worked out for you. That’s one of the reasons for setting up Notepad++ as an alternate editor for dBASE, because of the built in capabilities of NPP and also the option to use plugins to do other things useful for dBASE programmers.As an aside, we do have an alternate newsgroup that is run by a fellow programmer that was originally setup when dBASE lost their newsgroups years ago and a patch until things got straightened out at
news.dbasetalk.com
that may help you with any other info.I’ll admit most of us have moved on to dBASE Plus, from the old procedural coding, but should you get ready to move over as well, or if some of the older coders are still fluent with version IV that can help, you can try using that address for a newsgroup reader.
If it gives you any trouble, let me know, and I can give you the IP address. They had a little hiccup, as well, a few years ago with the transfer of this user operated newsgroup and we had to go to the IP directly while the ownership was transferred over. I haven’t changed my reference in settings, so am not even sure if it’s been changed yet via the newsgroup domain.
I check in here pretty regularly, so if you have any further questions or need any further info, just let me know.
-
@bofhlusr Not sure if this helps, but SharkBase can handle up to 4 billion records in any dbf file format. It’s easy to find and setup. Useful for sorting those monster CSV year-end reports.
-
@James-Burke-0 ,
Unless it has the ability to read dbf7 tables, it doesn’t readall
dbf formats. Just an FYI.