Jump to content

corneliusdavid

Members
  • Content Count

    666
  • Joined

  • Last visited

  • Days Won

    13

Everything posted by corneliusdavid

  1. corneliusdavid

    FMX learning resources?

    Thank you, @havrlisan, for the plug for my book. I wrote that specifically for the Delphi programmer who already has VCL experience and wants to leverage their knowledge to expand to other platforms. I also have Andrea Magni's book and it's an excellent deep-dive into understanding and working with Firemonkey. Be aware that Linux development with Delphi requires at least the Enterprise version and does not officially support Firemonkey (yet).
  2. corneliusdavid

    ElevateDB / ElevateSoft website down and support not reachable

    I sent Tim an email about month ago. It took him a week but he did reply. I imagine the reply would've been quicker if I was a current customer.
  3. I've done that in the past as well. In fact, there's a component in my Github library, CloseApplication, to do that. I don't know the habits or the code on this current project well enough to confidently apply that yet. For example, if I set a 3-hour timeout but someone is still in the office at 7:00 PM and I'm wanting to update at 9:00 PM, then the app could still be open. I like the idea of being able to "Remotely stop applications with user notifications." Now, my only problem is that this old project I've inherited is still in Delphi 7--this App Watcher component is in D12 so I probably can't use it yet.
  4. Yes, and I've done that as well in some situations but I want the users to run the updated version the next day when they come into the office; if they left it running, they'll still be using the old version still in memory. Of course, I could add something that checks every minute or so and prompts to restart the app or something. Or use this--thanks for the link. So many choices!
  5. This looks like a great solution to add to a project I inherited where the users are accustomed to running the app from a network server. I have access to the server to manage the database and update the app but sometimes they leave it running at the end of the day which locks the app from being updated.
  6. corneliusdavid

    The Advent of Code 2024.

    That's what I was tempted to do as well and got part 1 done relatively quickly using that method. BUT BEWARE! It's a trap! As soon as you gleefully submit the correct answer and see what you have to do for part 2, your heart sinks because ... Instead, you have to analyze the problem, learn the patterns, then then craft something much more intelligent--in other words, more time than I had.
  7. corneliusdavid

    The Advent of Code 2024.

    AoC 2024 Day 04 Part 1 I finally finished this puzzle a week after I posted this. I was so close but the small test was not getting the right answer until I added a row of "Q"s around the entire perimeter of the 2-D array (extra row top and bottom, extra column at the start and end of each row); I must've had an off-by-one error somewhere but could not see it. These challenges are definitely outside of the normal tasks I have to do at my day job; but I like stretching my mind!
  8. corneliusdavid

    12.3 or 13/14 as next?

    There is 0.01% chance of that happening. There are still many parts of today's IDE similar to Delphi 1 from 30 years ago and even Borland Pascal before that. Some of the same hot keys and many of the sub-windows in the IDE. There are often additions and incremental changes and subtle (and not so subtle) ways of interacting but there's just too much that would need to be re-tested if they made a huge interface change. The Welcome Page has been where the bulk of the "pull the rug out from under you" changes have taken place and that's not a critical part of the daily programming task.
  9. corneliusdavid

    The Advent of Code 2024.

    There's a key phrase in the explanatory text for this problem: "The asteroids are much smaller than they appear on the map, and every asteroid is exactly in the center of its marked position." So if we assume a scale like a baseball field is the square area and a golf ball in the very middle is the asteroid, then the only time an asteroid would block the view from another asteroid is if there is a DIRECT line through it; in other words, only vertical, horizontal or diagonal lines crossing another asteroid. Therefore, any asteroid whose view angle to another asteroid does not fit that is assumed to be visible. And therefore, yes, I believe this is correct.
  10. corneliusdavid

    The Advent of Code 2024.

    Even if some tricky function were called to return the number of characters in a string, at some lowest point, there would still need to be an iterator to check each character. The only thing I'd say about your code is you have an unnecessary variable (ch) and character assignment (ch := s[c]). I suppose one "trick" to make your code shorter would be to replace all periods with blanks leaving a line with just hashtags; then you could simply get the Length of the line to get the count of asteroids in that line, something like this (not tested): s := StringReplace(m1.Lines.Strings[r], '.', '', [rfReplaceAll]); Inc(ac, s.Length);
  11. corneliusdavid

    The Advent of Code 2024.

    LOL! No worries. Now it makes sense. I found Day 10 of 2024 to be fairly simple. It's one of the few I actually completed both parts 1 and 2. I haven't had time to finish 2024 nor look at any prior years.
  12. corneliusdavid

    The Advent of Code 2024.

    Day 10 (of AoC 2024) is about trailheads, not asteroids. Are you looking at a different day or year?
  13. corneliusdavid

    New Book Delphi Quality-Driven Development

    comment removed.
  14. corneliusdavid

    New Book Delphi Quality-Driven Development

    Got it! Can't wait to dive into it and trust it'll be as good as your other books. Some of the chapter titles look like they'll provide good arguments to support the best practices I'm trying to promote to my team. Thanks, Dalija!
  15. corneliusdavid

    AI in the IDE??

    LOL! That's a great new use for AI coding--use the generated code as a challenge for others to figure out what's wrong!
  16. corneliusdavid

    AI in the IDE??

    I used ChatGPT a year ago. Then I heard about Claude and started using that with much better success so signed up for a web account. Then Delphi 12.2 added AI, so I added that but mostly for testing and demo purposes. I haven't used it very much yet but it does work and is kinda slick to highlight some code and have it explain it to you. I plan to use the integrated Claude with a few projects I inherited in the near future. So far, the web version is easier to use, partly because the interface in Delphi is brand new and doesn't dock well or remember it's position. You can drag-and-drop units to the web version and copy generated code so it's not difficult to use. I'm sure improvements are coming for AI integration in future versions of Delphi so my opinions may change.
  17. corneliusdavid

    DevEx VCL Components & VCL Styles??

    I'll second both previous comments. I'm helping my team upgrade a suite of old programs that used a mix of grids and controls; the new version is DevExpress Quantum grids to the mix. We wanted to support a "dark" mode and it took a lot of research to get everything to look decent together--or at least close. We had to pick both a VCL style and a DevEx skin that (mostly) work together. They're saved and applied in completely different ways.
  18. corneliusdavid

    Should I just dive in to GUI programs?

    I taught myself a new language a couple of years ago, so I think I understand where you're coming from. When I learn a new language, I want to focus only on the language and what it can do, control loops, data structures, functions, parameters, etc. Having to learn event-driving programming and why you should use a TActionList hooked to a button instead of a button click, or which comes first, FormShow or FormActivate, ... all that stuff will become important down the road but how do you just declare a variable and assign a value? And what data types are there? Getting stuck with a tutorial that jumps immediately into GUI programming can be frustrating. I don't have a good book selection for you but I recently wrote a bunch of console programs to solve programming puzzles for Advent of Code. You could look through those as examples if you want. They use a variety of constructs; I learn best by example so these may (or may not) be useful.
  19. corneliusdavid

    Should I just dive in to GUI programs?

    When was that? I have a book written by Bill Gates in 1995 called "The Road Ahead" where he talks a lot about the Internet being the next revolution in communication and technology. He clearly saw it's benefit 30 years ago
  20. corneliusdavid

    What new features would you like to see in Delphi 13?

    Delphi 12.3 has not yet been released. The AI integration in 12.2 was the first version and will certainly be improved as this new frontier is explored further and they receive feedback. I build plug-ins and integrations for an old 32-bit retail POS system. There's still a LOT of 32-bit apps out there--and they work just fine. Delphi turns 30 next month. VCL is (mostly) a wrap-around for Windows API functions. Someone with more in-depth knowledge than I may chime in but my understanding is that there are so many apps out there already that rely on the VCL the way it is that changing anything would break a lot of stuff. Instead, people can create new apps using FireMonkey or use any of the several third-party GUI component sets that take advantage of new capabilities.
  21. corneliusdavid

    The Advent of Code 2024.

    I haven't had time to get past #11, which I rewrote using a recursive function for part 2 but then found out that was foolish--I killed it after letting it run for 24 hours! My favorite (so far) was #3; if you know regular expressions, it was snap. I hope to have some time over the holidays to tackle a few more.
  22. corneliusdavid

    The Advent of Code 2024.

    Yeah, that helped me not feel so bad! I'm not in this for a gold medal, I'm happy if I can figure it out on my own given the time constraints of job, family, etc.
  23. corneliusdavid

    Delphi 12.2 Toolbars strange behavior

    I hardly ever use the toolbars in Delphi. The only one I usually have up there is the Debug one--and even then, I use the hotkeys. One of the first things I do after installing Delphi, is removing all (or most) of the toolbars as they just take up space (been doing that over a decade). I can't remember what all those icons mean anyway and most all the functions I need are either a right+click or hot-key away.
  24. corneliusdavid

    The Advent of Code 2024.

    That's what I think--I just don't see how that can be. After initially looking at the leaderboards and trying a couple of puzzles with some faint hopes of my abilities, I quickly realized I would never make it anywhere close to a leaderboard and stopped looking at them! LOL! Now I'm just happy if I can SOLVE a puzzle; and especially happy if I also solve part 2! I have come to believe that Delphi is not the best language for solving puzzles like this--at least in a contest of speed. The Pascal language is very type-strict and I find myself many times having to convert numbers to string or vice-versa. I get boxed in thinking only in terms of strings (then having to extract or convert a number) or thinking only in terms of number (then having to concatenate a string or something). Several additions to the RTL over the years have helped but I look at some of these 1- or 2-line Python or Go solutions and just shake my head, partially to try and understand them but also because you just can't always do stuff that succinctly in Delphi. Either that or I'm just so used to laying out variables and record structures and doing things in a "proper" way for code readability and maintainability that it's hard for me to get in the mind-set of being super terse and brief to solve a very specific problem where there's no need to do any checking of the input data.
×