22-IX-1994.

Went to kapitányság (city captain office, nothing naval, that's the police captain) and finally got the labor visa, valid until end of august 1995.

Worked on nmenu.prg, which was supposed to generate all those .spr or perhaps .prg files, to drive menus from the old menu.dbf (which I inherited from Sale). It would soon be replaced by a non-generator, as those .spr files and .mnx files in general were handled somewhat automagically and were therefore hard to control. So in the end it was tmenu.prg, which would just read menu.dbf and generate the menus on-the-fly, table driven. With the aditional bonus of conditional display, i.e. there wouldn't be any disabled items in the menu, only those that the user was supposed to see. Used that a lot in PolC soon afterwards, so each unit was presented with its own main form, without being able to call forms for others - so lab could do only lab, ultrasound only ultrasound etc.

Two days later, was working on some generators (genRepo and genScx) for GenerAll, so I needed something that would generate the necessary sql-insert statements for the mandatory records. Thus I first had to make listall.prg to serve these two. Then it acquired a life of its own, from it I extracted various other record inserters. Amazing, how many times one gets to populate an empty table. Even here, in Byo, what I write in english gets transfered into the serbian version using a process derived from it.

Those two generators were then used mostly for demos and initial versions of anything - both generated report and form were of the simplest possible kind and not really useful. Except, sometimes, as initial versions from which to start real work.

These days I started working on upitig2.prg, which was so far drawing its little forms (later called dialogs, for lack of worse expression) on the run, by measuring the lengths of text and the variables for which to enter values, which basically worked but got clumsy. We added more parameters, and each was a list of things related to each variable in turn, so with just four of them it became complicated to see what belongs to which. Around 26th I started with some kind of generator, and by the end of the day I had four versions of it.

Around 28th I added gsq.prg, which was a sort of a freehand query generator, where the user would compose the conditions of it, and then get a SQL statement which would be run and the retrieved records displayed somehow. It found good use next year; at this time it was just an interesting tool.

On the same 28th I made the first version of upitig2.prg, without the 2 in the name, which generated little bits of code, containing the commands to draw the dialog, in small .prg files. The problem was that it was too cute, and the names of those files weren't easy to remember - they were named up12345.prg etc, the digits being the checksum of parameters (such as they were at the moment). The initial call would be commented out and replaced with the call upitig("up12345"), without parameters - they were used to generate the routine. It worked great, but the proliferation of those little bits of code made it hard to manage. Specially if we changed something, generated again and... now which was the old one that we don't need anymore? Would take too long to find.

The catal6 (still a 5 then) presented a similar problem, for it also generated small .prg files and contributed a lot to the clutter.


Mentions: Aleksandar Raskov (Sale), Byo (Byo), catal6, GenerAll, listall.prg, PolC, upitig2.prg, in serbian