Jump to content

Rollo62

Members
  • Content Count

    1671
  • Joined

  • Last visited

  • Days Won

    22

Everything posted by Rollo62

  1. Rollo62

    write text on image with specific position fmx

    Yes, additionally the scaling behavior might change with platform and different devices, it can be 1,2,3, whatever. Then you have scaling of the bitmap, scene, text matrix, etc. That's why I prefer a "canvas" that is not so much device-depended, like Image32, If this solution works for you, then better check on various different platforms and devices too.
  2. If your circles are that critical, maybe it's worth if you are looking into Skia4Delphi, which is the next, new hot thing in town. It is well-supported and in favor of Embarcadero too, but probably adding a lot of extra baggage too, but seems to have endless possibilities on the cons side :-)
  3. Rollo62

    write text on image with specific position fmx

    If it's for the purpose of just showing an image with text, I would recommend TImage32, or other libraries. Maybe solutions based on SVG or Skia as well, but TImage32 seems to be the most clean and small solution to just the TImage replacement, with a lot of extras. FMX internally has a lot of Scaling questions, which may drawing on a canvas make it not trivial and different on varous platforms and devices.
  4. I am not sure what you want to achieve, but probably you should look after methods that make use of resampling. https://stackoverflow.com/questions/11190472/transparent-image-control-with-resampling-in-delphi I would recommend Image32.
  5. Rollo62

    Python over Delphi

    Why dont you ask what you really interested in, why Delphi invests so much in Python. The more detailled and precise your input, the better the output.
  6. Have you tried to use it in/after FormShow?
  7. Rollo62

    K-Software

    Better check whats going on with USB-Token requirements. I'M still fine, have 2.5 years validity left, and hope then after that it will be all smooth and easy.
  8. Rollo62

    Choosing a Mac

    Thanks for sharing your experience. Also I moved ( or still am in the process of ) moving from VmWare Fusion to Parallels. I miss the option to move VMs around too, but to be honest I had issues moving and interchanging them anyway. An interchanged VM feels often a little slower, like the good maintained parent on the original. Moreover, I had issues to convert and run interchangeability, so I think this might only work for some kind of clean and fresh VMs, not the ones that had seen a lot of updates. So in practice, I see that vendor-locked-in syndrom for Parallels not as critical as before. How did you manage to run Delphi sufficiently under MacBook 2013 ? I had to purchase a newer one to be able to upgrade to Ventura, the old one simply refuses any update. Yes, Intel is clearly abandoned on Macos, the Ventura update was really messy and slow and only after a few updates it behaved somewhat usable. Before, the MacBook was perfectly fast and not reaching any limits. I assume this was not the case with ARM M2, but only Intel. So I have still some time and will maybe the next decision when M3 or M4 comes out What I can say that Apple can let you easily down, forcing updates here and there, leaving your systems non-workable. I have not seen such behaviors for decades under Windows, which is most of the time perfectly backward compatible. It all runs smoothly or can be easily reworked, while Apple doesn't seem to care much if their customers could use the expensive machines, or not. This is why I maybe move back from Apple to Windows machine as well, for my main workstation for FMX when the next upgrade is needed.
  9. Ok, just for fun I just tried to create some unit test for a random file, I found in the web. Since this is getting off-topic a bit, I opened a new thread. https://en.delphipraxis.net/topic/8688-try-chatgpt-for-creating-unit-tests/ The result after only 2 cycles is quite complete, would save some time, I think. I think there is not many tools out there at the moment, which can do that, and this works even for Delphi 🙂
  10. I personally think that ChatGPT is not great in complex coding, but can be a very helpful tool in creating Unit Tests probably, because this is usually a more routine work with several test cases. Many programmers dislike writing unit tests, because they think this is too much work, not worth the effort. I think that ChatGPT for creating unit tests be a great help too, because such code is typically not too complex, also probably convincing more and more people to make use of unit tests in the first place .
  11. Yes and no, I think it highly depends also on the "pattern-ness" of the structures, like JSON, XML, which have pretty clear rules. That should be easy to analyze and generate be AI, even with smaller training base, whereas any "logic", like a programming language, mathematics or the like, I see as not really solvable yet for AI. That said, I think also the training base of such files are huge. I had recently a very good example where ChatGPT can excel, I had to translate official EU terms into different languages, where I wanted to keep the meaning and wordings as close as possible to the official, national sources. Where all translations from Google/DeepL were not that convincing, even after many tries, always trying to fall back into the same 2-3 variants that I DIDNT want. This process worked out pretty well with ChatGPT, although this took me about 20 cycles to get clear and final on every aspect of the translation. I pretty much could change parts of the sentences and re-analyze. ChatGPT was able to follow my intention very good even over 2-3 cycles and helped to analyze, translate and explain the results very perfectly, knowing also the differences and nuances between official language and usual language. I really think that I was able to find the best possible translations, with the help of ChatGPT. You still can say that AI is stupid, if not having a result under 1-3 cycles, but I also know how this process works with traditional, human translation offices. Also the human translators can never follow my intention 100%, especially if those technical topics were out of their common repertoire. There I clearly see the advantage of the huge AI repository, from Shakespeare, official law terms to slang and dialects, ChatGPT is perfect in all of them. This is why I'm pretty sure that all simpler structures with only limited logic, like SQL, JSON, XML, CSV, etc. will do very good as well. I never expect a perfect result in 1. cycle, neither do I, when asking the same from a colleague. Only after a few cycles of explaining background and goals, the colleagues might prepare the desired result ( at least the colleagues I know 🙂 ).
  12. Define "to code": Wouldn't generating SQL, summarize a class or function, generate a simple class template, generate unit test cases, proposals of possible OS API for a certain task, modification CSV, JSON, translation from C++ to Delphi or many of such similar tasks, would'nt they fall under your objective ? Neither of those tasks were 100% error free, but they can be somewhat helpful or time-saving as well.
  13. Sure, but what I do consider: Isn't that part of our daily tasks, to master such kind of technology ? Why wait, and what for ? I have already seen a lot of very interesting use cases out there, beside asking for coding problems, of course we can wait until others take over this job, like the Python community I'm only missing just a tiny bit of constructive dialog here, how to make use and make best of such AI, instead many people seems to ask AI to solve problems which it cannot solve (yet).
  14. Do you used anything language specific ? I don't know Vietnamese languagem but I've noticed that several "regions" and "sub-dialects" might exist which sometimes might cause undesired behaivour. Like Swiss or Belgium language, can support various sub-dialects. I had a case where it worked for example on a Belgian phone under fr_be, but mishehaved under and nl_be.
  15. If you don't like to follow my visions towards AI capabilities and the usage thereof, maybe Stephen Wolfram can convince you. More info here. He seems to have integrated ChatGPT with Wolfram Alpha quite recently, I haven't checked out yet, but definitively will. This may close the gap of the missing logical part of ChatGPT, if it can request hard info from Wolfram Alpha. I see this current capabilities and future evolutions pretty much the same, that these kinds of "pattern recognizers" may explore this huge and probably infinite space of algorithmic rules and patterns. Finding patterns that were not found yet, to make use of the "unknown unknowns" for the mankind, as probably Donald Rumsfeld would say. Or maybe cite as: "To boldly go where no man has been gone before", like James T. Kirk would explain it. The only question is, if such findings would be good or bad for mankind, but that's another story. We will see that evolving anyway. At least I see this whole process very positive, of course with the necessary respect and caution.
  16. Knowing that this AI works pretty well for pattern-related tasks, not logical-related tasks, it should be pretty much clear where the strengths and weaknesses are. I have the impression that many people might not even be satisfied with AI even if it would show abilities like the "Terminator". They eagerly were dreaming of the "T1000" abilities instead, to demolish the current achievements, while completely ignoring what's knocking at their front door Available now ... Desired future ...
  17. Right, ChatGPT is pretty much always immediately "on-topic" and can provide useful information of any case, even if your prompt is not so well-designed. Beside coding, there were many fields where this is highly useful. You only have to sort out nonsense from useful data, which is not that difficult if you're not too naive looking at the answers. This helps to find surrounding answers and ideas or a direct solution, I asked for example to analyze the NATO alphabet, which of those terms were globally the best recognizable and pronounceable and also its proposals to optimize the terms. This gives a lot of good insights if you play around with it, from where you can move further. I never expect ChatGPT to write the perfect code to solve any sophisticated problem. It can help a lot in doing routine work, like convert this CSV to JSON, convert this C++ class to Delphi, to summarize code pieces, scientific texts or the like. It is a text-processor, pattern recognition, dictionary, and more …. And if you ask appropriate questions that fit to these strengths, it's doing quite well, IMHO.
  18. Hi there, I use the current RadStudio 11.3 Alexandria and have such issue that the project tree disappears suddenly, not sure how to reproduce that at the moment. It looks like this, and seems to be re-generated only when project close/open Currently I'm working under Macos platform, but I don't assume that this is the root cause. By the way, also all other tabs under this panel appears completely empty. Is this a known issue or did somebody has any idea how to fix that ?
  19. Yes, I know. I have separate folders not only because oder. dproj, but also for various Fixes units, that may change from version to version. Since I more doing cross platform this turned out to be the best strategy for me. The .dproj is really the biggest headache because of its myriads of settings in an unmanageable XML Format unable to transfer options from A to B or even to verify in a diff tool.
  20. Yes I keep all project files in separate subfolders, that is the cleanest was. Nevertheless I copy first e.g. from D112 to D113, before I start from scratch. Usally that can work, using RevertToDefault and other tweaks.
  21. Wrong code generation or not wrong code generation, I don't think that this discussions lead to anything Everybody knows the current limits of ChatGPT meanwhile. Instead of poking into the failures you should better look for ways to make use of it and to break those limits. Take this fantasic use case of GPT, to make it a "CoPilot for Delphi", programmed in just one hour. https://www.youtube.com/watch?v=hnBKfrBHUIE That is something I would expect from the experienced programmers community here, instead of whining about this and that problems. Isn't our daily task to solve such algorithmic problems ? If you like it or not, the AI's will take over sooner as we can blink with an eye and the coming versions they will remove most of your concerns from today. I see AI as a partner and tool for now, not as a replacement of coders, and it can help us with our routine work to get the head free for more challenging stuff. From the Delphi community I see only the moaning about any such new features, same like with discussions on inline variables, instead to admit what a fantastic achivement modern AI could be soon
  22. Great, that seems to be a good workaround. Thanks for reminding me, I usually do that ( only this time tried to be smarter again ). Taking the shortcut most of the time takes me longer in total, at least with *.dproj files. If it not would be such a ridiculous mess to re-set all parameters in the options again and again. This is on my feature whishlist no. 1
  23. I would call it a managment of "history" in the data itself, instead of log. The log could be external too and its hard to keep that on track. What I consider is a history management within each table, where for example copies were made before changes and instead deletion its just setting flags with a timestamp. That way the latest version in a table keeps always intact and easy to undo the changes, just by manipulating the flags and timestamps. While you can decide at any point to remove the "garbage" in a table without much side-effects. Of course managing multiple, related tables can always be a headache still, but I think its more clean and easier to understand if tables can handle and encapsule their own, specific undo/redo behaviour, in contrary to a possible external, universal log management which can be very complex and tricky and failure prone.
  24. Rollo62

    String literals more then 255 chars

    I use this in some kind of "not-human-readable" const definitions,. for example as a central, unique definition of some medium complex SVG pathdata icons. To not confuse anybody I usually put such definitions in a separate unit then, well commented about its purpose. So I see this use case a little more practical, not just pure black-and-white, I think it can make sense in some situations.
×