Computer Programs?

Unfortunately, the days of my Assembly, Fortran, C and, Pascal are well behind me. I’m looking to write or download some simple software that would match a name to several different variables. So that I could call up info as needed.
I remember doing this with arrays, stacks, and pointers back in the 80s, how would one go about writing this code today?

i.e. Each employee is issued a set of keys. The database may include name, keys, and room number. If I enter a name, it would return a list of their keys. If I enter a type of key, I would get a list of who has that particular type of key. Same with room number.

Similarly, what about names, colour/make of car, license plate, and parking pass number?

IANIHS (I am not in high school! :)) and this is not an assignment. I am trying to develop a system for my employees to track this information by using the computer instead of scribbling down the info on scraps of paper, Post-Its, etc!

Sounds like the kind of thing that Microsoft Access was designed for. (Not that I have ever had occasion to actually use the thing.)
If it was me, I would probably put together something clutzy but functional in excel.

FreeBasic will give you all the power for you to code your own database.

Open Office ( www.openoffice.org ) has a database in it.

Although you can still do this kind of task with arrays, pointers, etc, implementation of such a system is nowadays nearly always built on top of a table-based database.

Desktop applications such as MS Access (mentioned by j_sum1) incorporate the database with all the tables together with design tools for creating an interface, etc into a single package, but it’s also possible to create the data structures in something that is more purely a database (say, SQL Server, Oracle, MySQL) and program the interface (AKA ‘front end’) using some general-purpose application development toolset wuch as Visual Basic. Visual C++, PHP, Java - however, this kind of approach is more common with larger applications holding bigger and more complex datasets and having multiple users, etc.

Access will do everything you need at the moment, but it’s not free.

Thanks for all for the input everyone. I have been trying to use Excel but it doesn’t really do what I need. I’ll try OpenOffice and/or MS Access, but really… as a former programmer I know that it is a pretty simple program that I could write myself if I knew what “the kids use these days”:slight_smile:
To buy a whole software package seems overkill to me!

ETA missed the Freebasic post…I’ll may try that depending on how my memory serves.

In addition to FreeBasic and OpenOffice, you can also use the Microsoft “Express Edition” development software for free. Either Visual Basic Express, or Visual C# Express are both fairly simple to work with, and incorporate simple database hooks. For the database, you can use MS SQL Server Express, which is again, free, and extremely powerful.

ETA - Access would probably work fine, but if you get into a multi-user environment, I find Access very difficult to manage, as it has problems with table locks. SQL Express doesn’t have that issue at all.

One caveat is that the development environment in the express editions of VB and VC++ is a bit buggy. SAVE YOUR WORK OFTEN because I have had the most recent changes disappear in the bit bucket if I don’t manually hit the ctrl-S button prior to a compile. Otherwise, it is a useful and free dev env.

I think you’d be able to do what you are talking about in Excel with nothing more than selecting autofilter.

I don’t want just a spreadsheet, I need to cross reference info., maybe differently each time.
If you know how to get Excel to do that please let me know.

ETA, actually Excel might work for the second application…

I’ll go ahead and second the Visual Studio suggestion. VS 2010 Express is now available and it’s probably one of the best development environments out there.

You can also target multiple solutions with your code making it easy to deploy to desktop, internet, and mobile devices (well, windows mobile devices, though you can also apply some of your code to android and apple devices too with some help).

So, for example, you can have a desktop app that runs on a server attached to the database and have clients that could be your employees accessing an asp or silverlight web (or native) application from mobile devices or desktop clients at the sign in desk, all talking to one another. Pretty simple to pull off too, and all in one environment, with any of the .net managed languages (VB.net, C#, F#, C++).

Personally, I’d use awk for that, but then, I’m just a big fan of awk. It’s probably easiest to use a spreadsheet.

This would be a trivial web app. PHP script to access MySQL. MySQL is free for both Windows and Linux

I would do it in FileMaker, of course.

Yes, but it’s pretty much crap. We’ve recently had a thread or two of people asking how to do something in it, and it turned out the answer was “You can’t.” And it was pretty simple stuff, too.

Access is really the better choice, but Excel will work, too. If you’ve got Excel and dont’ want to pay for Access, use that.

And, yes, these other options will work, too. Access or Excel are just really, really easy.

I wanted to plug Zoho Creator. Zoho is an online office suite that competes with Google Docs and Creator is their equivalent of Access.

It’s very easy to use. From never having used it before (I just know of Zoho because their word processor and spreadsheet are much better than Google’s), I made a database app doing exactly what you wanted in 5 minutes. You drag and drop fields (Name, Room #, Keys [as a text field or checkboxes or drop-down box]) and then you can search the resulting database using any criterion or combination of criteria (e.g. only people who have keys to the office AND are in room 101).

Excel would work just fine for the purpose too, using exactly what don’t ask suggested - autofilters. Make a spreadsheet, separate different values with commas, and then use custom autofilters to display only rows that have “key CONTAINS ‘office’”, for example.