Jump to content

PeterPanettone

Members
  • Content Count

    1360
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by PeterPanettone

  1. I have implemented a few improvements in the Uses Clause Manager Identifier Search: 1. The number of Identifier Search filter results is now displayed. 2. Previously the search term was searched only at the start of the identifier names. Now you can choose between "Match anywhere" and "Match at start". If you change the match type then the filter results are updated automatically. Here are the sources, so you can build GExperts with these new features yourself: GX_UsesExpert5.zip Fixed a small bug just now; if you have already downloaded GX_UsesExpert3.zip or GX_UsesExpert4.zip then re-download this archive. Here are a few Uses Clause Manager features planned for the future: • Export the list of Project Units additional option: Preformatted as uses clause. • Identifier search: Fuzzy-Search option • Identifier search: Optimize filter performance with TParallel.For • Identifier search (or all tabs?): Multiple search terms (like in RFindUnit) • Identifier search: Search the selected Identifier result in custom help files • All Tabs: Button/Combobox on the bottom panel to Copy the selected List item(s) to the clipboard, or to copy the selected unit path(s) to the clipboard, or to copy the selected unit FILES to the clipboard • SearchPath: Add a custom list of user paths • Add a Statusbar to the UCM window which displays the file-path of a single selected unit; then a Ctrl-click on the statusbar opens Windows Explorer at the location of the selected unit and selects the unit file in Windows Explorer.
  2. PeterPanettone

    Improvements in Uses Clause Manager Identifier Search

    Maybe you are wrong in believing that there are many people using slower computers. I believe that there are more people using faster computers than people using slower computers. Technically advanced computers nowadays are very cheap and many people can afford them. In the German Democratic Republic of Eastern Germany (GDR) there was a very funny car model: The "Trabi" ("Trabant") which was very popular because it was the only model available (from 1957 to 1990) in the communist country. It would be somewhat irrational assuming that a considerable number of people are still using the "Trabi" in their everyday life today. So a company dealing with "Trabi" replacement parts today would soon go out of business. There is much more money to be made with modern cars simply because most people are using modern cars. So, supporting Delphi 6 is a kind of nostalgic behavior, but has no real business value today.
  3. PeterPanettone

    Improvements in Uses Clause Manager Identifier Search

    Writing the whole text in uppercase letters nowadays would be really stupid. This has been done in prehistoric times out of necessity to increase the visibility of text on a computer screen because there was no technical possibility to do this otherwise on the very primitive computers of that prehistoric time. Then when text styles like Bold, Italic, etc. were invented and it became possible to use different font sizes, some people continued to constantly use their caps-lock key out of habit which was justly considered as impolite to do this. HOWEVER, writing single important words in uppercase is a way to rhetorically EMPHASIZE meaningful words in a text phrase. So, using rhetoric tools to add color and diversity to a spoken or written text is a very important cultural behavior. That's the reason why many people often fall asleep listening to or reading a text from a bad speaker or a bad writer. EMPHASIZING is important! It has nothing to do with "shouting".
  4. PeterPanettone

    Improvements in Uses Clause Manager Identifier Search

    OK, I will do that.
  5. PeterPanettone

    Improvements in Uses Clause Manager Identifier Search

    That would be very CONFUSING for the user: Showing "matches at the start first even in "match anywhere" mode": The user would think: Why are there only matches at the start if the option to start matches anywhere is selected? I am not sure, maybe you mean something different. You could make the "match at start" option the DEFAULT option, if you prefer that. BTW, do you have a slow computer? Then why should users with a fast computer SUFFER only because the programmer has a slow computer? This seems to be ILLOGICAL. But maybe this is only a misunderstanding.
  6. PeterPanettone

    Improvements in Uses Clause Manager Identifier Search

    I suggest using TParallel.For with conditional compilation to restrict filter performance optimization to newer versions, so Delphi 6 and Delphi 2007 won't be affected.
  7. I have implemented and then expanded the feature of exporting the list of units a project uses explicitly and implicitly in GExperts: First, you need to activate the creation of a Map file in the Project Options: Then you need to activate the corresponding option in the Uses Clause Manager Configuration settings: Build your project and then, in the GExperts Uses Clause Manager, open the Project tab. 1. Click the "Copy/Save List" button to copy the list of Project Units to the clipboard. 2. Hold down the CTRL modifier key while clicking the button to save the list to Disk instead. 3. Click on the DropDown part of the button to dropdown the menu containing the same actions. Since Thomas is busy until weekend, here are the units containing my implementation (so you can build GExperts with this feature) : GX_UsesExpert2.zip
  8. PeterPanettone

    Uses Clause Manager in Tree in r2809

    I have compiled GExperts 1.3.14 build 80 (r2809) in Delphi 10.3.1 : Searched for identifier "newshortcut" in Uses Clause Manager: As you can see in the above screenshot, nothing was found. Then I searched in RFindUnit 1.2.0 and found several identifiers: So why GExperts couldn't find these identifiers? Please have a look at RFindUnit at GitHub - it has a lot of useful features: https://github.com/rfrezino/RFindUnit Unfortunately, the author has abandoned the project. Please ask him whether you can use the source code in the GExperts Uses Clause Manager.
  9. PeterPanettone

    Uses Clause Manager in Tree in r2809

    MAD PEOPLE certainly should not participate in an IT forum. MAD PEOPLE should rather search for psychiatric help, maybe in a psychotherapeutic forum where they can criticize each other for writing too much.
  10. PeterPanettone

    Uses Clause Manager in Tree in r2809

    You really mix up WhatsApp and delphi praxis forum. Don't you know what a forum is used for? Please don't annoy forum users.
  11. PeterPanettone

    Uses Clause Manager in Tree in r2809

    It would be useful if the user could add a list of custom paths to this "Search Path". (Like with the MMX Indexer)
  12. PeterPanettone

    Uses Clause Manager in Tree in r2809

    BTW, the first page in UCM is "Search Path": Is this the correct term? Shouldn't it be "LIBRARY PATH"?
  13. PeterPanettone

    Uses Clause Manager in Tree in r2809

    I couldn't wait, so I implemented the Copy Project Units List myself: The code is very simple: If you like, the button will save the list to a text file instead (in a save dialog), if the CTRL key is pressed while clicking. I have sent you the modified source in a personal message.
  14. PeterPanettone

    Uses Clause Manager in Tree in r2809

    I will do that, but useful ideas from other users could also arise here which could be added to the sf.net ticketing system later.
  15. PeterPanettone

    Uses Clause Manager in Tree in r2809

    If the user has activated the map file usage for UCM (and activated map file creation in the project options) then the list of the project units in UCM contains all units the project uses EXPLICITLY and IMPLICITLY: This list can be quite USEFUL. So please add a button in the Project tab to copy/save this list. This would be very useful!
  16. PeterPanettone

    Uses Clause Manager in Tree in r2809

    BTW, in the UCM configuration options there should be a warning when the user activates the "Read project units from map file rather than .dpr" checkbox (otherwise he would not see any units from the map file): The warning message should say: "Please make sure to activate the Map file creation in the Project options".
  17. PeterPanettone

    Uses Clause Manager in Tree in r2809

    The GExperts UCM has the advantage to open the unit with the selected identifier in the IDE, so the user can inspect it: Unfortunately, RFindUnit does not have this feature. So, in my Christmas wishlist I have inserted a GExperts UCM which has all the other features of RFindUnit.
  18. PeterPanettone

    Uses Clause Manager in Tree in r2809

    You can process the DCU files whenever you want, MANUALLY: It says: "This command will list all the DCUs files that you don't have access to .PAS and process it to make it available for search." PS: And it would be easy to make it process only those .DCU files where there is no .PAS file with the same name.
  19. PeterPanettone

    Uses Clause Manager in Tree in r2809

    There is absolutely NO logic in searching only for identifiers STARTING with the search term. Searching for identifiers CONTAINING the search term is the sensible way to go. Or you could add an option radio choice "Starts/Contains the search term".
  20. PeterPanettone

    Uses Clause Manager in Tree in r2809

    RFindUnit finds madShell.newShortCut - so UCM should also find it. Why it doesn't?
  21. PeterPanettone

    Uses Clause Manager in Tree in r2809

    Here are the settings: As you can see, the "Parse all units" option is checked. PS: I have also cleared and rebuilt the UCM cache. Still no results for "newshortcut" yet. (However, a search for "newcolor" got 6 results).
  22. PeterPanettone

    Issues in Unit Dependency Analyzer

    1. The Unit Dependency Analyzer lists both Classes and System.Classes: Isn't there an option to suppress these multiple unit names which differ only by namespace? (The preference should be given to fully qualified namespace). 2. As you can see from the above screenshots, both are indicated as "no source found": This is strange, as the source file is located here and should be found: c:\program files (x86)\embarcadero\studio\18.0\source\rtl\common\System.Classes.pas MMX13 in Delphi 10.1 Berlin
  23. PeterPanettone

    Issues in Unit Dependency Analyzer

    BTW, in the Dependency Analyzer Settings, in the Compiler version dropdown menu there are only Win32 compiler versions listed: Why are there no Win64 compiler versions listed, as my project is for the Win64 platform?
  24. Does anybody know an IDE addin that can create a project-wide uses-clause report, i.e. a report containing all uses-clause unit-names from all units in the project (without doubles)? For example: Unit1 contains this uses clause: uses Winapi.Messages, System.Variants, System.Classes, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, AdvEdit, AdvEdBtn; Unit2 contains this uses clause: uses Vcl.Controls, Vcl.Forms, Vcl.Dialogs, AdvGlowButton, Vcl.ExtCtrls; The report would then contain: Winapi.Messages, System.Variants, System.Classes, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, AdvEdit, AdvEdBtn, Vcl.ExtCtrls, AdvGlowButton;
  25. PeterPanettone

    IDE addin for project-wide uses clause report?

    Thanks to all!
×