-
Content Count
3128 -
Joined
-
Last visited
-
Days Won
114
Everything posted by dummzeuch
-
I have just released a GExperts beta version for the 64 bit IDE. Read the blog post for details.
-
Date detection algorithm for strings
dummzeuch replied to JohnLM's topic in Algorithms, Data Structures and Class Design
I have got my own function for converting strings to TDate, but I doubt that you will like it, because it does not support that strange date format you are using in your examples. But here goes anyway: function TryStr2Date(const _s: string; out _dt: TDateTime): Boolean; var UKSettings: TFormatSettings; begin Result := True; // Try several different formats // format configured in Windows if not TryStrToDate(_s, _dt) then // German dd.mm.yyyy if not Tryddmmyyyy2Date(_s, _dt) then // ISO yyyy-mm-dd if not TryIso2Date(_s, _dt) then begin // United Kingdom: dd/mm/yyyy UKSettings := GetUserDefaultLocaleSettings; UKSettings.DateSeparator := '/'; UKSettings.ShortDateFormat := 'dd/mm/yyyy'; if not TryStrToDate(_s, _dt, UKSettings) then // nothing worked, give up Result := False; end; end; function Str2Date(const _s: string): TDateTime; begin if not TryStr2Date(_s, Result) then raise EConvertError.CreateFmt(_('''%s'' is not a valid date'), [_s]); end; They are part of my dzlib, where you can find those other functions called above: https://sourceforge.net/p/dzlib/code/HEAD/tree/dzlib/trunk/src/u_dzDateUtils.pas#l493 -
New Delphi features in Delphi 13
dummzeuch replied to David Heffernan's topic in RTL and Delphi Object Pascal
The products are called "Delphi", "C++ Builder" and "RAD Studio", the latter combining the other two. So the headline is correct. -
New Delphi features in Delphi 13
dummzeuch replied to David Heffernan's topic in RTL and Delphi Object Pascal
I was at the Pascal Conference last week (and not at the Delphi event, because I found that too expensive for a marketing event, but I degrees). Sorpetaler, who organised it and also sponsored the community days on the weekend, had also managed to in invite a group of students (from some school in Dortmund I think). Among other things, they got an introduction into Pascal and the cool things you can do with it, and each got a USB stick with a portable Lazarus installation. I'm not saying that each of them will now become a Pascal programmer, but at least they have now seen that there are people and at least one company is using it. And the tour through the production facility definitely was impressive. We'd need similar events for Delphi, including a free license, of course. But I have little hope that the latter will be forthcoming. (Of course there is CE). -
Delphi 13 IDE User Interface Font size issue
dummzeuch replied to PeterPanettone's topic in Delphi IDE and APIs
I'm not sure this is good advice, because I'm using such a setup and I have various issues with the IDE because of that. -
Refactor – Rename (Type, Field, Property) Alternatives in Delphi 13
dummzeuch replied to dmitrybv's topic in Delphi IDE and APIs
None that I am aware of. -
GExperts tries very hard, but is not perfect. The same for Breakpoints. I updated that code "recently" (a year ago?) so it became a lot better, but still not perfect.
-
That guy seems to be colour blind anyway, so maybe he overlooked the 13 because it has the wrong colour? Edit: Sorry, I was referring to the guy who made the Welcome Page, not the splash screen.
-
New Delphi features in Delphi 13
dummzeuch replied to David Heffernan's topic in RTL and Delphi Object Pascal
Not sure about the automatic part: Assume you have some legacy code to work on from an era that used a different formatting style. Do you really want it to be automatically reformatted? How do you track the changes you make? The only option is to do the reformatting and commit that change, before you make any manual changes, but that breaks the blame functionality (or whatever your SCM calls it) for older changes. So I usually only format the parts of the code I actually work on and leave the rest as is. -
A simple Code Editor trick to quickly jump to predefined locations in a huge unit
dummzeuch replied to PeterPanettone's topic in General Help
Hm, interesting. I didn't know that F3 automatically searches the next occurrence of the selected text. [testing it] No, it doesn't, at least not in my Delphi 13 installation. I have to press Ctrl+F and enter first. 😕 ?? -
New Delphi features in Delphi 13
dummzeuch replied to David Heffernan's topic in RTL and Delphi Object Pascal
I tried MMX but it's a lot less convenient than the integrated refactoring. I don't remember the specifics, but I think e.g. you have to enter / select the type for a new variable / field rather than have the tool infer it from what is assigned to it. -
New Delphi features in Delphi 13
dummzeuch replied to David Heffernan's topic in RTL and Delphi Object Pascal
Hm, interesting. Some of it could be easily done with the GExperts code formatter, but not all of it. Care to write a feature request? (I'm not promising anything! But having a formal feature request would definitely increase the likelihood of somebody implementing it.) -
New Delphi features in Delphi 13
dummzeuch replied to David Heffernan's topic in RTL and Delphi Object Pascal
These refactoring methods worked for me quite well, most of the time: Declare a variable or field Rename an identifier (that one always worked fine within a single unit and most of the time even for the whole project) Extract selected code to a method I have been using them since they were introduced in Delphi 2007 and I already miss them. -
I just tried the new RAD AI companion: Give me example code that returns the IDE's version number plus build number as a string from within an IDE plugin Not impressed.
-
I am trying to fix the remaining glitches in GExperts to follow the IDE's dark/light mode setting (which was implemented by @Achim Kalwa, Thanks a lot Achim!). One thing that does not work is dark mode for a TMainMenu. The menu bar itself is not themed, but its sub menus are themed as expected. Is that a bug in the VCL? A problem that only happens in IDE plugins? Or PEBKAC ?
-
The form is a TfmClassBrowser, which descends from TfmBaseForm which in turn descends from TForm. It calls this function passing Self as parameter: function GxOtaInitTheming(AForm: TCustomForm): Boolean; var LService : IOTAIDEThemingServices; begin Result := False; LService := GxOtaGetIDEThemingServices; if Assigned(AForm) and Assigned(LService) and (LService.IDEThemingEnabled) then begin LService.RegisterFormClass(TCustomFormClass(AForm.ClassType)); LService.ApplyTheme(AForm); Result := True; end; end; Which is what I think you mean by "registered to the ThemingService". I also tried explicitly calling IOTAIDEThemingServices.ApplyTheme for the TMainMenu, but it didn't have any effect.
-
Simple answer: Yes. You don't take any code from the web and use it without understanding it.
-
New Delphi features in Delphi 13
dummzeuch replied to David Heffernan's topic in RTL and Delphi Object Pascal
So you are a lucky one. For me it's also mostly our own code, but some of it is so ancient that it did not follow the our current style. Of course that's only at work, my hobby projects are a different story all together: Many different styles from many different authors. Some even from past me. -
No, I am one of them. And of course I hate jokes.
-
New Delphi features in Delphi 13
dummzeuch replied to David Heffernan's topic in RTL and Delphi Object Pascal
What kind of strange formatting might that be? -
New Delphi features in Delphi 13
dummzeuch replied to David Heffernan's topic in RTL and Delphi Object Pascal
So if you get some source code to work on, you really go through it and add begin/end for every code block? I for one are definitely to lazy for that. -
Yes, I do. When I test AIs I tend to ask things I already know so I can easily spot whether the answers are any good. In this case I had just updated the version detection in GExperts to support Delphi 13 so this was the first question that came into my mind.
-
That's a joke right? They gave the version the number 13 and you suppose they jump in the BDS version from 23 to 37 in order to avoid 13?
-
New Delphi features in Delphi 13
dummzeuch replied to David Heffernan's topic in RTL and Delphi Object Pascal
Autoformat has one huge advantage (apart from laziness, of course): It catches wrong indentations that suggest wrong code flows: if Condition then doX; doY; doOtherStuff; -
And here we go: An installer for the Beta version of GExperts for Delphi 13: See the blog post.
![Delphi-PRAXiS [en]](https://en.delphipraxis.net/uploads/monthly_2018_12/logo.png.be76d93fcd709295cb24de51900e5888.png)