Latest coverage
- Community aggregator
- Country: United States
Writing ProcScript in Uniface 10 is plain text editing. Painting a form is mouse work, and the IDE has a few habits that are not obvious the first time. This post walks through one complete example - a small login dialog - from an empty project to a compiled form, and collects the things that are…
- Community aggregator
- Country: United States
Parts 9 to 11 added about twenty services. Services without a user interface are only useful to other code, and services without tests are only useful until someone changes them. This part closes both gaps, as far as they are closed right now: a test runner that runs all six test services in one go…
- Community aggregator
- Country: United States
Part 8 wrote customers to a CSV file. The obvious next request is the reverse: "we have a list from the trade fair, can you load it?". And once an import can write a hundred customers in one click, the next question follows immediately: "and how do I get back to yesterday if it went wrong?". So…
- Community aggregator
- Country: United States
Up to part 8 the app had no idea who was using it. Every change was stamped with $user , the Windows login, and every user could do everything. For a single-user desktop tool that is fine. As soon as a second person works with the same customer file, three questions come up: Who changed this…
- Community aggregator
- Country: United States
Sooner or later every business application gets the request "can I have that in Excel?". With the main menu from part 7 there is finally a place for functions that belong to no single form, and a CSV export is the natural first one. The requirements were short: one line per customer, with the…
- Community aggregator
- Country: United States
At the end of part 6 the address form existed, but there was exactly one way to reach it: open the customer form, find a customer, click "Addresses". That is fine for a demo and bad for an application. Every new module (contacts, notes, a report) would need yet another button in a form whose layout…
- Community aggregator
- Country: United States
Until now the application had exactly one table. Every screen, every test and every lesson in parts 1-5 was about a single CUSTOMER row. Real customers have more than one address - one for invoices, one for deliveries, maybe a PO box - and that makes this step the first real 1:n relation in the…
- Community aggregator
- Country: United States
At the end of [part 2] the customer form worked and contained everything: e-mail rules, SQL strings, quote escaping, a number range, a duplicate query. All of it inside a form component, reachable only by a human clicking buttons. This part does three things: Move the rules into a service (…
- Community aggregator
- Country: United States
In [part 1] the customer form does the full CRUD cycle: search, select, edit, save, delete. It compiles, it runs, it looks fine in a demo. Then you hand it to someone who actually works with it, and within ten minutes you get four bug reports: "I created a customer and it overwrote another one." "I…