Leaderboard
Popular Content
Showing content with the highest reputation since 01/16/24 in Posts
-
What new features would you like to see in Delphi 13?
Fred Ahrens replied to PeterPanettone's topic in Delphi IDE and APIs
I don't need any new features. I just need that the existing features work as intended. And there are many areas where existing features need to be made usable again (e.g. refactoring, code formatting, HighDPI). OK, one new feature would be nice: compiling for Raspberry Pi. But fixing the existing features needs to be done first. -
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!
-
What new features would you like to see in Delphi 13?
Stefan Glienke replied to PeterPanettone's topic in Delphi IDE and APIs
Niklaus Wirth just turned over in his grave about this proposal. -
I have created a new Delphi application called ChatLLM for chatting with Large Language Models (LLMs). Its primary purpose is to act as a coding assistant. Features: Supports both cloud based LLM models (ChatGPT) and local models using Ollama. Supports both the legacy completions and the chat/completions endpoints. The chat is organized around multiple topics. Can save and restore the chat history and settings. Streamlined user interface. Syntax highlighting of code (python and pascal). High-DPI awareness. The application uses standard HTTP client and JSON components from the Delphi RTL and can be easily integrated in other Delphi applications. You do not need an API key to use Ollama models and usage is free. It provides access to a large number of LLM models such as codegemma from Google and codelllama from Meta. The downside is that it may take a long time to get answers, depending on the question, the size of the model and the power of your CPU and GPU. Chat topics The chat is organized around topics. You can create new topics and move back and forth between the topics using the next/previous buttons on the toolbar. When you save the chat all topics are soved and then restored when you next start the application. Questions within a topic are asked in the context of the previous questions and answers of that topic. Screenshots: Settings using gpt-3.5-turbo, which is cheaper and faster than gpt-4: UI: Further prompting: The code is not actually correct (Serialize returns a string) but it is close. If you want to test ChatLLM you can download the executable.
-
What new features would you like to see in Delphi 13?
Brandon Staggs replied to PeterPanettone's topic in Delphi IDE and APIs
Personally, I see no reason to add more options to obfuscate my code. I can do well enough with goto and with when I need to scratch that itch. And when I really want to spice things up, there is always absolute. -
Delphi 12.0 TParallel.For performance. Threading.pas issues
Dalija Prasnikar replied to mitch.terpak's topic in General Help
The only self explanatory code is the trivial one. In other situations there is no such thing as self explanatory code, especially if it also needs to be performant and thread-safe. I have written tons of self explanatory code, for which now I don't know what was I smoking at the time. Sometimes, after a lot of digging I can remember why it was written like that and why it should stay that way, but mostly no. So I am not sure if it was just crappy code from the times I didn't know better, or there are valid reasons behind the awkward design choices. -
I have just built an installer for GExperts 1.3.24 Beta1 for Delphi 12. Note the word “Beta” in the release name! We are one step up from Alpha, there are still many bugs, but overall it seems to be stable. Most of the bugs manifest themselves as display glitches on high DPI monitors. Continue reading in the blog post
-
What new features would you like to see in Delphi 13?
Anders Melander replied to PeterPanettone's topic in Delphi IDE and APIs
Nonsense. Windows developers have been able to create professionally looking applications that for decades without the aid of layout controls. The main reason for amateurish looking applications is amateurish developers. The DevExpress layout control is tightly coupled to the rest of their library but even if it had been possible to separate it from the rest then it would be a terrible idea. Embarcadero does not have the resources or expertise to maintain and evolve something as complex as TdxLayoutControl. Just look at the state of the 3rd party libraries they already have incorporated into Delphi. I wouldn't mind a rudimentary layout control as a part of the VCL but if they can't even get something as simple as TGridPanel to work properly then I think it's better they not even try. -
Please note: Only the 12.0 Athens GetIt server has been restored at this point in time (Feb. 7th). https://blogs.embarcadero.com/getit-update-additional-rad-studio-12-getit-packages-are-now-available/ https://blogs.embarcadero.com/rad-studio-12-athens-patch-1-available/ List of QP issues addressed in the patch: RSP-44063 Bug in MOD operation for Win64 Release configuration RSP-43656 [REGRESSION] Wrong codegen when passing empty open array to operator overload RSP-43568 Issue with TURI.Query Changed adding an equal sign to the URL ends with ?WSDL RSP-43551 When MDI form & Custom Styles are used together, the Process cannot be terminated. RSP-43547 New VisualManager feature causes crash in TCustomForm.WndProc() with Action=caFree RSP-43515 No event OnCameraDidFinishTaking for TTakePhotoFromCameraAction RSP-43494 Event OnValidate fails when the DBGrid is full - AGAIN! RSP-43463 JSON serialization error with scientific double notation RSP-43459 TEdit.FilterChar crash app on Android RSP-43422 NetHttpClient parsing URL parameters is incorrect RSP-43418 Wrong Delphi code optimization for integer div/mod RSP-43407 The Delphi compiler in RAD Studio 12 is no longer able to resolve standard types by their aliases when generates HPP files for a BPL package with components if the referenced types are declared in other units RSP-43383 Delphi 12 Android TEdit error RSP-43362 [iOS] TListView set search visible to True, the system will crash when clicking into the search area. RSP-43326 Blob reading is broken for 64-bit platforms in dbExpress RSP-43318 Incorrect ShortCut in TActionList RSP-43311 TSQLTimeStampOffset problems with Firebird 4 RSP-43299 TFlowLayout exception when all its elements are set to invisible RSP-43274 Arithmetic operations on record fields return incorrect results in certain cases if the "Optimization" compiler option is enabled RSP-43235 Structure view and Search for a method box no longer populated RSP-43007 Internal compiler error F2084 RSP-42860 FMX TListBox List Index Out OF Bounds RSP-42692 Ctrl-j - invoke template don’t work RSP-42682 TreeView crash RSP-42657 TTreeview crashes when scrolling in iOS RSP-42634 QBE component causes fatal IDE crash when removed from form RSP-42616 FMX: Key Handling different behavior in Delphi 12 RSP-42601 TURI with encoded Params are mangled when initialized
-
Since years, our Open Source mORMot framework offers several ways to work with any kind of runtime arrays/objects documents defined, e.g. via JSON, with a lot of features, and very high performance. Our TDocVariant custom variant type is a powerful way of working with such schema-less data, but it was found confusing by some users. So we developed a new set of interface definitions around it, to ease its usage, without sacrificing its power. We modelized them around Python Lists and Dictionaries, which is proven ground - with some extensions of course. Two one-liners may show how our mORMot library is quite unique in the forest/jungle of JSON libraries for Delphi (and FPC): +] assert(DocList('[{ab:1,cd:{ef:"two"}}]')[0].cd.ef = 'two'); assert(DocList('[{ab:1,cd:{ef:"two"}}]').First('ab<>0').cd.ef = 'two'); Yes, this code compiles and run on Delphi - even the antique Delphi 7. 😆 If you compare e.g. to how the standard JSON library works in the RTL, with all its per-node classes, you may find quite a difference! And there is no secret in regard to performance, that our JSON processing is fast. More info: https://blog.synopse.info/?post/2024/02/01/Easy-JSON-with-Delphi-and-FPC
-
The new Atlassian slogan
-
A better way to share global data structures than as global variables?
Dave Nottage replied to DavidJr.'s topic in Algorithms, Data Structures and Class Design
Straight Outta ChatGPT -
What new features would you like to see in Delphi 13?
Attila Kovacs replied to PeterPanettone's topic in Delphi IDE and APIs
it will also be enough if QP is operational by the time D13 arrives -
What new features would you like to see in Delphi 13?
Sherlock replied to PeterPanettone's topic in Delphi IDE and APIs
Bug fixes, bug fixes and after that: more bug fixes. Don't release until there are no more unresolved bug reports. Quit following hypes just for the hypes sake. -
I have created a unit, that is similar to String Interpolation. Of course real Interpolation would be a compiler feature. TStr('Hello, {0}! Today is {1:ddd}, it's {1:HH:mm} now.').Params(name, date); // Hello, Mark! Today is Wednesday, it's 19:40 now. Variables where automaticly detected and converted (automatic type inferrence via Generics), so no need for IntToStr, FloatToStrF... Here a short Description of the Format. It is similar to the Format Specifier of .Net. The Date Format is almost the same like in Delphi, but the other Specifier are different. but i think its a way better than the sprintf Convention that Delphi uses: Integer and Float where automaticly converted and formatted as needed: C for Currency (Number for Decimal Places) D for Integer (Number for prefixed Zeros) F for Double (Number for Decimal Places) Date can formatted with: dd = Day, MM=Month, yyyy=Year HH=Hour, mm=Minute, ss=Seconds there are further possibilities in the readme Readme: https://github.com/VoSs2o0o/NetFormat/blob/master/readme.md Code: https://github.com/VoSs2o0o/NetFormat/ Download: https://github.com/VoSs2o0o/NetFormat/releases Website in German with descriptive Content about the Code: https://www.cloud-9.de/entwicklung/delphi-besserer-format-befehl
- 10 replies
-
- format
- interpolation
-
(and 1 more)
Tagged with:
-
FYI - Several Embarcadero services are currently unavailable
Uwe Raabe replied to Keesver's topic in General Help
Neat: https://www.idera.com/ppc/uptime-infrastructure-monitor/it-performance-monitoring -
ICS V9.1 has been released at: https://wiki.overbyte.eu/wiki/index.php/ICS_Download ICS is a free internet component library for Delphi 7, 2006 to 2010, XE to XE8, 10, 10.1, 10.2, 10.3, 10.4, 11 and 12 and C++ Builder 10.4, 11 and 12. ICS supports VCL and FMX, Win32, Win64 and MacOS 32-bit targets. Beware Mac OS-X and C++ have not been tested recently due to lack of support from such users. The distribution zip includes the latest OpenSSL 3.0.13. 3.1.5 and 3.2.1, for Win32 and Win64. The highlights of V9.1 were posted in this topic two weeks ago, and are included in the download page. The full release notes for V9.1 are at https://wiki.overbyte.eu/wiki/index.php/ICS_V9.1 There is also a new page https://wiki.overbyte.eu/wiki/index.php/Updating_projects_to_V9.1 to help with migrating existing projects. The main ICS readme9.txt has the installation section rewritten to explain the new common groups and packages used for Delphi 10.4 and later, so you won't find any dedicated ICS packages for Delphi 11 or 12. The readme now also explains all defines in the .\Source\Include\OverbyteIcsDefs.inc file that control how OpenSSL is loaded. All ICS active samples are available as prebuilt executables, to allow ease of testing without needing to install ICS and build them all. There are four separate zip files split into clients, servers, tools and miscellaneous samples which can be downloaded from https://wiki.overbyte.eu/wiki/index.php/ICS_Samples Angus
-
Stack Overflow Developer Survey for 2024
Dalija Prasnikar posted a topic in Tips / Blogs / Tutorials / Videos
Stack Overflow Developers Survey for 2024 is live https://stackoverflow.com/dev-survey/start Let's put Delphi on the map -
The Zeos Team is proud to announce the availability of Zeos 8.0.0 as a stable release. This is the newest stable version of Zeos. It deprecates Zeos 7.2, and any previous version of Zeos. We urge all people still using older versions of Zeos to upgrade. If you have any problems with Zeos 8.0, please get in contact with us on the forums or on the bugtracker. The most outstanding changes in Zeos 8.0 are Support for Delphi NextGen compilers to support Android, iOS and Mac OS X Two new bridge drivers for OleDB and ODBC A new driver that uses the Firebird interface based API for accessing Firebird versions 2.5 and above A special proxy server and an according driver that can be used to access any Zeos supported database using SOAP over HTTP(S) from (mobile) clients. Propper support for numeic and decimal fields by using TBCDField and TFMTBCDField Nested transactions using savepoints Two new components: TZTransaction and TZMemTable better overall performance and smaller memory footprint Besides these improvements Zeos has seen a ton of other additions and improvements. For an overview of the changes in Zeos 8.0 see the release notes. To download, the new version of Zeos please use this link.
-
SAML in Delphi, OpenSource on Git-Hub by Ethea
Carlo Barazzetta posted a topic in Network, Cloud and Web
Thanks to Ethea S.r.l. who commissioned Luca Minuti to write a Delphi implementation of SAML protocols/libraries and make it available Open-Source to the entire Delphi community. The project has now been completed also for the 64-bit platform as well. The project is available on Git-Hub at this address: https://github.com/EtheaDev/Delphi-SAML -
What new features would you like to see in Delphi 13?
Uwe Raabe replied to PeterPanettone's topic in Delphi IDE and APIs
Sounds like it were a religion... -
I wasn't going to bring it up in this thread.. but since you opened the door... I've been working on one for a while now https://delphi.dev - but it's a big project for one person and I have a business to run and a family. Docs - https://docs.delphi.dev/ Source https://github.com/DelphiPackageManager Installer - https://github.com/DelphiPackageManager/DPM/releases (codesigned by VSoft Technologies Pty Ltd). It is working well, but I have yet to implement loading design time packages - the reason for that is a lack of spare time. I did redo the IDE user interface a while back and that part is much easier to use than before (modelled on Jetbrain's Rider nuget support) - I use it daily. DPM supports Delphi XE2 - 12.0 - which should make upgrading to newer delphi versions easy - if the packages you use are available for the newer version of delphi, just open your project in that new version (with dpm installed) and dpm will automatically download and install the packages required for the project (and update search paths accordingly). Packages can be hosted by a package server, or a directory (ie network file share). The website is also a package server - that part is working well, however the ui needs a lot more work so that users can create api keys for pubishing packages. Right now the only packages there are ones I forked and published. The website is an asp.net 8.0 application (because I have a lot of experience with it) with a react front end, using a postgresql db - running on ubuntu server on a vm on one of my servers in Sydney - not ideal for latency for the rest of the world - it is behind cloudfare but api routes are excluded (cloudfare does help as a cdn for the images and javascript). If interest in/usage of the server actually took off I would move it to a cloud host in the US to improve latency (that would require some funding). The actual package files are on a cdn (bunny.net) and are regionally cached, so once someone near you has downloaded a package it is cached on their edge and its fast to download. Right now that's not costing me much but if usage ramps up it would. I went with bunny.net purely because of pricing - but apart from the stupid name it's actually a pretty good service. Recently someone (thanks @Geoffrey Smith ) contributed a tool for creating dpm package definition files (json) and we have been working on that together (it's installed by default now). Geoff created this tool to ease creating package definitions for some commercial libraires he is using. I would love to see more interest in the project and welcome contributions.
-
I've never understood why anyone would use getit over the main source repo for open source projects
-
FYI - Several Embarcadero services are currently unavailable
Lars Fosdal replied to Keesver's topic in General Help
Due to the supply chain disturbances, we had a 5 month delivery wait for servers and parts for a while, so I can relate to delays. The problems here are: - Lack of proper communication. "No news. Next update at ..." is better than silence! - Insufficient contingency planning? - Insufficient backup and recovery plans? - No plan B? There are many capable cloud hosting services that doesn't take forever to spin up a pack of servers. The cost might be high, sure - but so is the cost of losing the trust of your customers. -
FYI - Several Embarcadero services are currently unavailable
Stefan Glienke replied to Keesver's topic in General Help
Did you know that LEGO and Michelin are competitors? They both manufacture tires...