App Gen GUI based Template Writer - [edit] Not available for the foreseeable future

Jan 27th sounds brilliant Richard, and we’d love to have you on. Consider yourself booked.

Please make sure you have a headset microphone - the audio is much better than laptop mics.

Agreed! This is very cool!

This is very clever in my opinion.

Once you get that eureka moment, you wont think its that clever. :grinning:

Me too. I am a newbie/noob with Clarion templates. But I always wanted to figure out how to write them.
It’s a “template chain” in its own right seems very exciting, and able to generate Clarion or ABC Family chain templates.
Do I need to brush up on the Clarion template language?
I see there are 4 newsgroups for templates. But they are apparently on life support. Maybe this will revive them.
I see your screen shots are C6. Do you have a C11 example?
I want to get to the Eureka moment and don’t think it’s that clever.
So, should/could SV use your GUI Template Writer to better maintain their templates?
P.S. Thanks for doing this.
Bob

You should be able to create any additional templates for the Clarion or ABC templates families and create your own template families, so if you are proficient in other languages, you should be able to use this template to build a template chain for that other language.

Some knowledge is better than none, but I think the template will help guide people with no experience as they’ll be able to edit it in the appgen which is a familiar environment and IMO the appgen is predominantly what attracts people to Clarion, not knocking the language or anything, but experienced template writers can write it out freehand in the embeds if they want, they are not forced to use code templates in the embeds. I’m copying template source into the templates and slowly recursively improving the template in the appgen as I speak.

I spend most of my day in C6, I have C11 here so I will copy them across as I’ll need to test it in C11, but C6 is my starting version as there are still people out there using different versions of clarion. They may even be backward compatible to C55 or earlier, I just havent tested it in those versions.

Its upto SV what they want to do, I wouldnt be surprised if they have their own templates to edit their templates but I’ve written this to maintain my own templates more quickly and efficiently thats the main driver for this. In my opinion whenever the templates were introduced, they were none in CPD2.1 which I started on, but there were there in CW1.5 which was the next version I jumped to, there should have been a template to edit templates in the appgen then.

Anyone should be able to use it to create new templates or maintain existing templates. Whether this template allows or caters for all scenarios with template code only time will tell. There’s some pretty clever stuff going in the SV templates in places so I cant wait to get them in to this template and have a closer look because they do jump around to different #groups quite a bit, but I’m using STRPOS in some of my templates as well mainly for validating data, but I dont think there are any good examples to show off the abilities of the template language which I think this template might do as well.

The templates will force correct syntax as per the docs where possible which should help those who are new to writing templates of whatever complexity, but I needed something to speed up maintaining my own templates as I’m increasingly spending more time hunting for lines of code or I want to do a bulk update and a search and replace makes it tedious, plus the templates force a level of standardisation with coding practices which you dont get with a text editor.

This is something I’ve had to bite the bullet with now because one of my classes is getting to big for the text editor and I’m wasting time hunting for code and making bulk updates.

Its like writing a book and then as more chapters are written, its taking longer to lookup something from an earlier chapter or make a plot/detail change in an earlier chapter. So this template should make my life quicker and easier and hopefully others. :grinning:

I’ve just told @bruce I’m pulling out of showing this template off because of my situation at home at moment, I cant even be sure I’ll be awake at the time and the day and I think most people know lack of sleep is one of the worst things to go through. The longest I’ve been awake for, doing a server upgrade was 80hrs about a decade ago, so lack of sleep is no fun to say the least. I’m in a far from ideal situation here at the moment and its only getting worse at the moment.

1 Like

Maybe you could create a short video or three at your leisure? An entire presentation is a lot to bite off.

I could but based on the suggestions for what it might be worth that I’ve had, it wouldn’t be economically viable for me to do anyway. So I’m just cracking on. I might do a video just to show what can be done, but I’ve got an 18yr old dog who is becoming very demanding in his old age amongst other things. I wouldnt be able to do a presentation if he kicked off and started barking! I can see why old people get shunted off to care homes, its to get them out of the way…

You don’t need to feel put on the spot.
This looks like it could end up being a pretty big app, and your potential customer base could possibly be pretty small for such a specialized product. The 3rd party market can be pretty tough. If you’re looking to recoup your costs and start making a dependable income, maybe this isn’t the right way to do it. And if it requires support (which I’m sure it would), then that’s an added cost/stress to you.

It doesn’t have to be all or nothing, though. You’ve already done all this work, maybe look at it another way. Maybe there are subsets of your work that could be more manageable to you, and useful to others.

Barking dogs can often be the thing that saves you. :slight_smile:

Based on conversations I’ve had, its not going to be worth doing. If I get round to it, I’ll put a youtube video up showing off its capabilities incase someone else wanted to write something similar for themselves.

Does anyone recommend a free simple to use screen capture tool to make it quick and easy to upload youtube videos?

Edit. Answered my own question when I started looking into how to do “chapters” on the youtube video timeline. Seems Youtube provide their own software for making content called Youtube Studio.
Video chapters - YouTube Help (google.com)

How to Record Your Computer Screen in Windows 10 - YouTube

Sorry to see your tool is not going to be available. Seems very promising.

Reference screen capture; I use a product called “Screenhunter” for that but it has nothing to do with YouTube. Screenhunter also allows you to record “video” captures of your screen if you wanted to do, say, instructional videos.

I use YourTube’s interface to do the uploads.

ScreenHunter

I’ll check out Screen Hunter thanks.

The TLDR is its not economically viable based on conversations I’ve had, mainly the time needed to provide support. My dog in his old age needs round the clock constant supervision at the moment which ruins sleep and if he decided to start barking constantly until he got attention, I wouldnt be able to do the presentation. So doing the youtube video would be better.

I might come to private arrangements with some people but I wont be supporting this other than bug fixing, ie I wont be teaching people how to write templates with this template, and I also want to go travelling which also means I wont be online 24/7 to provide support. I have K2 and Everest on my bucket list amongst other things and I’m not getting any younger.

Template controls appearing in embed source. Need to get the nested controls #Boxed, #Sheet & #Tab to work.

Code templates showing in source and in the embed tree, same caveat with the nested controls
TT2

Can use it for hand coding in the embeds now. Need to write the template parser to important templates into the appgen so I can work on it in the appgen to finish it off. Still finding undocumented features.
Can handle multiple templates in a single file like some template files are at the moment. Can output to an automatically incrementing build folder and then update the clarion template registry(s). Build folders let me copy a previous build back into the template registry as I’m now able to use the template in the appgen to write the template, a recursive template of sorts… :grinning:

Experimenting with “live” templates, ie write the template code in the procedure #button listbox with prompts and then it runs that template code at build time, intended use is for ad hoc functions, like calling windows api’s for extr functionality outside of the template. If I get the theory working it will make it possible to licence templates so they only work if licenced, something thought previously impossible, but these templates will need periodic internet connections to validate the template licence.

1 Like

The #Embed code prompt.

A template to produce custom built dll’s to use with #Rundll
Trying to make life easier by even generating the #Rundll command to use in a template.

Additional templates to further increase functionality for this template set/family/chain exist and can be expanded upon.

1 Like

Just debating how much to automate a global extension template which works with ABC, Clarion, and other template chains for importing api’s.

I could automate the process by launching a custom libmaker (Mg LibMaker bug, also in Carl Barnes LibMakerPlus) but I want to extend it so I can select the dll’s, tag the required api’s and hit import.

I havent tracked down whether the api parameters are stored in the PE file yet, I expect them to be, but in the debugger, if you breakpoint on a procedure or class method, parameters will just be a string of sorts before they get assigned to the relevant parameter definition. So it might be a case of still having to refer to the MS docs to get the exact parameter layout. Swapping the calling convention from Pascal to C reverses the parameter string format seen in the debugger.

I think I will be looking around the edata section. :grinning:
PE Format -edata

So does anyone know if the parameters are stored in a pe file? The built in %(libmaker(%procedure & %prototype)) generates something resembling parameters for the exp file, or is it going to be the tls section?
PE Format - tls

Time will tell.

Edit. In fact the techniques I’ve used to workout the TUFO structure in different versions of Clarion, I could probably apply to the PE parameter string and work them out that way, as its possible to workout valid memory address, what might be ansi or unicode string data, and other types of data normally expected in the different datatypes.

I’ve only written the simplest of templates and for a short period of time early on I tinkered with generating RM/COBOL code which sort of worked OK.

This isn’t something I’d likely ever use, but it is pretty cool.

Cobol is quite popular in the banking world because it rang on all those old mainframes, but now you see cobol popping up all over the place, like this example GitHub - otterkit/otterkit: Otterkit COBOL Compiler

Otterkit COBOL compiler is a free and open source implementation of the ISO COBOL 2022 Standard on the .NET platform.

I know Deutsche Bank are heavily into Oracle, but there are some establishments who still use Cobol.

1 Like