Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: Getting the ball rolling. Which VB6 projects are you working on?
SearchingData. A download link please, like to try that!
I am working more on Transferring my widgeting capability to using Olaf's Cairo wrapper, discovering how it does what it does and why. Enjoying dipping into Cairo and seeing a VB6 graphical widget growing in capability.
Experimenting with mixing VB6 menus, forms with a transparent graphical widget. Next is how to make each element of the widget react to user input. Potentially I will have my widgets running on Mac os/x, Windows XP-11 using two graphical engines & javascript, Xwidgets+Linux using Wine and now VB6+Cairo with a potential future on multiplatform TwinBasic. Bloody hell eh?
Also, testing my steamydock with D3D as a possibility for a migration to a GPU accelerated version.
PS. The widget now has a real rotating earth working from one of Olaf's built-in timers and it responds to interactions with the mouse, increasing the widget in size and stopping/restarting the rotation. At a 100ms interval it seems to use a respectably low amount of CPU in comparison to my similarly Cairo-based yahoo widget. This is fun and I'm learning something.
Last edited by yereverluvinuncleber; Apr 14th, 2023 at 08:30 PM.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by yereverluvinuncleber
I am working more on Transferring my widgeting capability to using Olaf's Cairo wrapper, discovering how it does what it does and why. Enjoying dipping into Cairo and seeing a VB6 graphical widget growing in capability.
Experimenting with mixing VB6 menus, forms with a transparent graphical widget. Next is how to make each element of the widget react to user input. Potentially I will have my widgets running on Mac os/x, Windows XP-11 using two graphical engines & javascript, Xwidgets+Linux using Wine and now VB6+Cairo with a potential future on multiplatform TwinBasic. Bloody hell eh?
Also, testing my steamydock with D3D as a possibility for a migration to a GPU accelerated version.
PS. The widget now has a real rotating earth working from one of Olaf's built-in timers and it responds to interactions with the mouse, increasing the widget in size and stopping/restarting the rotation. At a 100ms interval it seems to use a respectably low amount of CPU in comparison to my similarly Cairo-based yahoo widget. This is fun and I'm learning something.
Yes, after using Olaf's Cairo and SqliteDB, you'll find a lot of modern elements in the old VB6.
Reply to your private message:
If you master search skills in vbForums, you can basically offset the pain of not having RC5/RC6 documentation. My search tips are as follows:
Go to the "Advanced Search" page
-
Select "Search Single Content Type" tab
-
Input "Keyword(s)", for example: cCairoSurface
-
Input "User Name": Schmidt (Note: This is the most important tip)
-
Select "Additional Options": VisualBasic 6 and Earlier (or CodeBank - VisualBasic 6 and Earlier)
-
Select "Show Results as": Posts
Last edited by SearchingDataOnly; Apr 15th, 2023 at 03:40 AM.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by yereverluvinuncleber
SearchingData. A download link please, like to try that!
I'm working on a developer-oriented toolset that includes 5-8 gadgets for coding, database, and web development, which will be free for everyone to use, and there will be a donation channel.
The ObjectBrowser is the first gadget in this toolset, and while its UI is almost identical to VB6's, my ObjectBrowser has made a lot of improvements to the drawbacks of VB6-ObjectBrowser and added a lot of new features. Although VB6 has been frozen for 25 years, VB6ers will soon be able to use a better ObjectBrowser(TlbViewer) than .Net.
The second gadget included in my toolset is the Code-Analyzer, and after this tool is developed, I'll put my toolset live for everyone to download and test and use.
To be clear, this toolset is also part of the preliminary work for my scripting language.
Last edited by SearchingDataOnly; Apr 15th, 2023 at 03:47 AM.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by SearchingDataOnly
I'm working on a developer-oriented toolset that includes 5-8 gadgets for coding, database, and web development, which will be free for everyone to use, and there will be a donation channel.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: Getting the ball rolling. Which VB6 projects are you working on?
If anyone else sees my failure thread on converting one of my Yahoo widgets to a RC5/6 widget then you will know what I am working on. It wasn't a complete failure not by any means. I can reasonably easily create transparent components in my VB6 programs if I need to...
I created a VB6 program on a RC6 form with a transparent non-square shape which is an achievement for VB6. The earth rotates seamlessly using a RC6 timer taking just 2% of CPU on an old 3.3ghz intel i7 620M, by comparison the old Yahoo widget that does the same animation takes 11-12% of CPU to do something very similar.
All the VB6 menu options operate (calling a mix of RC6 and VB6 components)
I can pull up an PNG image on a transparent RC6 form (non square) to show an about page, I'd like it to fade away when clicked upon but I never managed to implement that. It just hides.
It has a simple help image using a standard VB6 form with no min/max controls.
In addition, all the links operate in the menu, an option reveals the app.folder, it has an option to call the .vbp to edit the program, you can switch off the rotating functionality and there is an option hide the widget for 5 mins. I didn't manage to get the "Reload Widget" option to operate as there is no easy way to kill and restart a VB6 program. I'd probably need a separate binary or a .vbs script to kill the program and to restart the binary.
I even managed to add a basic prefs program, non functional, just a template, but it was a start and I would have needed it if I was going to replicate my desktop widgets in VB6.
That's it. That is what I was doing, testing RC6 and finding out if it was suitable for converting my Yahoo widgets. It worked well to an extent. I discovered a problem but that's good too.
Despite abandoning it, I will retain my knowledge and when RC6 can handle click-throughs on overlaid transparent areas when using a future "graphical" mode on layered areas without resorting to hit point checking I will continue it. I really enjoyed working with RC6, frustrating and hard work though it is. What it can produce is really revolutionary for us old VB6ers.
Last edited by yereverluvinuncleber; Apr 19th, 2023 at 05:52 PM.
Reason: added prefs image and cpu usage
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: Getting the ball rolling. Which VB6 projects are you working on?
I want to see those. Can you post a picture so we can see? I find other people's VB6 projects at least as interesting as my own. P.S. I use imgur to host the images here.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: Getting the ball rolling. Which VB6 projects are you working on?
This weekend I'm finishing up ucExplorer; it's a lighter weight alternative to ucShellBrowse that wraps the IExplorerBrowser, and hopefully more stable while the kinks are worked out for UCs since it's simpler-- it's written in twinBASIC, designed to be used in that, VB6, and VBA7 both 32 and 64 bit.
It does quite a bit more than my plain Explorer Browser demo, including filtering and individually controlling frames, but isn't over the top complex like ucShellBrowse, but of course can't offer the same level of functionality and customization.
Re: Getting the ball rolling. Which VB6 projects are you working on?
It still impresses me that we now have TwinBasic as an alternative. Who'd have thought just a few years ago? I was always optimistic but I never expected to come from the direction it did.
Faf, please post a photo if you can, always worth a few words if not a thousand, inflation eh?.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by yereverluvinuncleber
It still impresses me that we now have TwinBasic as an alternative. Who'd have thought just a few years ago? I was always optimistic but I never expected to come from the direction it did.
Faf, please post a photo if you can, always worth a few words if not a thousand, inflation eh?.
Sure, it's not much to look at by itself; all it is an Explorer window; the point is to be able to add one easily in your app. Here it is in a test app I have just designed to make sure it's working:
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by fafalone
Sure, it's not much to look at by itself; all it is an Explorer window; the point is to be able to add one easily in your app. Here it is in a test app I have just designed to make sure it's working:
Hi fafalone.
That looks really well done, like a perfect replica of a file explorer window.
Since one can already use a dialog window to select files, what opportunities does this provide
beyond that. Sorry if that's a dumb question but I often completely fail to grasp the significance of things.
Re: Getting the ball rolling. Which VB6 projects are you working on?
It *is* an Explorer window.
I have another project that reimplements all the features from scratch-- not easy to replicate the property display/editing ability-- that looks closer to Windows 7 as that was what it was primarily developed on; but this uses the IExplorerBrowser COM object, which lets Windows create an actual Explorer frame on your form with very little code.
There's any number of reasons you might want a persistent file display on a form; this allows a much more feature-rich version than a simple list, or a ListView (without the extensive work of something like ucShellBrowse). Also allows creating open/save dialogs with a far higher level of customization.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by fafalone
It *is* an Explorer window.
I have another project that reimplements all the features from scratch-- not easy to replicate the property display/editing ability-- that looks closer to Windows 7 as that was what it was primarily developed on; but this uses the IExplorerBrowser COM object, which lets Windows create an actual Explorer frame on your form with very little code.
There's any number of reasons you might want a persistent file display on a form; this allows a much more feature-rich version than a simple list, or a ListView (without the extensive work of something like ucShellBrowse). Also allows creating open/save dialogs with a far higher level of customization.
Thanks very much for the reply.
I also had a too brief look at the other links you posted and I've bookmarked this one. If my understanding of what it allows you to do is correct I think I will be making use of it in a while.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by fafalone
It lets you fill the Explorer window on your form with a set of custom files from anywhere.
Yes, that's what I was thinking it did.
So I'm hoping to be able to show a particular real folder's contents over which they'll likely want full control, without allowing them to navigate from that into adjacent folders where they could shoot themselves in the foot by altering data that doesn't relate to the particular ID that they had selected originally?
Also to maybe provide a file explorer view of a folder that is actually an online directory and be able to initiate an upload if they drop a file into it?
Re: Getting the ball rolling. Which VB6 projects are you working on?
If you just want to disable navigation there's an EBO_NAVIGATEONCE once, which loads the initial folder you open it to, then doesn't allow navigating elsewhere.
Another option would be the OnNavigationPending event; you can return any error value to cancel the navigation. That way you could whitelist (or blacklist) folders rather than limit it to a single location.
And yes if you go to the OneDrive folder or any other similar online cloud folder, drag/dropping into it should upload, if that's what happens in Explorer (this is also true of ucShellBrowse).
Last edited by fafalone; Apr 25th, 2023 at 02:31 AM.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by fafalone
If you just want to disable navigation there's an EBO_NAVIGATEONCE once, which loads the initial folder you open it to, then doesn't allow navigating elsewhere.
Another option would be the OnNavigationPending event; you can return any error value to cancel the navigation. That way you could whitelist (or blacklist) folders rather than limit it to a single location.
And yes if you go to the OneDrive folder or any other similar online cloud folder, drag/dropping into it should upload, if that's what happens in Explorer (this is also true of ucShellBrowse).
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by yereverluvinuncleber
It still impresses me that we now have TwinBasic as an alternative. Who'd have thought just a few years ago? I was always optimistic but I never expected to come from the direction it did.
But don't forget to pay your monthly subscription fee.....
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by SomeYguy
But don't forget to pay your monthly subscription fee.....
I know it is hard for some to understand but we do need to find some way of reimbursing developers for their valuable time. Capitalist methods do work to stimulate people to take time from their main income source and divert their time to creating for us all. Some sort of medium of exchange assists that. Assuming that you are American (just a guess), you should be familiar with the concepts.
I expect to pay to be able to create 64bit binaries and do some of the advanced stuff that I am expecting that TB will enable us to do, otherwise we can just continue to write code in VB6 and wait for communism to take over.
Update: I don't remember the correct price for VB6 in 1999 but I have a number in my mind of approx. 250 GBP. That equates to approx. 550 GBP today. At 26 GBP per month for TB, it feels a little expensive (I think I'd be more than happy with ten quid or so) but you can obtain the community edition for free and upgrade when you need to create your binaries.
Last edited by yereverluvinuncleber; Apr 25th, 2023 at 01:16 PM.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by yereverluvinuncleber
I know it is hard for some to understand but we do need to find some way of reimbursing developers for their valuable time. Capitalist methods do work to stimulate people to take time from their main income source and divert their time to creating for us all. Some sort of medium of exchange assists that. Assuming that you are American (just a guess), you should be familiar with the concepts.
I expect to pay to be able to create 64bit binaries and do some of the advanced stuff that I am expecting that TB will enable us to do, otherwise we can just continue to write code in VB6 and wait for communism to take over.
Update: I don't remember the correct price for VB6 in 1999 but I have a number in my mind of approx. 250 GBP. That equates to approx. 550 GBP today. At 26 GBP per month for TB, it feels a little expensive (I think I'd be more than happy with ten quid or so) but you can obtain the community edition for free and upgrade when you need to create your binaries.
Such is true and yes I do understand those concepts well as I am well versed in modern business and its realities. I just don't think that a subscription model is warranted for this. Even MS didn't do that with VB6. MS did it with products/markets (office 365) where it made sense(mostly).
If TwinBasic is as good as it claims, success will follow without need for the subscription bit. They should at least also offer a one-time purchase alternative, as some other subscription-based software vendors do.
Let us suppose that you are developing an app in TB for whatever reason or need. Hobby, pro, special application, whatever.
Say it takes you weeks, months, maybe years to develop this. It is costing you every single day/week/month whether you work on it or not. In just a year you have $420 USD invested in your project, and it doesn't stop. And if you fail to pay for whatever reason, you may find that your whole show has stopped dead in it's tracks. Plus, for many, its just another annoying monthly bill to pay and keep track of. No thanks I have enough already.
OTOH, say I buy a licensed copy of TwinBasic for, lets say, that same $420 and install it on my computer with perhaps 1 year of support/1 major upgrade. I need not worry that it will cease to function if I can't pay every month for some reason or if I move high into the Himalayan mountains whilst running my laptop on solar power and want to continue to work on my software. Maybe I'm not able to run the latest version of TB but then VB6 still works so ?.
Just my opinion of course but unless the TB folks offer an outright purchase alternative I will look elsewhere....
Re: Getting the ball rolling. Which VB6 projects are you working on?
As I said, you can just subscribe when you want to compile to 64bit. Then next month you cancel the subscription.
Anyway, back to what we are doing.
Creating the preferences utility.
The general tab
The config tab
The fonts tab
Sounds
Positioning
Development
Window Tab
Approximately 50% of these work so far. I work on multiple projects so I do not get bored!
Might seem a little OTT for just a rotating globe program but I am recreating all the options available on a typical Yahoo Widget. Many of these config. elements will be needed on the remaining 'widgets' so I am creating them all as a template for future conversions.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by SomeYguy
Such is true and yes I do understand those concepts well as I am well versed in modern business and its realities. I just don't think that a subscription model is warranted for this. Even MS didn't do that with VB6. MS did it with products/markets (office 365) where it made sense(mostly).
If TwinBasic is as good as it claims, success will follow without need for the subscription bit. They should at least also offer a one-time purchase alternative, as some other subscription-based software vendors do.
Let us suppose that you are developing an app in TB for whatever reason or need. Hobby, pro, special application, whatever.
Say it takes you weeks, months, maybe years to develop this. It is costing you every single day/week/month whether you work on it or not. In just a year you have $420 USD invested in your project, and it doesn't stop. And if you fail to pay for whatever reason, you may find that your whole show has stopped dead in it's tracks. Plus, for many, its just another annoying monthly bill to pay and keep track of. No thanks I have enough already.
OTOH, say I buy a licensed copy of TwinBasic for, lets say, that same $420 and install it on my computer with perhaps 1 year of support/1 major upgrade. I need not worry that it will cease to function if I can't pay every month for some reason or if I move high into the Himalayan mountains whilst running my laptop on solar power and want to continue to work on my software. Maybe I'm not able to run the latest version of TB but then VB6 still works so ?.
Just my opinion of course but unless the TB folks offer an outright purchase alternative I will look elsewhere....
Look elsewhere to *where*? That's the thing. Nobody has stepped up to fulfill this particular niche in the 25 years since VB6. Why? Because a project of this scope is a massive undertaking, and if you do it in your free time as a hobby, you wind up like radbasic or olafbasic measuring your time to completion in decades rather than years. (And it's worth noting the former there is also subscription based, can't barely run Hello World, and will likely be 10+ years before it's at where tB is now based on progress so far).
I'd like to see a one-time purchase option too, but given how long we've all wanted something like this, I can't imagine that being a dealbreaker when the paywalled features are so minor. The need for steady income rather than the unknown ups/downs of one time purchases is understandable. Right now, if you're not subscribing, there's a splash screen on x64 exe... that's it. There's no commercial restrictions on the free version. The only planned features for subscribers are performance-optimized compiling and cross-platform compiling. So not things that should even bother hobbyists; if the free version was much more limited that would be a much bigger issue, but as it stands? It's workable. And I don't think it's a valid concern that you won't be allowed to revert to the free version if you don't pay.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Sorry guys I didn't mean to stray too far off topic. Thing is, we're all right for different reasons regarding TB, and its author(s) certainly do deserve their money .
So to get back on topic - I'm not working on anything major in VB6 at present time but I am writing a couple of small programs which are used to control an arbitrary waveform generator via serial port. The generator is used to generate RF & AF signals for use in various electronic applications. My little program just provides one-touch selection buttons for various frequencies & amplitudes and modulation modes.....
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by SearchingDataOnly
I'm working on a developer-oriented toolset that includes 5-8 gadgets for coding, database, and web development, which will be free for everyone to use, and there will be a donation channel.
The ObjectBrowser is the first gadget in this toolset, and while its UI is almost identical to VB6's, my ObjectBrowser has made a lot of improvements to the drawbacks of VB6-ObjectBrowser and added a lot of new features. Although VB6 has been frozen for 25 years, VB6ers will soon be able to use a better ObjectBrowser(TlbViewer) than .Net.
The second gadget included in my toolset is the Code-Analyzer, and after this tool is developed, I'll put my toolset live for everyone to download and test and use.
To be clear, this toolset is also part of the preliminary work for my scripting language.
object browser,if it can auto test
If the object browser could automatically test, it might be interesting.
List all properties, methods, and enumerations of an object. Then store it in the database and write test code for each interface and event. For example, setting the background color of the control, the optional values are the color selector control, or several commonly used colors. Set the code for automatic testing, select three colors, and switch one color per second.
Set the number of rows and columns for the table control, such as (5 rows and 3 columns), or 10 rows and 20 columns, and automatically fill in all values of the cells:
1-1,1-2,1-3
2-1,2-2,2-3
It is to use a visual and automatic demonstration method of controls to learn or showcase the usage of your excellent controls. If combined with automatic recording or GIF generation, automatic voice reading instead of explaining the usage of each attribute, I believe functions like this will be very interesting.
Many people have developed various modules, controls, and classes (such as playing MP3 in memory). It would be great to use this method, which is the easiest and fastest to learn to use.
Re: Getting the ball rolling. Which VB6 projects are you working on?
To those that are interested, here's the Facebuilder, half modernized to Cairo widgets. Backing imagery and proper icons to be done later. (I just pinched them off the renders for now)
It's usage now deceptively simple.
That drop list appears only when you mouse over an icon. But hovering over an icon allows the mousewheel to choose face parts, so does hovering over the drop list. Which also activates the relevant controls below.
It's super fast to use now, and to zip through, or to select face parts from a list. (Though render speed is slow to very poor when manipulating stacked layers of the face.)
Just a bit more to go to make it equivalent to the VB version.
Long story short. Not joking either.
Building in VB6 only takes a few hours or minutes. (Depending on what you are doing)
Building in Cairo takes days.
But, Cairo allows re-use of properly drawn items, so there is a partial time save. Not much, but sort of.
If Cairo widgets were place-able and configurable like VB, it would be a god send. At the moment, it feels like programming in HMTL.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by -Corso->
If Cairo widgets were place-able and configurable like VB, it would be a god send. At the moment, it feels like programming in HMTL.
This isn't so bad. I remember when I was first learning WPF, I hated the fact that I had to write code for the UI like HTML. Although WPF does have a drag-drop designer, WPF is flow based like HTML which lends itself very poorly to drag-drop. It didn't take me too long to appreciate designing interfaces this way. Now, I think I even prefer it this way.
C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter
There's just no reason to use garbage like InputBox. - jmcilhinney
The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber
Re: Getting the ball rolling. Which VB6 projects are you working on?
I love the Face Builder. I had thought about making some kind of Avatar Generator, but nothing nearly as granular or as visually impressive as this. Out of curiosity, are the face tones/patterns/textures pre-coloured or is there some hue-shifting functionality for complete customisation?
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by Dan_W
Out of curiosity, are the face tones/patterns/textures pre-coloured or is there some hue-shifting functionality for complete customisation?
At one stage, I did use the hue shifter, my code is in this thread. https://www.vbforums.com/showthread....+shift+picture
at #29 post. Instructions are there too.
This was very handy for making red toned faces in particular.
But, I preferred the other mechanism. Applying HSL_COLOR and then OVERLAY, both at the same alpha to a pre-drawn skin coloured face. This had more appeal to more colour ranges.
Process is:
Draw all the face parts, stick them into the cairo.imagelist. Freckles, lip shapes, irises, eye whites, hair types, eye lashes, nose shapes, eye shapes, chin shapes, ear shapes, etc, etc.
Then at draw time:
Render each specific body part to separate surfaces with whatever shape morph you want, ie: mouth, eyes, minimum face, nose, hair etc.
Apply HSL Color and Overlay's to all your set body part surfaces, in the colours you want.
Render all to a final surface and paste that on screen. Done.
The BIG problem is matching 'everything' to 'everything else', artwise. Ie, ears that don't match the face, or their dark tones are wrong, or lips that just look slightly off. It's a harrowing experience, even if you have good art skills. I've thrown away 5 times as much stuff as what is currently functional.
I think in someone else's case. Build the avatar's body/clothing instead, and leave the face as just a few presets. Clothing is 1000000% more forgiving than a face.
Mind you, Stable Diffusion renders up some EXCELLLLLLLENT quality outfit textures. So, that's 80% of the work done for you already.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Fascinating. Bonkers but fascinating.
I have added an 'about' to the standard VB6 form. When you hover over the text area, a hidden scrollbar appears that allows you to scroll the credits. It hides when you leave the text area.
Corso, with regard to the layout of VB6 native vs Olaf's Cairo controls and the time it has taken you, I am going to test Olaf's test FRM to Cairo parser recently posted, to see how that converts my complex multi pane prefs form to a Cairo equivalent. Until that is successful it remains a native VB6 form. I am quite happy for that for the moment.
Even for simple program such as my rotating earth gauge, the Prefs is always going to be a complex program to manually lay out so I am trying to do it correctly as a template for future VB6 'desktop widgets'. I have a penchant for the old Windows form visuals and I'd love the Cairo equivalents to have a visual mode default that directly copied the older and more native Windows controls without too much re-skinning. I'll have to ask that question of Olaf later on.
PS. I am still thinking about a Yahoo widget XML to JSON or XML to FRM converter to allow me to auto generate VB6 forms from Yahoo widget XML files. If I convert to JSON then I can use Cairo's natural abilities to read JSON and hopefully speed the layout/conversion process. If I convert to FRM then I will be able to create a nice native VB6 forms but then still have to take the extra step to convert to Cairo. Still thinking. I already have the components largely built ready to convert from XML to JSON, built by a friend for a conversion to web widgets, so that feels like the natural step.
Last edited by yereverluvinuncleber; May 4th, 2023 at 06:33 AM.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by yereverluvinuncleber
I am still thinking about a Yahoo widget XML to JSON or XML to FRM converter ...
Originally Posted by yereverluvinuncleber
If I convert to JSON then I can use Cairo's natural abilities to read JSON and hopefully speed the layout/conversion process.
An XML to JSON conversion-step is not necessary, because RC6 comes with a decent XML-ParserClass -> cSimpleDOM
usage:
Dim DOM As cSimpleDOM
Set DOM = New_c.SimpleDOM(MyXMLFileName, True) 'instantiate and init from a given File
If you upload such an XML-File (perhaps zipped along with the resource-png-filelocations it probably refers to inside),
I could show you an example how to build a Widget-Tree from it.
You also mentioned XML-descriptions/layer-positioning, generated from inside PhotoShop somewhere -
if that is "even more preferrable" than the old Yahoo-XML-descriptions - then post that instead...
Re: Getting the ball rolling. Which VB6 projects are you working on?
Originally Posted by Schmidt
An XML to JSON conversion-step is not necessary, because RC6 comes with a decent XML-ParserClass -> cSimpleDOM
usage:
Dim DOM As cSimpleDOM
Set DOM = New_c.SimpleDOM(MyXMLFileName, True) 'instantiate and init from a given File
If you upload such an XML-File (perhaps zipped along with the resource-png-filelocations it probably refers to inside),
I could show you an example how to build a Widget-Tree from it.
You also mentioned XML-descriptions/layer-positioning, generated from inside PhotoShop somewhere -
if that is "even more preferrable" than the old Yahoo-XML-descriptions - then post that instead...
Olaf
Thankyou Olaf, I will do that, I'm just going to finish the next playing with my VB6 toy widget, the one that talks to me and tells me what to do, then I will proceed onto the next step of the conversion. I'll send you both then, if that's OK.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.