https://psychocod3r.wordpress.com/2020/07/21/exploring-borland-dbase-iv-for-dos/ Skip to content Psycho Cod3r [91abe39b76] Psycho Cod3r Menu * Home * Contact Exploring Borland dBase IV for DOS psychocod3r Projects and Tinkerings, Retrocomputing July 21, 2020July 21, 2020 5 Minutes Last week I took a dive into the office life of yesteryear with Microsoft Works 3.0 for DOS. Now I'm exploring some more retro business software, this time delving into the ancient database management system known as Borland dBase. dBase was THE first commercially successful DBMS in computing history, and in fact it is still active today, which would give it one of the longest lifespans of any major application software. It began its life in 1978 as a software package for PTDOS and CP/M dubbed Vulcan. It was later bought by Ashton-Tate, renamed dBase, and ported to the Apple II line and to DOS. During the 80's and 90's it went through several vastly different versions and was copied by many different software companies, soon being acquired again by Borland Software, who created a third version known as dBase III. dBase is now on its eleventh incarnation, last released by dBase LLC in early 2017. The version I have installed is Borland dBase IV 2.0, released in 1993 and billed as being geared towards programmers, in contrast to earlier versions of the software which were marketed to the general user population. Indeed dBase does have a full-fledged scripting language, which is used to create applications for managing databases in much the same way one would use VBA to create applications for Microsoft Access. As far as I know, the dBase programming language is nothing like SQL and is a complete and self-contained language that is unique to dBase and its clones. But I haven't gotten as far as programming dBase yet. So instead of speculating, I'm going to talk about what I actually did work on, which is the card catalog database and associated terminal interface that I've created for keeping track of all the books in my personal library. Like most of the other DOS software I use, I downloaded dBase from WinWorldPC.com. Various versions are also available from the Vetusware abandonware archive, though the latter source is not always reliable and has some bogus downloads on it. I installed it over MS-DOS 6.22 running in VirtualBox as usual. borland-dbase-installation While I was entering my information I was prompted for a serial number, so I did a quick web search and got what I needed. Use the code in the screenshot if you want to try this software yourself. borland-dbase-serial-number I had to make some modifications to the CONFIG.SYS file. Weird, because usually the setup program will modify those files for you. This time I had to do it by hand. borland-dbase-installed Once you open dBase, the home screen looks something like this: borland-dbase-home The decision to create a card catalog as my first database in dBase was a pretty obvious one for me. As with the Microsoft Works spreadsheet, I wanted to use this program for something at least semi-practical, rather than just playing with random controls to create pointless "example" files that I would never actually use. I was inspired by the card catalog program that my family's local library used to use waaayyyyy back in the mid-90's when I was a little kid. Some of my earliest memories of the library are of searching for books on a monochrome green-screen terminal where we interfaced with the central card catalog database using a rather rudimentary, text-only catalog program. I wanted to emulate the look and feel of those card catalog terminals from my early childhood that I only remember very vaguely, yet still vividly enough that seeing a monochrome CRT display is enough to make me wax nostalgic. I eventually opted for a multicolored look for my card catalog interface, though I kept the black background. Selecting the "create" option at the top of the Data column in the dBase home screen brings you to an interface where you can edit the layout or metadata for a database table. So far this is not too much different from MySQL, with string and numeric data types, fixed widths for fields, and the ability to index certain columns. borland-dbase-table-metadata-color Once you specify the columns for a database table, you can open up the table and start entering data. I basically entered all 280+ books in my library in two sessions of feverish typing. borland-dbase-table-view-color I also found the feature that lets you change the colorscheme. Very important for the whole "look and feel" emulation I was talking about earlier. borland-dbase-change-colors I set the colorscheme to monochrome green for a while so that I could relive that mid-90's library terminal experience. borland-dbase-table-view borland-dbase-table-metadata I also made some cool "nerd porn" by screencapping the VirtualBox window and then running the screenshot through the "softglow" filter in GIMP to make it look like an old-school CRT. borland-dbase-mono-crt Once I had created the card catalog table and played around with the colors for a while, I took a look at some of the companion programs that are also included with the installation. Like this handy tutorial: borland-dbase-tutorial And this equally handy info program that displays the contents of all config files relevant to dBase: This slideshow requires JavaScript. After going through the tutorial, and armed with new knowledge on how to create queries, forms, and reports, I returned to dBase to attempt to create a more versatile and realistic card catalog interface, one that would emulate that authentic "index card" look that was used by the card catalog programs of old. There were two things I wanted to accomplish: First, I wanted to index my books by topic and subtopic so that I could find books on a certain subject more conveniently (there was no order as of yet). Second, I wanted to display each entry of the database table on a separate "card", and be able to flip through the cards using the keys on my keyboard. To accomplish the former task, I went into the table view and consulted the Organize menu for options. There's a command that allows you to basically create a ranking of fields to sort by, so I told it to sort by TOPIC, then SUBTOPIC, and finally by TITLE. I had some difficulty remembering the proper keystroke to save my work, but fortunately the Help is trivial to navigate. borland-dbase-organize borland-dbase-organize-help Next I go to the Forms column on the home screen and create a form for the card catalog interface. Forms allow you to create a custom interface for entering and viewing data, providing the ability to reposition the fields, change the text and background colors, or draw a box around the entire form. The next two screenshots are of the form editing screen before and after I changed the background color. borland-dbase-edit-form-cyan- borland-dbase-edit-form-black After setting up the sorted table and the form I go back to my home screen, select the BY-TOPIC table and tell dBase to use that file, then I go into the form I've just created and tell it to display the data. borland-dbase-use-file-1 borland-dbase-use-file-2 borland-dbase-view-data This brings me to an interface where I can tab through all my cards one-by-one using the Page Up and Page Down keys on my keyboard. This slideshow requires JavaScript. So that's what I've done with Borland dBase IV 2.0 so far. In the future I plan to learn the programming language that it comes with and try to think of some ideas for nifty dBase applications I can build with it. SHARE THE LOVE: * Click to share on Facebook (Opens in new window) * Click to share on Twitter (Opens in new window) * Click to share on Reddit (Opens in new window) * Click to share on Tumblr (Opens in new window) * Click to share on Pinterest (Opens in new window) * Like this: Like Loading... Related * Tagged * Borland dBase * business software * database * dBase * DOS * MS-DOS * Retrocomputing [91abe39b76] Published by psychocod3r I'm a self-taught computer programmer, hacker, mathematician, and AI researcher. I also compose classical piano music and EDM. I'm passionate about learning new things, exploring new ideas, and sharing what I've learned and discovered with like-minded people on the Internet. Topics I commonly write about include C programming, cyber-security, reverse engineering, Unix and Linux, retrocomputing with MS-DOS, and most recently data science. If you find my content helpful or at least entertaining, be sure to follow me, like my posts, and share them on social media. Follow my Twitter microblog at https://twitter.com/PCod3r. My old Wordpress blog can be found here: https://dosfanboy.wordpress.com/ View all posts by psychocod3r Published July 21, 2020July 21, 2020 Post navigation Previous Post Exploring Microsoft Works for DOS Next Post A Mathematical Musing: How Zermelo-Fraenkel Set Theory Proves the Existence of God Leave a Reply Cancel reply Enter your comment here... [ ] Fill in your details below or click an icon to log in: * * * * * Gravatar Email (Address never made public) [ ] Name [ ] Website [ ] WordPress.com Logo You are commenting using your WordPress.com account. ( Log Out / Change ) Google photo You are commenting using your Google account. ( Log Out / Change ) Twitter picture You are commenting using your Twitter account. ( Log Out / Change ) Facebook photo You are commenting using your Facebook account. ( Log Out / Change ) Cancel Connecting to %s [ ] Notify me of new comments via email. [ ] Notify me of new posts via email. [Post Comment] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] Search My Site: Search for: [ ] [Search] Follow Psycho Cod3r on WordPress.com Categories Categories[Select Category ] Follow me on Twitter My Tweets Tags algebra algorithms all nighter Apple Apple sucks Arch Linux artificial intelligence ASCII Assembly Language automata bash shell BASIC battlestation Bayes theorem binary BIOS Borland dBase business software C calculus C coding coding computer architecture computer graphics computer science content marketing Corona-Chan Coronavirus C programming cron crontab cryptography CSV cyberpunk cyber security Cygwin Dark Reader database data recovery data sanitation data science dBase debugging denial-of-service digital forensics disassembler discrete mathematics DNS DNS leak DoD algorithm DOS doxxing economics enlightenment error handling Ethernet executable exploits Faraday cage fonts forensics game programming geometry God Gutmann algorithm hacking hardware hexadecimal hex editor hipsters HTML HTML5 HTTPSEverywhere IDA Inspect Element investing Javascript LaTeX legal Lenovo Linux Live HTTP Headers machine learning mathematics meta metaphysics Microsoft Works minimalism MIX MS-DOS Net Neutrality Networking OpenSSL OpenVPN OS/2 Warp package manager paranoia passive income pen-testing penetration testing philosophy PHP physics piracy POSIX privacy probability programming QBASIC R random numbers Raspberry Pi Raspbian reconnaissance Retrocomputing Reverse Engineering scripting security sed SEO server set theory Shell Scripting software software licensing SQL SSH statistics surveillance SVG SyncTERM System Administration TeX text editor Thinkpad tmux trigonometry TunnelBear Turing machine typesetting uBlock Unix User Agent Switcher UUID Vim Vimscript VirtualBox VPN VPNs vulnerabilities web development Windows Windows 3.1 Windows 7 Windows 95 Windows PE X11 X131e XML Blog at WordPress.com. Create your website with WordPress.com Get started Add your thoughts here... (optional) [ ] Post to [] Cancel [Reblog Post] [ ] Email [ ] Name [ ] Website [ ] [Post Comment] Loading Comments... Comment x [Close and accept] Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use. To find out more, including how to control cookies, see here: Cookie Policy %d bloggers like this: [b]