-
Content Count
1967 -
Joined
-
Last visited
-
Days Won
26
Everything posted by Attila Kovacs
-
Not the screenshot just the technical stuff. The "click to edit image" option in your screenshot indicates professional and mature thinking. I didn't know that MadExcept could do this.
-
Hi there, The question is for advanced EurekaLog users: I would like to see if the user opts out of sending the screenshot with the error report, but at the stage when the EL dialog is shown, the report is already compiled. However, I could still append files to the zip, but only existing files, but I do not want to write to the disk. I want to see it because it often comes without any image, and I'm not sure why. Maybe one of you has an idea how to achieve this. Any sign in the email or the error report would be enough. thx
-
Yeah, the question remains, I just need to know if the checkbox is unchecked. (Thinking aloud, the user should be able to see a preview of the screenshot. Based on the dialog, there is no information if it's a screenshot of the app, the form of the app, or the whole screen. No wonder if they are mistrustful.) (Thinking aloud 2, the user should be able to crop the image and wipe out parts of it.)
-
nope
-
Double, default value
Attila Kovacs replied to Skrim's topic in Algorithms, Data Structures and Class Design
Note that there is also a System.SysUtils.TryStrToFloat() function, along with many other TryStrToXXX() functions, you may find them handy. -
ANN: HTMl Library 4.9 released. WebUI and more
Attila Kovacs replied to Alexander Sviridenkov's topic in Delphi Third-Party
😮 -
I have a VCL form that always gets corrupted when I save it: This is the only form where I have ever encountered this issue, and it always happens with the style property of a TCheckListBox. Has anyone ever seen something like this in real life? I'm on D12.1
-
Delphi 12.2 available for download
Attila Kovacs replied to pyscripter's topic in Delphi IDE and APIs
. -
Delphi 12.2 available for download
Attila Kovacs replied to pyscripter's topic in Delphi IDE and APIs
Is there a list somewhere? Os is it still secret? -
Switching off automatic Bookmarks?
Attila Kovacs replied to PeterPanettone's topic in MMX Code Explorer
-
Custom Managed Records and Default(T)
Attila Kovacs replied to rgdawson's topic in Algorithms, Data Structures and Class Design
Same here. I was so excited when I upgraded to 12, thinking there would finally be something amazing, but when I checked it out, bleh. I’d rather not. -
Btw. I used this app for the validation: https://www.xml-buddy.com/ You can batch-validate the xml's you generate against the schematrons with a console app.
-
I'm curious how long it will take before we have to rewrite all the E-crap in JSON.
-
Show executable size after successful build?
Attila Kovacs replied to PeterPanettone's topic in Delphi IDE and APIs
debug version is bloated anyway, who cares what size the executable has? switch to visual c++, they are already complaining if the exe is over 80kb 🙂 -
“Transitive” type redefinitions in interface section
Attila Kovacs replied to Dmitry Onoshko's topic in Algorithms, Data Structures and Class Design
I'd make MyTask -> MyTask.Common MyTask.Main.Implementation -> MyTask.Main but it's just my personal preferecne -
“Transitive” type redefinitions in interface section
Attila Kovacs replied to Dmitry Onoshko's topic in Algorithms, Data Structures and Class Design
Amen. -
“Transitive” type redefinitions in interface section
Attila Kovacs replied to Dmitry Onoshko's topic in Algorithms, Data Structures and Class Design
If MyTypes is used throughout the whole project, why would you bother it UnitB is using it too. Otherwise take a walk and restructure the whole thing. -
Form's OnCloseQuery event CanClose parameter
-
Use TImageList, ideally a descendant that can handle SVGs.
-
Yes, I'm using it actively. Don't expect rushed answers; the situation must be complicated, obviously. Otherwise, the components are mature and have been working well in production for years. Is your question technical?
-
Cross platform color picker and palette library
Attila Kovacs replied to Jim McKeeth's topic in I made this
you could add to the top of the color list: clipboard (only if a color code is in the clipboard) no color -
Delphi app using Access database very slow on network drive.
Attila Kovacs replied to Jean-Michel Gaudette's topic in Databases
check this https://www.w3schools.com/asp/prop_rs_cursorlocation.asp or use use a proper dbms https://www.microsoft.com/en-us/download/details.aspx?id=104781 -
Unicode NBSP(u00A0) No-Break Space character for 64-bit
Attila Kovacs replied to sp0987's topic in RTL and Delphi Object Pascal
-
Yesterday I had the feeling I'm missing this feature from the IDE, today I can't remember why, maybe I'll recall it later 🙂 And my rough implementation of the feature: Comments, patches, etc. are welcome. ( f.e. I'm completely ignoring the top and the bottom of the file, and other line endings as 0D 0A, also not sure about utf-8 in the code) Blocks are moving on the basis of the starting and ending line. This is intended. procedure TKeyboardBinding.BindKeyboard(const BindingServices: IOTAKeyBindingServices); begin BindingServices.AddKeyBinding([ShortCut(VK_UP, [ssAlt])], MoveLineOrBlockUp, nil); BindingServices.AddKeyBinding([ShortCut(VK_DOWN, [ssAlt])], MoveLineOrBlockDown, nil); end; procedure TKeyboardBinding.MoveLineOrBlock(ADirection: Integer; const Context: IOTAKeyContext; var BindingResult: TKeyBindingResult); var EditPosition: IOTAEditPosition; EditBlock: IOTAEditBlock; CurrentRow: Integer; CurrentRowEnd: Integer; BlockSize: Integer; IsAutoIndent: Boolean; CodeLine: string; sr, er: Integer; begin EditPosition := Context.EditBuffer.EditPosition; EditBlock := Context.EditBuffer.EditBlock; // Store original cursor row CurrentRow := EditPosition.Row; // Length of the selected block (0 means no block) BlockSize := EditBlock.Size; // Store AutoIndent property IsAutoIndent := Context.EditBuffer.BufferOptions.AutoIndent; // Turn off AutoIndent, if necessary if IsAutoIndent then Context.EditBuffer.BufferOptions.AutoIndent := False; if (EditPosition.Row = 1) and (ADirection = -1) then Exit; if (BlockSize = 0) then begin // Only a single line to move EditPosition.Save; if ADirection = 1 then EditPosition.Move(EditPosition.Row + ADirection, EditPosition.Column); // Move to end of current line EditPosition.MoveEOL; // Get the column position CurrentRowEnd := EditPosition.Column; // Move to beginning of current line EditPosition.MoveBOL; // Get the text of the current line, less the EOL marker CodeLine := EditPosition.Read(CurrentRowEnd + 1); if Ord(CodeLine[Length(CodeLine)]) <> $0A then Exit; EditPosition.Move(EditPosition.Row - 1, EditPosition.Column); // Move to end of current line EditPosition.MoveEOL; // Get the column position CurrentRowEnd := EditPosition.Column; // Move to beginning of current line EditPosition.MoveBOL; // Get the text of the current line, less the EOL marker CodeLine := CodeLine + EditPosition.Read(CurrentRowEnd + 1); if Ord(CodeLine[Length(CodeLine)]) <> $0A then Exit; EditPosition.Delete(Length(CodeLine) - 2); EditPosition.InsertText(CodeLine); // Move cursor to original position EditPosition.Restore; EditPosition.Restore; EditPosition.Move(EditPosition.Row + ADirection, EditPosition.Column); BindingResult := krHandled; end else begin // More than one line selected. Get block text sr := EditBlock.StartingRow; er := EditBlock.EndingRow; if (EditBlock.StartingColumn <> 1) or (EditBlock.EndingColumn <> 1) then begin EditPosition.Move(sr, 1); EditBlock.BeginBlock; EditPosition.Move(er + 1, 1); EditBlock.EndBlock; sr := EditBlock.StartingRow; er := EditBlock.EndingRow; end; CodeLine := EditBlock.Text; EditBlock.Delete; EditPosition.Move(EditPosition.Row + ADirection, 1); // Insert block text EditPosition.InsertText(CodeLine); EditPosition.Move(sr + ADirection, 1); EditBlock.BeginBlock; EditPosition.Move(er + ADirection, 1); EditBlock.EndBlock; BindingResult := krHandled; end; // Restore AutoIndent, if necessary if IsAutoIndent then Context.EditBuffer.BufferOptions.AutoIndent := True; BindingResult := krHandled; end; procedure TKeyboardBinding.MoveLineOrBlockDown(const Context: IOTAKeyContext; KeyCode: TShortCut; var BindingResult: TKeyBindingResult); begin MoveLineOrBlock(1, Context, BindingResult); end; procedure TKeyboardBinding.MoveLineOrBlockUp(const Context: IOTAKeyContext; KeyCode: TShortCut; var BindingResult: TKeyBindingResult); begin MoveLineOrBlock(-1, Context, BindingResult); end;
-
That works only if [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] "LongPathsEnabled"=dword:00000001 is set