Creations built using RJtextEd

Discuss any editing or program related subjects.
User avatar
yereverluvinuncleber
Posts: 366
Joined: 20 Apr 2018 09:49

Re: Creations built using RJtextEd

Post by yereverluvinuncleber »

My latest offering:

This is to show you how I am using RJTextEd as an adjunct to another tool to implement functionality that an older product does not have.

Image
Fig 1.0 Firestrike Quartermaster VB6 Windows

This is a screenshot of my desktop with some software displayed that I originally wrote in the 90s. It was a military simulation tool that was a very early precursor to tank games such as World of Tanks. Some primitive 3D effects but mostly 2D. Firestrike was designed to be a comprehensive tool to support desktop wargaming tabletop figures and vehicles in 15/20mm to 1/300th scale. The PC program was designed to be a tool for the umpire to determine the outcome of a battle between two opposing armies of up to 1,200 vehicles per side. It had a graphical interface in the days when such things were rare. It aimed to be easy to use and fast to operate. I cut my original Photoshop skills on this software.

I am using the VB6 IDE to update and improve the code but I am continuously using RJTextEd whenever I need capabilities that the VB6 IDE does not have. The VB6 IDE allows you to edit files externally, with an add-on named MZ-tools it also has buttons to enable the current document to be edited using a default editor (RJTe) and the IDE itself is aware of any code-changes made by an external editor, asking if you want to reload the project whenever changes are made.

Image
Fig 2.0 VB6 IDE and RJTe as the external editor during macro changes to the code.

Due to Rickard's recent improvements RJTe has advanced search and replace functionality that is far superior to that of the VB6 IDE. RJTe also has macro capabilities that are just plain missing in VB6 IDE so bulk changes are almost always carried out in RJTe instead. When I wrote this my programming skills were limited and the result is a lot of voluminous replicated code with the usual spaghetti-like structure. I am using RJTextEd's search/replace and macro functions daily to fix my old code. Frankly, I couldn't have done it without it.

Image
Fig 2.1 The VB6 IDE cannot list all search strings, RJTextEd can...

All in all, RJTe is a very useful adjunct to VB6 development.

I am now using three editors:

i. RjTextEd as my main development editor for coding javascript projects for the web and for desktop, also for enhancing VB6 where it falls short.
ii. Context as a quick and fast-initiating editor for quick and dirty editing ( I think of it as RJTextEd lite!)
iii. VB6 as the IDE for BASIC program design and coding.

Why am I coding an old program in an outdated language such as VB6 ? Well, for a start I am loving the old VB6 IDE, it works very well, it is blisteringly fast. I suppose 'puters are SO much faster these days than they used to be. Each core is 10-15 times what I would have used back in the day, yet now I have more than just one CPU core, drives are many times quicker than they used to be and all modern computers have so much more memory. Start-up and compilation times are now measured in seconds rather than minutes and as a result it is a delight to develop and run my old programs. The fact that a programming environment from 1991 is still usable and capable of building decent apps in 2019 is rather impressive. Why Microsoft gave up on VB6 still astounds me as one of its largest corporate failings over the last 30 years. Microsoft have squandered so much that was good and lost a lot of goodwill in the process. The VB6 IDE was superb in its day and despite some limitations (as described above) is still very usable. The VB6 language is very standard, usable and if you were brought up on BASIC it is the ultimate expression of that language just as VB.NET is definitely NOT. Professional programmers often detract from what VB6 really is, what they don't understand is what VB6 is capable of. I think of VB6 as an advanced scripting language with its own IDE which has access to all the facilities of the o/s, through COM/ActiveX and one that is capable of producing compiled binaries. That is a combination that is hard to beat.

This VB6 project was the biggest thing I had ever attempted but just before the turn of the century I abandoned my biggest computing effort of all time solely because Microsoft deprecated the programming environment. They threatened to pull the plug to stop VB6 running on Windows and they provided no possible upgrade path. It was soul-destroying. Instead, I went onto other things and abandoned Firestrike and MS products altogether. If I had known that VB6 would survive as a usable environment despite Microsoft's best efforts to kill it, I might have actually continued the development.

Many years later and the good news (for me) is I have picked it up again!

The program shown above is just part of the whole program. This was an interface to the core databases that stored the vehicle, weapon and gun data allowing you to create an army from any vehicle used during the Normandy campaign of World War II. The work to collate all manner of information on all the combatant's vehicles, to photograph and process all that data and provide it in a usable form was a large amount of work for one man to achieve. Even though I eventually abandoned it, it had one good side effect - it taught me programming.

The VB6 IDE is a nice place to work, however there are limitations of the old VB6 IDE in comparison to RJTextEd.

I have previously mentioned the search not being up to scratch, well it is usable but a bit annoying at times. CTRL+H is used to bring up the search/replace dialog rather than CTRL+R in every other editor I have used. You cannot define key sequences in the VB6 IDE so you cannot redefine set key sequences as you can in RJTextEd. The code is not as actively colour-highlighted as you would expect, the syntax highlighter gives just three variations in colour, black for valid VB6 code, blue for VB6 keywords and green for comments with red reserved for errors. There is no useful line numbering which is strange for a BASIC variant. Line numbering was removed as it used to be part of BASIC's code and was considered a retro feature but the IDE does not provide a replacement line numbering facility so you can't jump to a line of numbered code. A useful feature missing is that branch Lines are not drawn to indicate the start and end of if/then statements.

Using the VB6 IDE has given me some food for thought, it has certainly made me want some of the more desirable functionality that VB6 has, within RJTextEd, I'll have to raise some requests for those.

Open - viewtopic.php?f=6&t=4651
Open - viewtopic.php?f=6&t=4653

Done - viewtopic.php?f=6&t=4399
Done - viewtopic.php?f=6&t=4471
Done -viewtopic.php?f=6&t=4600&p=16207&hilit=vb6#p16207
Done -viewtopic.php?f=6&t=4395&p=15448&hilit=vb6#p15448

RJtextEd also needs a language template for VB6, there is one for VBscript but it is not the same. I may raise that.

-oOo-

I have made progress:

o Added right click menus on two of the main programs
o Added and corrected description data within the gundata file - WIP
o Changed the fonts on all fields in all programs
o Updated the title headers on all programs
o Added improved multiline tooltip functionality
o Rejigged the command screen layout
o Rejigged the battle checklist screen
o Added 'about' windows for two of the main programs
o Changing the method of assigning units to HQs
o Added an infantry section to the expanded detail screen in the inventory
o Updated the data handling tools to allow backups of the data
o Updated the data handling tools to respond to spreadsheet-style commands

o Added an aeroplane section to the expanded detail screen in the inventory.
o improved the logic for handling unit points value calculation.
o Updated the data handling tools adding improved searching.
o Overhauled the points calculation incorporating real-life physical equations for gun power.
kilojoule potential of an AP shot:
kJ = ((0.5 * shellWeightAP) * (shellVelocity ^ 2))/1000

kilojoule potential of an HE shot:
kJ = shellWeightHE * 1.1 ' HEpotential ' 4612kJ per Kg of TNT (1.0)

Amatol TNT * 1.1 ' used as a general HE in WWII
Picratol * 1.16 'Used in armour-piercing shells and bombs as insensitive to shock

o Revised a hundred or so data errors
o Updated the help to reflect the improved look and feel
o Added right click menus to all windows
o Expanded inventory allows drop-down selection of any weapon
o Increased the number of data fields in the vehicle data file
o Added an image view on the inventory expansion window
o Removed the print buttons
o Added new Points Calculator buttons
o Fixed a few bugs in the data handling tools
o Updated the gun descriptions
o Revised the vehicle data using new fields
o Allowed selection of any mounted weapon
o Default weapon correctly identifies.
o Revised British armoured car images added x 20
o Fixed bug in selection of vehicle numbers
o corrected bug in points calculation in summary mode
o Added revised Cromwell/Sherman images added x 10
o Added more gun descriptions x 10
o Fixed the selection of records in the vhcl data tool
o Fixed handling of minimized windows

o Added/replaced 20 or so new British equipment images
o Revised various data problems
o Added German gun data regarding missing velocities
o Fixed even more minor formatting/display bugs
o Added preliminary code for a slider to allow easier selection of vehicles/weapons
o Added some code to determine the current number of elements and to go to the end of the data file
o Tested sub-class code for allowing VB6 to respond to mouse scroll wheel events
o Fixed the layout of a few vehicle types expanded screens

o Completed a functioning slider to the inventory list, adding slider logic to handle the display of elements in 'pages'.
o Completed adding the images for all British ground elements that can be selected
o fixed a few bugs where the incorrect image was being displayed on next/back
o Renamed all controls from the defaults to appropriate names that properly reflect their function
o Recreated and/or added twenty or so of the older British images to raise their quality from poor to reasonable
o Added a missing US AA gun Maxson quad 0.5" AA
o Fixed element slider to reset to position 0 when a new vehicle type is selected
o Recreated and/or added twenty or so of the older US images to raise their quality from poor to reasonable
o Recreated and/or added ten or so of the older German images to raise their quality from poor to reasonable - lots more to add yet
o Fixed a bug regarding addition of flamethrowers to a vehicle's drop-down list
o Added a weapon identifier on each MG
o Added conversion from imperial to metric measurements via tooltips on the inventory screen

Image
Fig 3.0 View of one of the resulting application windows.
"Noli pati a scelestis opprimi"... or is it "non lacessit illegitimae te carborundum"?

You can find me on Deviantart https://www.deviantart.com/yereverluvinuncleber/gallery/
inspector71
Posts: 220
Joined: 22 Sep 2017 07:59

Re: Creations built using RJtextEd

Post by inspector71 »

Wow, these gauges are incredible!

Such detail and graphical richness. I do not really use desktop widgets myself but these are the sort of quality graphical apps that make me wonder why the Windows time setter / picker has to be relatively dull!

Very sweet work and, also, I think it's a very cool idea to have posts about the software created with RJTE in this forum. OK, sure, it's possibly not exactly in context but as long as we can ensure it's kept in a particular sub forum, should be very enlightening. Coding can be such an anonymous, lonely job ... at least for me ... at times. It's great to be able to share the results of our hard work.
User avatar
yereverluvinuncleber
Posts: 366
Joined: 20 Apr 2018 09:49

Re: Creations built using RJtextEd

Post by yereverluvinuncleber »

Thanks. Your feedback appreciated. Programming can be lonely work and it is good to share. We all work on those things that we hold dear and I like to bring graphical applications to life. I find the square boxes with grey buttons to dull for real existence which is full of colour and vitality.

IF we can assist RJ with increasing the popularity of his superb editor whilst showing off our own capabilities using it then I feel happy to contribute to this thread, I wish others would do so too as I'd love to see what others are producing sing RJTextED.
"Noli pati a scelestis opprimi"... or is it "non lacessit illegitimae te carborundum"?

You can find me on Deviantart https://www.deviantart.com/yereverluvinuncleber/gallery/
inspector71
Posts: 220
Joined: 22 Sep 2017 07:59

Re: Creations built using RJtextEd

Post by inspector71 »

yereverluvinuncleber wrote: 19 Jan 2020 21:17 Thanks. Your feedback appreciated. Programming can be lonely work and it is good to share. We all work on those things that we hold dear and I like to bring graphical applications to life. I find the square boxes with grey buttons to dull for real existence which is full of colour and vitality.

IF we can assist RJ with increasing the popularity of his superb editor whilst showing off our own capabilities using it then I feel happy to contribute to this thread, I wish others would do so too as I'd love to see what others are producing sing RJTextED.
Well, I certainly agree there. Alas, my code tends to result in less than glamorous, even pretty, front ends! Oh how I wish I had the talent to add graphic design to my skillset.
User avatar
yereverluvinuncleber
Posts: 366
Joined: 20 Apr 2018 09:49

Re: Creations built using RJtextEd

Post by yereverluvinuncleber »

Oh, how I wish I had programming skills to match my graphical ones... We are all cursed!
"Noli pati a scelestis opprimi"... or is it "non lacessit illegitimae te carborundum"?

You can find me on Deviantart https://www.deviantart.com/yereverluvinuncleber/gallery/
User avatar
yereverluvinuncleber
Posts: 366
Joined: 20 Apr 2018 09:49

Re: Creations built using RJtextEd

Post by yereverluvinuncleber »

If you ever want help or assistance creating graphical applications I am always here to help.
"Noli pati a scelestis opprimi"... or is it "non lacessit illegitimae te carborundum"?

You can find me on Deviantart https://www.deviantart.com/yereverluvinuncleber/gallery/
User avatar
yereverluvinuncleber
Posts: 366
Joined: 20 Apr 2018 09:49

Re: Creations built using RJtextEd

Post by yereverluvinuncleber »

resistors01.png
resistors01.png (126.72 KiB) Viewed 47281 times
I have just knocked up a new program, a resistor value checker. You simply select the buttons on the utility according to the colours on any resistor and it will tell you the value.

Still building Yahoo widgets using javascript and photoshop and coding with RJTExtEd. Not as much as I used to as the old YWE engine is now unsupported and there isn't much point in coding for obsolete platforms but this one is for me. I will find this utility most useful.
"Noli pati a scelestis opprimi"... or is it "non lacessit illegitimae te carborundum"?

You can find me on Deviantart https://www.deviantart.com/yereverluvinuncleber/gallery/
User avatar
yereverluvinuncleber
Posts: 366
Joined: 20 Apr 2018 09:49

Re: Creations built using RJtextEd

Post by yereverluvinuncleber »

It's been a while since I posted here and that is due to switching from coding in .js to compilable VB6 for the windows desktop. I am currently building VB6 apps using the VB6 IDE, not using RJTextEd as the main editor as the VB6 IDE is so much better suited to the job of building VB6 apps. It was built for the job, no slander on RJTextEd, VB6 is a tractor compared to RJTextEd's sportscar but I am ploughing a field...

However, as I use the old VB6 IDE more and more, I find increasing numbers of limitations in its old code editor. One of the main failings of the VB6 IDE (and a strength of RJTextEd) is the handling of if-then-else branch lines in the IDE allowing an enhanced view of your code. If you have a lot of conditional statements in the VB6 IDE then it can become quite confusing as to which end-if corresponds to which if...then...else statement. Example:

Code: Select all

 
            If test_pid = PID Then
                If GetParent(hwnd) = 0 Then
                    bNoOwner = (GetWindow(hwnd, GW_OWNER) = 0)
                    lExStyle = GetWindowLong(hwnd, GWL_EXSTYLE)

                    sWindowText = Space$(256)
                    lReturn = GetWindowText(hwnd, sWindowText, Len(sWindowText))

                    For i = 0 To UBound(appSystray) ' search through all the potential systray apps
                        If InStr(sWindowText, appSystray(i)) Then
                    
                            If (((lExStyle And WS_EX_TOOLWINDOW) = 0) And bNoOwner) Or _
                                ((lExStyle And WS_EX_APPWINDOW) And Not bNoOwner) Then
            
                                    hwnd = GetAncestor(hwnd, GA_ROOT)
            
                                    storeWindowHwnd = hwnd ' a bit of a kludge, a global var that carries the window handle to the calling function
                                    Exit Function
                            End If
                        End If
                    Next
                End If
            End If
        End If
End If
In the VB6 IDE a simple change to a few lines, a cut and paste can lead to confusion as to which end if is the culprit and then lots of errors...

RJTExtEd has the if-then-else branch lines that the VB6 IDE lacks and sometimes I find myself cutting and pasteing from VB6 to RJText Ed just in order to see what the hell my own code is doing.

Image

With the selected language as VBscript, RJTextEd makes a passable imitation of a usable BASIC editor. I really do wish that the VB6 editor was as good and flexible as RJTextEd as it would make my life so much easier.

This is what I am working on now with the help of RJTextEd:

Image

This is my replacement for Rocketdock, I call it SteamyDock. It is entirely built using 32bit VB6, GDI+ and my own graphics. It consists of a dock where you can drop in your own icons or select from a large in-built library and two utilities that allow configuration.

Image

Here it is on the bottom of my desktop.
"Noli pati a scelestis opprimi"... or is it "non lacessit illegitimae te carborundum"?

You can find me on Deviantart https://www.deviantart.com/yereverluvinuncleber/gallery/
User avatar
yereverluvinuncleber
Posts: 366
Joined: 20 Apr 2018 09:49

Re: Creations built using RJtextEd

Post by yereverluvinuncleber »

I have just added 15 or so of my creations to github. https://github.com/yereverluvinunclebert
Each of the programs created with RJTextEd have been highlighted as such.

A single example is here: https://github.com/yereverluvinuncleber ... her-Widget

Have a look at the "Built using:" section.

RJTextEd Advanced Editor https://www.rj-texted.se/

Letting people know that RJTextEd was responsible for making these widgets.

My next task is converting each to VB6 - then upgrading to 64bit TwinBasic. My time with RJTextEd will then be diminished but I am sure I will pick it up from time to time, bugfixing &c.
"Noli pati a scelestis opprimi"... or is it "non lacessit illegitimae te carborundum"?

You can find me on Deviantart https://www.deviantart.com/yereverluvinuncleber/gallery/
User avatar
yereverluvinuncleber
Posts: 366
Joined: 20 Apr 2018 09:49

Re: Creations built using RJtextEd

Post by yereverluvinuncleber »

I've been using RJTextEd to overhaul an older widget that never really found the light of day.

Image

It is a series of electrical generation and consumption gauges for the UK electricity generating network. When you first run the widget it will default to displaying the UK current electricity consumption. A right click on the prefs will allow you to select data relating to any method of generating or delivering electricity in the UK. It can also display the current frequency in Hz.

For the first time since 1882 the power stations of the UK have run without burning any coal at all. The very first power station was set up in 1882 and coal-powered power stations have been run continuously ever since. They have produced the majority of Britain's electricity over the last 150 years.

Image

Huge efforts by the governments over the recent decades have reduced Britain's reliance on coal until it has reached a point where they were able to turn all the coal-powered stations off. The above gauge shows just half a gigawatt currently being generated by coal but that gauge has been reading zero for almost a week. This is Great Britain doing its bit for the environment.

I find this a fascinating bit of information especially as it is a rather telling indicator that Britain's industrial revolution, the one powered solely by coal is nearly at an end, you could call it the end of a steampunk era... the good thing is even the newest nuclear power stations are still producing copious amounts of steam! Steam is good.

You can see it here:
https://github.com/yereverluvinuncleber ... ges.widget

I am using RJ to open all the project files simultaneously, I'm adding new code and graphics and making the gauges much easier to operate. Next step is to convert them to the Panzer gauge types seen earlier in this thread.

As well as RJTextEd this was built using:

Adobe Photoshop CS ver 8.0 (2003) https://www.adobe.com/uk/products/photo ... nload.html
Yahoo Widgets SDK: engine (Konfabulator), runtime, debugger & documentation.

Using RJTextEd in conjunction with Github desktop.
"Noli pati a scelestis opprimi"... or is it "non lacessit illegitimae te carborundum"?

You can find me on Deviantart https://www.deviantart.com/yereverluvinuncleber/gallery/
User avatar
yereverluvinuncleber
Posts: 366
Joined: 20 Apr 2018 09:49

Re: Creations built using RJtextEd

Post by yereverluvinuncleber »

I am working on a much older widget that hasn't worked properly for a while, my Steampunk CPU_GPU Speedfan Thermometer Yahoo Widget. I am fixing it up and archiving it to github as I am ready to move onto new technologies. Don't like to leave broken code on github so I will get it working before I 'let it go'.

Image

Image

Image

Written in Javascript, C++ and XML for the Yahoo Widget (Konfabulator) Engine. Created for XP, Vista, Win7, 8, 10+ as well as the Apple Mac OSX prior to Catalina. I created the design in Photoshop.

It uses speedfan to extract the various temperatures from a multiplicity of systems.

As I pick up an older widget that was originally written using the old Context editor, I create an RJ project that includes all the files within the project folder. Then I add a link to the .rjproj to the widget itself so a right click on the widget opens the menu and an EDIT option displays. I select that and RJ opens the whole project and I can start fixing straight away. Efficient workflow is vital to keep you going.

I am fixing all the remaining bugs, adding standard functionality that exists in all my other widgets and then I might possibly adapt it to obtain the data from Open Hardware Monitor as well as speedfan.
Last edited by yereverluvinuncleber on 23 Jul 2023 22:23, edited 1 time in total.
"Noli pati a scelestis opprimi"... or is it "non lacessit illegitimae te carborundum"?

You can find me on Deviantart https://www.deviantart.com/yereverluvinuncleber/gallery/
User avatar
yereverluvinuncleber
Posts: 366
Joined: 20 Apr 2018 09:49

Re: Creations built using RJtextEd

Post by yereverluvinuncleber »

I am now starting to work a lot more on VB6 as it is starting to acquire a lot of new functionality that it previously lacked. 64bitness is coming with TwinBasic, a VB6 replacement. Transparency and the ability to load image layers directly from a PSD file is now present. This means I can convert my old Yahoo widgets to VB6 binaries with the same functionality. Those binaries now have a 64bit future with TwinBasic.

During the migration/conversion I will have the old widget .js code open in RJTextEd, the design being perfected in the Photoshop IDE, the new code open in the old VB6 IDE and possibly the TwinBasic IDE open at the same time. Loving coding in .js and Basic at the same time, it seems to come naturally to me.

Image

This is a screenshot of my desktop with the new VB6 widget, it is the large stopwatch clock in the centre, top left is the YWE version I am converting from. As I will be using the VB6 IDE more and more, I will be migrating away from RJTextEd as time goes on but I am sure I will be using it on and off for a long while yet. I may yet pick up the NW.js technology and experiment with that and RJTextEd will come into its own, in that case.
"Noli pati a scelestis opprimi"... or is it "non lacessit illegitimae te carborundum"?

You can find me on Deviantart https://www.deviantart.com/yereverluvinuncleber/gallery/
User avatar
yereverluvinuncleber
Posts: 366
Joined: 20 Apr 2018 09:49

Re: Creations built using RJtextEd

Post by yereverluvinuncleber »

Still creating widgets with RJTextEd.

I have just created a Panzer Just Clock Widget, a cut-down version of the Pz Stop watch Widget to aid in the creation of a VB6 version of the same. I am slowly converting all my old javascript/XML desktop widgets to VB6 binaries.

As it can be quite a complicated process I am starting off with a uncomplicated and easy-to-convert javascript widget. I created the javascript version first so that I am very familiar with its operation then converted its functions, step by step. Some of the advanced javascript methods are not available in VB6 so the conversion is not always a direct translation, you have to find new ways of doing things. The end result in code is interesting, similarly named functions and variables with logic that roughly equates. I have taken time to comment the code and add similar debug statements to both.

Image
The graphics displayed as the VB6 version.

Image
The javascript widget left and the VB6 version shown twice, the right hand one is high DPI aware on a 4K monitor, crisper.

Image
Licence screen.

Image
Right Click Menu.

Image
The One-Page Help.

Image
One tab from the Preferences Utility.

The two widget types are functionally identical except for the preference utility which is significantly more advanced on the VB6 version. It has been nice to create a new javascript widget, the conversion of the timeZone and Daylight Savings code to VB6 was particularly tricky but it re-acquainted me with javascript. I was definitely rusty.

The VB6 version is here: https://github.com/yereverluvinuncleber ... tClock-VB6
The YWE javascript widget is here: https://github.com/yereverluvinuncleber ... ock.widget
"Noli pati a scelestis opprimi"... or is it "non lacessit illegitimae te carborundum"?

You can find me on Deviantart https://www.deviantart.com/yereverluvinuncleber/gallery/
User avatar
yereverluvinuncleber
Posts: 366
Joined: 20 Apr 2018 09:49

Re: Creations built using RJtextEd

Post by yereverluvinuncleber »

Also just "knocked up" a new penny red widget using VB6.

Image

I was really doing this to see how long it would take me to create a basic VB6 widget from a template. Really no longer than a few hours. I might create a few more of these simple eye candy widgets now I have proven the process to myself.

Didn't use RJTextEd much for this one, I just had the old widget javascript code open using RJ so I could review the older functionality and copy/paste any correct wording from tooltips &c.

The end result is that it looks and acts just like one of my old javascript widgets. The logic is very similar.
"Noli pati a scelestis opprimi"... or is it "non lacessit illegitimae te carborundum"?

You can find me on Deviantart https://www.deviantart.com/yereverluvinuncleber/gallery/
Post Reply