Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 03/05/25 in all areas

  1. AI is just a tool. It has its uses. It's not going to do everything. Yes it's over hyped. But that does not mean it has no value. As usual the value lies somewhere in between what the hypers and the doubters say.
  2. Lars Fosdal

    Using external chemistry libraries with Delphi

    Wrappers for Java/C/C++/C# are not trivial, depending on the complexity of structures and formats. Python might be an alternative - have a look in https://en.delphipraxis.net/forum/39-python4delphi/
  3. DelphiUdIT

    Using external chemistry libraries with Delphi

    If there are not any wrapper for Pascal ,you need to arm yourself with a lot of patience and start creating your wrappers from the definitions of the include (i.e. the files with the extension ".h"). It might not be an easy path, quite the opposite. However, there are some tools that can help you: https://github.com/neslib/Chet this utility allows you to create pascal wrappers from .h files. Keep in mind that what is done will not be perfect and you will have to get your hands on it. Also keep in mind that you can only use C includes, NOT C++. And you will also have to convert the code by hand. Another equally valid alternative is to pass the include file and ask some AI to convert it to Pascal ... Surely some forum user will be able to give you some further and better advice. This is an example of conversion of the Indigo APIs performed by the tool I proposed to you, you need to get your hands on it but it is a start. I wish you good work. Indigo.pas Indigo.h
  4. FirstSonOfLowell

    Chess board

    in my internet chess apps (TCP and GMail versions), the player clicks an image of a chess piece that is inside a panel. The panels are named in normal alpha-numeric fashion..i.e. "a1", "b1", etc.. The images are all named "img" + the panel name, so an image in panel a1 is named imga1. When an image is clicked my app fetches the panel name ("imga1" minus "img" := "a1"), the image tag number which corresponds to the index of that image in a TImageLlist. The TImage.List image index identifies the piece name and color. When the player clicks the target square, my app displays the 1st squares image in the second square, vacates the first square (actually displays a blank image), updates that square's image tag number, then validates the move for the piece name moved. My app also manages an array of records: PieceName, PieceColor, LastSquare. LastSquare is used to undo a move if it fails validation. I have some avi and mp4 video demos, if interested. I did upload a 3MB 1-minute:23 mp4 that I made just for this post. White opens with The London and black opens with The Englund. "Mate in eight! Black wins. Most of the videos I have are too big to share here. My website is SamsChessBoard.ddns.net. (I host this in my home office, so you will see a "Not secure" alert in your browser.) any way, if you go to the bottom of the first page of my website, you can click my email link and let me know if you want to see the demos. There are some icky demos on the website too. I will share my algorithms and some code with you also. BTW, I am 79 years old. I began playing chess shortly after my 75th bday. I am 1299 in classical and about 1700 in correspondence on Lichess.org. I am FirstSonOfLowell there. send me a msg with code 5792 in it then send me a game. Sam 2025-03-05_01-31-44.mp4
  5. It sure would be funny if your boss was to ever post a Delphi question on some forum and you replied with the answer. Considering his stance on AI it would probably be "Why does this AI code not work like I asked it to".
  6. Stefan Glienke

    Namespaces in Spring4d code

    To avoid repeating the unit throughout the source code, you can declare an alias at the top and only explicitly put the unit name there. That, however, only works for non-generic types and consts. I wish it would also work for generics and routines.
  7. Dave Nottage

    How do I create an Android simulator under Delphi 11.3 ?

    Most likely. The only bearable way I have found of using an Android emulator is to have a Mac with a silicon chip (e.g. M1, M2 etc), and run Arm64 emulators on it. Delphi can communicate with them using the relevant adb commands, along with a secure shell client such as PuTTY, all of which I describe in this video.
  8. DelphiUdIT

    powerthrottling Delphi

    Is not an issue, is the normal function of energy saving, like implemented in "balanced power" profile of a laptop PC. You have disable some of the "mechanism" that allow the system to moderate the use of the battery when the laptop is in battery mode, only for BDS.EXE application. If you prefer performance to energy saving is one of the right approach.
  9. Remy Lebeau

    Guidance on FreeAndNil for Delphi noob

    Equivalent, but not identical. Do keep in mind that there is one slight difference - FreeAndNil() nils the pointer before destroying the object. It is basically doing this: var tmp := FMyObject; FMyObject := nil; tmp.Free; So, if the call to Free() happened to raise an exception (ie, due to memory issues, or a bad pointer, etc), then the difference is whether FMyObject gets nilled or not. But in normal well-behaving code, this difference is negligible.
×