{"id":3850,"date":"2017-01-27T16:17:52","date_gmt":"2017-01-27T23:17:52","guid":{"rendered":"http:\/\/www.contrapositivediary.com\/?p=3850"},"modified":"2017-01-27T16:17:55","modified_gmt":"2017-01-27T23:17:55","slug":"dipping-back-into-delphi-with-list-label-22","status":"publish","type":"post","link":"https:\/\/www.contrapositivediary.com\/?p=3850","title":{"rendered":"Dipping Back Into Delphi with List &#038; Label 22"},"content":{"rendered":"<p>I haven&#8217;t done a lot of programming for the last couple of years, and I miss it. Interstate moves and oxygen starvation will do that to you. I&#8217;ve converted some of my old Delphi apps to Lazarus, which in truth wasn&#8217;t hard and probably can&#8217;t be called programming with a straight face. And I have a project that I need to get back to, even if it has to be written in Delphi 7, which is the most recent version that I have. (Turbo Delphi doesn&#8217;t count.) I no longer had a publishing company after Delphi 7 appeared, so post-2002 I dropped off their reviewers list. And $1,400 is a little steep for hobby programming&#8211;much less $4700 on the high end.<\/p>\n<p>For some years I&#8217;ve been poking at the concept of a personal medical database. I&#8217;m old now (how did <em>that<\/em> happen??!?) and I take pills and get bloodwork and monitor various things to make sure none of my component parts are rusting out. I have Word documents full of notes, and scribbles on paper calendars, all of which really need to be pulled together into one searchable and reportable database. Some doctors won&#8217;t believe that my blood pressure does not respond to sodium. I have proof. I&#8217;ll bet, furthermore, that it will be a lot more convincing if it&#8217;s placed in their hands as a professional-looking report.<\/p>\n<p>All of what I&#8217;ve done so far has been in Lazarus, and most of that has been small proof-of-concept lashups, none of them newer than 2012. However, a marvelous report generator product has crossed my desk, and I want to give it a shot with my medbase app. The product is <a href= \"https:\/\/www.combit.net\/en\/reporting-tool\/all-features\/\" target= \"_blank\">List &amp; Label 22, from Combit<\/a>, a small firm in southern Germany. It has God&#8217;s own kitchen sink of features, many of them related to Web programming, which I simply don&#8217;t do. However, it has all conventional reporting options I&#8217;ve ever heard of well-covered, and it supports all versions of Delphi back to D6. (<a href=\"https:\/\/www.combit.net\/en\/reporting-tool\/dev-env\/\" target=\"_blank\">It supports Visual Studio and many other dev platforms as well<\/a>.)<\/p>\n<p>It doesn&#8217;t support Lazarus, alas. So I&#8217;ll be trying it out in D7.<\/p>\n<p>The big win (for me at least) is that L&amp;L 22 provides a report designer in VCL component format that drops on a form and becomes part of your application. This allows end users to design their own reports. Given that my end user is me, I don&#8217;t have to worry about end users doing gonzo things. I&#8217;ve always liked my software to exist as One Big Chunk (DLL hell, and all that) so this is right up my alley.<\/p>\n<p>I don&#8217;t yet know precisely what reports I&#8217;ll want, and it may be the case that I won&#8217;t know until I actually need one for a specific purpose, like laying out my data indicating that salt is irrelevant to my blood pressure. Having a report designer right there in the app means that I can design the report that I need when I need it, and not try to anticipate every damn thing I&#8217;ll ever want while I&#8217;m building the program itself.<\/p>\n<p>I should make it very clear here that I don&#8217;t dislike modern Delphi. I still love it, but it&#8217;s gotten enormously expensive, and the Starter Edition does not include database programming features. My other reason for using Lazarus is that I still intend to write intro-to-programming books using Pascal as the teaching language. Expecting students to pay even $250 for the Delphi Starter Edition is asking a lot, and worse, I intend to teach database work as well as conventional programming.<\/p>\n<p>I&#8217;ll have more to say about List &amp; Label as I learn it. Ditto the medical database itself, which is now a set of tables full of test data and a couple of conceptual UIs. Stay tuned.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I haven&#8217;t done a lot of programming for the last couple of years, and I miss it. Interstate moves and oxygen starvation will do that to you. I&#8217;ve converted some of my old Delphi apps to Lazarus, which in truth wasn&#8217;t hard and probably can&#8217;t be called programming with a straight face. And I have [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[89,132,90,32],"class_list":["post-3850","post","type-post","status-publish","format-standard","hentry","category-daybook","tag-delphi","tag-lazarus","tag-pascal","tag-programming"],"_links":{"self":[{"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts\/3850","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3850"}],"version-history":[{"count":1,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts\/3850\/revisions"}],"predecessor-version":[{"id":3851,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts\/3850\/revisions\/3851"}],"wp:attachment":[{"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3850"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3850"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}