Community
    • Login

    Looking for dBASE IV (old DOS versions) UDL

    Scheduled Pinned Locked Moved General Discussion
    20 Posts 4 Posters 923 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • bofhlusrB
      bofhlusr
      last edited by bofhlusr

      I’m checking out old dBASE IV v2.0 procedural programs. This is not the same as current OOP versions available in dbase@com. The file extension is .PRG. Is there such a UDL?

      I googled and also checked the UDL repository but couldn’t find any. Found a video on YouTube by Chris Amit but that didn’t help either (I can’t post the link in this forum).

      I spent a few minutes in NPP trying to create a fold for a program construct but didn’t know how to create one for two-word commands eg. “do while” and “do case”…

      DO WHILE
      …
      ENDDO

      Thank you.

      PeterJonesP 1 Reply Last reply Reply Quote 2
      • PeterJonesP
        PeterJones @bofhlusr
        last edited by PeterJones

        @bofhlusr

        didn’t know how to create one for two-word commands eg. “do while” and “do case”…

        Put the multi-word phrase in quotes. (the mention of needing quotes around spaced-keywords is in the User Manual’s UDL page, UDL Configuration Tabs section).
        Example for DO WHILE ... ENDDO:
        ccf3ae50-8b9d-4027-be3e-d7e57448720f-image.png

        I know that @Lycan-Thrope did a lot of work on dBASE Plus (and now that you mention it, I’m going to scold him for not sharing the UDL and autocompletion in the UDL Repository – he really should have done that by now, hint hint; but I cannot even find any posts where he does more than tease its existence, so maybe he doesn’t think they’re ready for public usage, which is unfortunate). I don’t know how similar or different dBASE Plus is from dBASE IV v2.0, but I would naively expect there to be significant overlap, so if he ever shares them (including sharing a link to a public sharing that already exists that I didn’t find), you might be able to at least start from there.

        bofhlusrB Lycan ThropeL 2 Replies Last reply Reply Quote 2
        • bofhlusrB
          bofhlusr @PeterJones
          last edited by

          @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.

          1 Reply Last reply Reply Quote 1
          • Lycan ThropeL
            Lycan Thrope @PeterJones
            last edited by Lycan Thrope

            @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 the Language->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.

            bofhlusrB PeterJonesP 2 Replies Last reply Reply Quote 1
            • bofhlusrB
              bofhlusr @Lycan Thrope
              last edited by PeterJones

              @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)?


              NPP before installed1-10-12-2024 12-23-07 AM.jpg


              NPP after dBase install-10-12-2024 12-37-34 AM.jpg

              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.

              PeterJonesP 2 Replies Last reply Reply Quote 0
              • PeterJonesP
                PeterJones @bofhlusr
                last edited by

                @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.

                bofhlusrB 1 Reply Last reply Reply Quote 0
                • bofhlusrB
                  bofhlusr @PeterJones
                  last edited by

                  @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.

                  1 Reply Last reply Reply Quote 2
                  • PeterJonesP
                    PeterJones @bofhlusr
                    last edited by

                    @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 into C:\Program Files (x86)\dBASEUDLInstaller . You then have to go into that directory and run the dBASEUDLInstaller.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 the dBASEPlus and Dark_dBASEPlus entries in the UDL section of the Language menu:
                    ee5021cf-c09e-4b48-99b9-d3885ca78275-image.png

                    bofhlusrB 1 Reply Last reply Reply Quote 1
                    • bofhlusrB
                      bofhlusr @PeterJones
                      last edited by bofhlusr

                      @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!

                      NPP dBASE working-10-12-2024 10-36-11 AM.jpg

                      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 ThropeL James Burke 0J 2 Replies Last reply Reply Quote 1
                      • PeterJonesP
                        PeterJones @Lycan Thrope
                        last edited by

                        @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
                        • I fixed XML errors in functionList
                          • removed the free-text xmlns and xsi 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 &amp; looking “weird” in the XML version)

                        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.

                        Lycan ThropeL 1 Reply Last reply Reply Quote 3
                        • Lycan ThropeL
                          Lycan Thrope @bofhlusr
                          last edited by

                          @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 dBASE Append from command to import the data into an empty table setup with the header structure you need.

                          bofhlusrB 1 Reply Last reply Reply Quote 0
                          • Lycan ThropeL
                            Lycan Thrope @PeterJones
                            last edited by Lycan Thrope

                            @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.

                            PeterJonesP 1 Reply Last reply Reply Quote 0
                            • bofhlusrB
                              bofhlusr @Lycan Thrope
                              last edited by

                              @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 dBASE Append 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.
                              Access - record too large error.jpg

                              Lycan ThropeL 1 Reply Last reply Reply Quote 0
                              • PeterJonesP
                                PeterJones @Lycan Thrope
                                last edited by PeterJones

                                @Lycan-Thrope ,

                                Sorry about the name spelling; I will fix have 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 the overrideMap.xml’s <association> element, so users can easily paste it into their overrideMap.xml

                                Lycan ThropeL 1 Reply Last reply Reply Quote 2
                                • Lycan ThropeL
                                  Lycan Thrope @bofhlusr
                                  last edited by

                                  @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.

                                  bofhlusrB 1 Reply Last reply Reply Quote 0
                                  • Lycan ThropeL
                                    Lycan Thrope @PeterJones
                                    last edited by

                                    @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.

                                    1 Reply Last reply Reply Quote 0
                                    • bofhlusrB
                                      bofhlusr @Lycan Thrope
                                      last edited by bofhlusr

                                      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.

                                      Access and 2.5m records.jpg

                                      Lycan ThropeL 1 Reply Last reply Reply Quote 1
                                      • Lycan ThropeL
                                        Lycan Thrope @bofhlusr
                                        last edited by Lycan Thrope

                                        @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.

                                        1 Reply Last reply Reply Quote 2
                                        • James Burke 0J
                                          James Burke 0 @bofhlusr
                                          last edited by James Burke 0

                                          @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.

                                          Lycan ThropeL 1 Reply Last reply Reply Quote 0
                                          • Lycan ThropeL
                                            Lycan Thrope @James Burke 0
                                            last edited by

                                            @James-Burke-0 ,
                                            Unless it has the ability to read dbf7 tables, it doesn’t read all dbf formats. Just an FYI.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            The Community of users of the Notepad++ text editor.
                                            Powered by NodeBB | Contributors