

PeterPanettone
Members-
Content Count
1354 -
Joined
-
Last visited
-
Days Won
5
Everything posted by PeterPanettone
-
In the Code Editor, when typing 'if' followed by a space character, a Hint hides the caret position: ...so I cannot see the caret anymore and cannot see what I am typing. I am forced to press the ESC key to hide the hint, which is a completely pointless waste of time. Can anyone confirm this? This has been bothering me for a while now. Isn't there a way to suppress this hint (or show it at a different position) when writing an 'if' statement?
-
Writing if statement in the Code Editor
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
This does not work on my secondary monitor, only on the primary monitor. -
Writing if statement in the Code Editor
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
Some museums exhibit works of art made from Windows error messages. When Delphi has a milestone birthday next year, such a museum could be opened. -
Writing if statement in the Code Editor
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
You could use a free screenshot tool - there are many available. -
Writing if statement in the Code Editor
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
Hi Brian, thanks for testing. Can you please be more specific? 1. In Delphi 11.3, how does it "look fine"? Do you mean the caret is also hidden by the Hint in Delphi 11.3? Or do you mean the caret is not hidden by the Hint in Delphi 11.3? 2. In Delphi 12.1, what do you mean by "is broken"? -
Writing if statement in the Code Editor
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
Aren't hint windows positioned automatically following some system setting? -
Writing if statement in the Code Editor
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
No, it does not change. -
Writing if statement in the Code Editor
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
-
Writing if statement in the Code Editor
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
That's what I am going to do. Before doing that, I always ask other people whether they can confirm the issue. So much wasted time because the Embarcadero developers obviously didn't care. -
Writing if statement in the Code Editor
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
I found the solution: Options -> Language -> Delphi - > Code Insight: Generally, Hints are helpful. But if they hide the caret, they become an annoyance. The ideal position for Hints would be ABOVE THE CARET. -
Click the Requests button.
-
Mine is 7.24 GB
-
At design-time: procedure TForm1.FormCreate(Sender: TObject); begin Button1.Caption := 'Back' + #13#10 + 'to Editor'; end; At run-time: TButtonMultiLineCaptionTest.zip Can anyone confirm this? Is there a working "Quality Portal" where this can be reported?
-
You are right - one should write a book about this topic.
-
This is not concisely logical, as it should word-wrap the Caption when the "text is too wide for the control" AND NOT PREVENT the word-wrap when it is already Multi-Line (if WordWrap = False). And, from a purely practical point of view, what sense would it make to explicitly truncate the text if it's too large for the control? Wouldn't it rather be more practical to automatically word-wrap the Caption when the text is too large for the control?
-
In TRzButton the Multi-Line Caption works without having to explicitly set WordWrap = True:
-
Get the list of all file extensions associated by double-click with a specific application?
PeterPanettone posted a topic in Windows API
When I try to get the list of all file extensions from the Registry associated with a specific application (double-clicking on the file opens the application), I encounter a complex, almost impenetrable maze of multiple, countless references and back-references that seems almost impossible to resolve. It would be helpful if there were a "magical" function like GetListOfAssociatedFileExtensions('notepad.exe', 'open'); Is there a known solution to this problem? For a test, I've started by enumerating all file-extension subkeys in the Registry: function EnumerateFileExtensions: TStringList; var reg: TRegistry; subkeys: TStringList; i: Integer; key: string; begin Result := TStringList.Create; subkeys := TStringList.Create; reg := TRegistry.Create(KEY_READ); try reg.RootKey := HKEY_CLASSES_ROOT; // Open the key for reading if reg.OpenKeyReadOnly(key) then begin reg.GetKeyNames(subkeys); reg.CloseKey; // Log the retrieved subkeys CodeSite.Send('Subkeys:', subkeys.Text); // Iterate through subkeys and filter those starting with a dot for i := 0 to subkeys.Count - 1 do begin if Subkeys[i][1] = '.' then begin // Add the subkey to the result list Result.Add(subkeys[i]); end; end; end; finally reg.Free; subkeys.Free; end; end; -
Get the list of all file extensions associated by double-click with a specific application?
PeterPanettone replied to PeterPanettone's topic in Windows API
Managing applications in general by giving the user the information on which file extensions open a specific application. This information lets the user decide which file extensions are allowed or should open a particular application. -
Get the list of all file extensions associated by double-click with a specific application?
PeterPanettone replied to PeterPanettone's topic in Windows API
There is a function AssocQueryString in shlwapi.dll. -
Get the list of all file extensions associated by double-click with a specific application?
PeterPanettone replied to PeterPanettone's topic in Windows API
That's why I wrote "multiple, countless references and back-references." Has no one really ever written a function to enumerate the list of file extensions associated with a specific application? -
What new features would you like to see in Delphi 13?
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
Another interesting possibility is to create DLLs using Python that Delphi applications can use. Python provides several ways to create DLLs, including using the ctypes module or the cffi module or compiling Python code to a shared library using tools like Cython or PyInstaller. -
In Delphi 12, when pressing F1 in Vcl.Buttons.TSpeedButton.SelectedImageIndex in ObjectInspector, after a while, this topic is displayed: Can anyone confirm this? Is the Embarcadero Quality Portal already online?
-
Delphi 12 Local CHM Documentation
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
Ian Barker wrote in a comment on that page on March 7, 2024: "Ultimately it should be a superior solution. It’s taken longer than we expected to get it launched but we are almost ready with it now." -
What new features would you like to see in Delphi 13?
PeterPanettone replied to PeterPanettone's topic in Delphi IDE and APIs
As a developer who deals a lot with design, I find Delphi's lack of layout options a thorn in my mind. The layout features in Delphi are one-dimensional (e.g., property Align). Delphi lacks a layout component like TdxLayoutControl from DevExpress for a professional design: In practice, the lack of professional layout capabilities results in many bumbling-looking applications, with controls that sometimes overlap when run on a device with display settings different from those of the original application developer. This shortcoming has given Delphi the unjustified reputation of being an unprofessional amateur developer tool. That's why my greatest wish for the Delphi community would be a native layout control from Embarcadero. Or even better, Embarcadero should buy the TdxLayoutControl component from DevExpress and integrate it into the Professional version. This would give Delphi the professionalism it deserves due to its other capabilities. -
How to get the DoNotShowAgain state of the TaskDialog in Delphi 12?
PeterPanettone posted a topic in Windows API
I am trying to encapsulate the TaskDialog properties, its execution, and its result in a single unit: unit MyTaskDialogDNSAExpandable; interface uses Vcl.Dialogs, Winapi.Windows, Vcl.Controls; type TDialogResultWithDNSA = record ModalResult: Integer; DoNotShowAgain: Boolean; end; function ShowTaskDialogWithDNSAAndInfoText(const ATitle, AContent, ADNSACaption, AInfoText: string): TDialogResultWithDNSA; implementation function ShowTaskDialogWithDNSAAndInfoText(const ATitle, AContent, ADNSACaption, AInfoText: string): TDialogResultWithDNSA; var TaskDialog: TTaskDialog; begin TaskDialog := TTaskDialog.Create(nil); try TaskDialog.Caption := ATitle; TaskDialog.Text := AContent; TaskDialog.CommonButtons := [tcbOk, tcbCancel]; TaskDialog.VerificationText := ADNSACaption; TaskDialog.ExpandedText := AInfoText; TaskDialog.Flags := [tfUseCommandLinks, tfAllowDialogCancellation, tfExpandFooterArea]; // Execute the task dialog if TaskDialog.Execute then begin Result.ModalResult := TaskDialog.ModalResult; Result.DoNotShowAgain := ??? // how can I get the DoNotShowAgain state of the TaskDialog end else begin Result.ModalResult := mrCancel; Result.DoNotShowAgain := False; end; finally TaskDialog.Free; end; end; end. But how can I get the DoNotShowAgain state of the TaskDialog in Delphi 12?