Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 04/03/24 in all areas

  1. Ali Dehban

    ChatGPT plug-in for RAD Studio.

    Hi fellows, I wanted to inform you that I have made an improvement to my AI-integration plug-in called ChatGPTWizard. Now it supports Ollama, the offline AI chatbot server. You can download the latest version (v3.0) to try it out here: https://github.com/AliDehbansiahkarbon/ChatGPTWizard To set up your offline GPT-like server read this section: https://github.com/AliDehbansiahkarbon/ChatGPTWizard#:~:text=How to use it in Offline mode I am eagerly looking forward to receiving your valuable feedback. Thank you in advance.
  2. Brandon Staggs

    Do you need an ARM64 compiler for Windows?

    Embarcadero's ARM compilers use an LLVM backend. This leads to differences such as how exceptions are handled. This is not a trivial difference and this is likely only scratching the surface of the problems that would have to be resolved. They haven't even given us a 64-bit Intel IDE yet. I doubt ARM64 is anywhere near. This is also likely one reason native Windows ARM compile target is not going to be available soon or if it is, will not be a simple matter of recompiling for many non-trivial projects.
  3. Elliot Hillary

    DelphiLint v1.0.0 released!

    We're excited to announce the release of DelphiLint v1.0.0, a free and open-source static analyzer and linter for the Delphi IDE! DelphiLint is powered by SonarDelphi, our Delphi analyzer for the SonarQube code quality platform that scans entire codebases with more than 120 different rules. With DelphiLint, the feedback loop is shortened - it allows you to analyze individual files within your editor and correct problems before they're even checked in. GitHub: https://github.com/integrated-application-development/delphilint Release: https://github.com/integrated-application-development/delphilint/releases/tag/v1.0.0 Features Analyze one or more files on demand View detected issues, descriptions, and rationale inline in the Delphi IDE Two analysis modes: Standalone - run analyses entirely locally with a default set of active rules Connected - connect to a SonarQube instance, allowing for Fetching of active rules and configuration from the server's configured quality profiles Suppression of issues that have been resolved in past analyses Usage of the server's version of SonarDelphi Uses the same rules and configuration files as SonarDelphi, making configuration easy for projects that already use SonarDelphi for code quality DelphiLint supports RAD Studio for Delphi 11+. Feedback and contributions are welcome!
  4. Brandon Staggs

    Do you need an ARM64 compiler for Windows?

    It was required to accomplish the original RAD concept for Delphi. It is a dual-edged blade to be sure, but in this case, I will take the bugs that come with having an active IDE that actually runs the components. While you could guarantee that DLLs won't crash if you don't load them into the process (obviously), you aren't going to be able to reproduce all of that with another method, and I am not interested in the compromise.
  5. Die Holländer

    ChatGPT plug-in for RAD Studio.

    The plug-in is working great and the warning is indeed not a problem. 👍 I've downloaded the ZIP from GitHub and build/installed the *.dpk file and that went very smooth. The message I got directly after installing the plug-in. From the IDE main menu I opened the Chat-GPT settings and pasted the API-key and did Save/Close without any other input in the setting dialog.
  6. Anders Melander

    Do you need an ARM64 compiler for Windows?

    No more than any other major upgrade of Delphi. How would you have designed the system then?
  7. Rollo62

    Delphi 11.3 with Android SDK 33

    Yes, you can safely ignore them ( until Google decides to enforce this probably in the future ). I considered that too, but I'm afraid these warning will be hard to remove, because they require certain Android tools, like ProGuard. Not sure if this will be ever included in the Delphi process. One idea, at least for the first warning, was to add a neutral or empty "manifest.txt" file. This might work technically, but on the other hand, the Google Review might see this as an attempt to circumvent or infringe their PlayStore policies, which might put you in bigger troubles. My hope is, that Embarcadero put this onto their roadmap.
  8. kuzduk

    kuLibrary

    Yes, GitHub it is good idea, thanks. i have GitHub page: https://github.com/kuzduk/ I'll post the libraries there a little later.
  9. uses VarPyth; ... var Res, S: string; PythonEngine1.ExecStrings(sl); Res := MainModule.Parser(S); It would help to watch the tutorial videos and play with the Demos.
  10. The sample code above uses VarPyth for high level access to python objects. MainModule is custom variant wrapping the __main__ python module. Unless you provide optional parameters to ExecStrings, the code is executed in the context of the __main__ module.
  11. David Champion

    We use DUnitX and it discovers all our silly mistakes before release

    This is a very good point, that the component-driven architecture is more than adequate to product loosely couple code. This has troubled me for many years. Most of the time I head off in the direction of developing/refactoring around interfaces and end up with an interface oriented-design. So many small interfaces, so loosely coupled, that dependency injection using Spring4D is an obvious choice. It works for me but the end result is far removed from the tooling support given by the IDE for components. Sometimes the interface design is clumsy and not as dedicated, short and succinct as it should be, closer to a class declaration. I often end up with an unnecessary abstraction where a more concrete implementation as a component would do just fine. Perhaps if the VCL had a different way of producing components that avoided the deep class hierarchies and used more composition there would not be this apparent tension.
  12. Adaptive Icon First of all, don’t uncheck the icons in deployment and don’t change the manifest. 1) Add your icons in .png format in Project Options normally. This is necessary to keep the compatibility with android 7.1 and oldest. 2) You need to create 3 files "ic_launcher.xml", "ic_launcher_background.xml" and "ic_launcher_foreground.xml" 3) ic_launcher.xml example: <?xml version="1.0" encoding="utf-8"?> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <background android:drawable="@drawable/ic_launcher_background" /> <foreground android:drawable="@drawable/ic_launcher_foreground" /> </adaptive-icon> Add it in deployment with remote path "res\drawable-anydpi-v26" 4) ic_background.xml example: <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="108dp" android:height="108dp" android:viewportWidth="108.0" android:viewportHeight="108.0"> <path android:name="square" android:fillColor="#ff3657f4" android:pathData="M0,0 L108,0 L108,108 L0,108 z" /> </vector> Note that I fixed a solid color (#ff3657f4), but you can put gradients in this xml or an image in place the background (not recomended). Add it in deployment with remote path "res\drawable" 5) ic_foreground.xml example: <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="108dp" android:height="108dp" android:viewportWidth="108.0" android:viewportHeight="108.0"> <path android:name="square" android:fillColor="#ffffffff" android:pathData="M 53.91,32.73 C 54.35,32.75 54.49,33.06 54.75,33.39 54.75,33.39 56.18,35.17 56.18,35.17 56.18,35.17 62.30,42.80 62.30,42.80 62.30,42.80 65.32,46.57 65.32,46.57 67.71,49.56 69.15,51.35 69.99,55.19 70.19,56.06 70.35,56.97 70.35,57.86 70.35,60.63 70.34,61.92 69.39,64.60 67.61,69.60 63.19,73.48 58.06,74.76 56.05,75.26 54.85,75.23 52.81,75.20 51.89,75.19 50.64,74.92 49.74,74.70 44.14,73.29 39.76,68.84 38.20,63.31 37.95,62.41 37.66,60.97 37.65,60.04 37.62,57.15 37.69,55.37 38.79,52.61 39.86,49.91 41.15,48.49 42.92,46.27 42.92,46.27 48.17,39.73 48.17,39.73 48.17,39.73 51.98,34.98 51.98,34.98 52.41,34.44 53.40,33.04 53.91,32.73 Z M 46.57,58.86 C 46.57,58.86 43.70,58.86 43.70,58.86 43.70,58.86 43.70,59.45 43.70,59.45 43.70,63.37 46.54,66.93 50.04,68.42 50.88,68.79 51.80,69.02 52.71,69.13 53.27,69.20 53.36,69.10 54.00,69.26 54.00,69.26 54.00,66.29 54.00,66.29 52.87,66.29 51.97,66.13 50.93,65.66 48.53,64.57 46.57,61.94 46.57,59.25 46.57,59.25 46.57,58.86 46.57,58.86 Z" /> </vector> You can change the white color (#ffffffff) and the pathData. Note: this pathData is the same path data inside the .svg. If you have your icon in .svg, just open it in notepad and copy the "d" field inside the "path" to the pathData of xml (only if the svg has size 108x108). Add it in deployment with remote path "res\drawable" Result (the low quality is due to the gif format) Extra You can do the same with the splash screen (vector splash screen). The vector splash screen works in all android versions supported by Delphi.
  13. You need to create vector icons (adaptive icons), and you will need to add those additional files to deployment manually. You can find more about icons formats and deployment folders at https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive
×