Jump to content

Attila Kovacs

Members
  • Content Count

    1967
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by Attila Kovacs

  1. Attila Kovacs

    Problems with EurekaLog

    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.
  2. Attila Kovacs

    Problems with EurekaLog

    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
  3. Attila Kovacs

    Problems with EurekaLog

    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.)
  4. Attila Kovacs

    Problems with EurekaLog

    nope
  5. Attila Kovacs

    Double, default value

    Note that there is also a System.SysUtils.TryStrToFloat() function, along with many other TryStrToXXX() functions, you may find them handy.
  6. Attila Kovacs

    ANN: HTMl Library 4.9 released. WebUI and more

    😮
  7. 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
  8. Attila Kovacs

    Delphi 12.2 available for download

    Is there a list somewhere? Os is it still secret?
  9. Attila Kovacs

    Switching off automatic Bookmarks?

  10. 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.
  11. Attila Kovacs

    XML: Parsing UBL 2.1 in Delphi

    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.
  12. Attila Kovacs

    XML: Parsing UBL 2.1 in Delphi

    I'm curious how long it will take before we have to rewrite all the E-crap in JSON.
  13. Attila Kovacs

    Show executable size after successful build?

    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 🙂
  14. I'd make MyTask -> MyTask.Common MyTask.Main.Implementation -> MyTask.Main but it's just my personal preferecne
  15. 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.
  16. Attila Kovacs

    How can I stop a form from being closed

    Form's OnCloseQuery event CanClose parameter
  17. Attila Kovacs

    Enabled := False makes color Glyphs disappear

    Use TImageList, ideally a descendant that can handle SVGs.
  18. Attila Kovacs

    Anyone using Clever Components?

    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?
  19. Attila Kovacs

    Cross platform color picker and palette library

    you could add to the top of the color list: clipboard (only if a color code is in the clipboard) no color
  20. Attila Kovacs

    Delphi app using Access database very slow on network drive.

    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
  21. Attila Kovacs

    Moving Line or Block in the IDE editor

    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;
  22. Attila Kovacs

    Windows PATH length limit?

    That works only if [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] "LongPathsEnabled"=dword:00000001 is set
×