The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
Place I used to work at used such tools twice. Once from [insert obscure language I forget the name of] to VB.NET, and then from VB to C#.
I wasn't there when it took place, but from what I heard (and saw in the code) results were mixed.
The resulting code would most of the time compile, and also most of the time do mostly what it was supposed to do (although some debugging was required), but the big problem was the readability and maintainability of the code.
It would use almost none of the specific language features (probably because it would make conversion a lot more complex), ignore best practices, make variables global that didn't need to be, and all kinds of headaches ranging in size from minor annoyance to "I swear to god I will set fire to my computer".
To be fair, that took place around 15 or more years ago, so maybe there are better converters today, but I doubt it.
At best, it's a start point from where you can develop the new version. Depending on size and complexity of your code base and requirements, it might be faster, cheaper and more future proof to redo the system from scratch in your tech stack of choice, rather than try and convert the existing code base.
Before you do anything else I'd recommend P2V'ing the physical box into a virtual machine - so if it fails you can still work on the code. Personally I use VM's for all my development environments now - going back to Visual Studio 6 - so if I ever have to revisit some old bit of code I just spin up the old VM and the project is usually still in the MRU list. Many of the old VM's are XP but you can generally just stop them having internet access so they are pretty safe especially if only spun up on demand.
We did a project for machine translation of a large software system originally written in Pascal into a proprietary systems language (in the Pascal/Algol class, but with a number of syntax differences and a number of added features).
The primary reason for doing this was to protect the system from theft: If some competitor got hold of the source code, the effort of utilizing it (i.e. translating it into some other language) would hopefully be so high that it would be considered not worth it.
Our conclusion after completion of the work was quite clear: We would have saved a lot of effort if we had placed a printout of the original Pascal code in the manuscript holder and manually typed in the translation line by line.
The auto-translator had no clue about the semantics of the code. Whenever it was in doubt, it generated new variables, labels and other constructs. For all practical purposes, all comments were ruined - they were there, but often misplaced because the original composite statement had been broken into pieces and reassembled in a different way; if the translator couldn't decide where to attach the comment, it was put at the bottom of the function. Obviously, the translator didn't make use of the extensions of the target language, as there was nothing in the input calling for these facilities...
Cleaning up the result was a tedious chore, and for a long time, there were still traces of the translator's bad semantic understanding of the application semantics. We could have used the translator for subsequent projects, but we never did. We saved work by doing it by hand.
We could have spent effort in trying to improve the translator. If there were a thousand projects waiting to be translated, it might have been worth it, but there was not, and we were already sick of it after the first job it had done - and the job it crated for us in cleaning up.
I use them daily and am writing one. They depend greatly on the power and flexibility of target language. Most do a terrible job at preserving comments and don’t try and do well on simple code. The better ones give up when they find something they don’t understand or do a partial translation leaving the original code as a comment. The bad ones just translate to garbage that will not compile. On evolving languages like C# translators have trouble keeping up. On dead languages they are usually very good and going to C# is a plus since it is very powerful and has many features you need.
Which version of Delphi are you using?
What 3rd party controls are tying it down to XP SP2?
How big is the application? Database requirements?
Generally code converters do not do well with 3rd party controls & you need somebody that understands the Delphi environment and C# that you are converting it to.
We're have a bit of an Artic blast, today. It's back up to 7F (roughly -14C). Brisk, wind, as well, ca. 30mph (gusts over 40mph). (48kph, 64kph gusts). My house heating system, not designed for this, was just about able to maintain 60F (15C) inside before I plugged in a 1500W electric heater and coaxed a few more degrees into the living room.
Some of you are lunatic enough to live where this is common. Why in the world would anyone's ancestors settle in frozen hell?
Well - at least daylight hours are almost back to 10.
I'm not going to tell here what happens with the tough guys in Texas when the temperature drops below +15C, but compared to them you are a true Viking who can't go swimming without bringing an ice pick.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
why waste money on heaters and in particular the electricity they use?
I hear bitcoin mining machines are cheap these days
...yes while it's true they do cost more to run then they earn, but even if they only get 1/4 of their costs back it's still a quarter of your heating bill earned back.
Well, a 93-95% efficient natural gas heater is a lot cheaper to run than having someone else burn the fuel somewhere -> convert to electric (losses) -> send through power lines (losses) and turn what's left into heat.
I mean, really - the other 3/4 of the power used - how much entertainment value is there in watching bitcoins being mined? I prefer to get bitcoins the old traditional fashioned way, by holding data hostage.