AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte UnitOptimizer
Thema durchsuchen
Ansicht
Themen-Optionen

UnitOptimizer

Ein Thema von stahli · begonnen am 25. Mai 2018 · letzter Beitrag vom 31. Okt 2021
Antwort Antwort
Seite 18 von 25   « Erste     8161718 1920     Letzte »    
Benutzerbild von stahli
stahli
Registriert seit: 26. Nov 2003
Ich bin dabei, ein Tool aufzubauen, das Units sortiert und Code ergänzt.

Es ist quasi eine Klassenvervollständigung, Codeformatierung und Codesortierung in einem.

Hier mal ein aktueller Zwischenstand als Video: https://youtu.be/cfKa3wuoEd0

Eine direkte Codeformatierung (Einrückung) habe ich noch nicht drin, will das aber auch noch ergänzen. Die anderen Features gehen für mich aber vor.

Die Abkürzung "prop" könnte man auch mit "property" ausschreiben lassen. Ebenso sind optional andere Voreinstellungen möglich, wenn dies gewünscht würde. Ich bin zunächst erst einmal von meinen Wünschen ausgegangen.

Ich würde das später sehr gern kommerziell anbieten, wenn es Nachfrage gibt.
Für öffentliche Tests ist es noch etwas früh. Dazu muss ich noch einiges ausbauen und ausbessern.
Sofern jemand Erfahrungen mit den OTA hat und daran mitarbeiten möchte, dann gebt Bescheid...



Ich hatte dazu schon einen Thread, der sich aber speziell auf die Interface-Unterstützung bezogen hatte. Da das Tool aber Units allgemein bearbeitet habe ich hier einen neuen Thread eröffnet.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
 
venice2
 
#171
  Alt 13. Sep 2020, 09:49
Mal eine ketzerische Frage.
Das Teil scheint mir schwer überladen, braucht man so etwas?
Die IDE ist ja eh schon träge und mit dem Teil fast un-bedienbar so wie im Video suggeriert.

Zitat:
Da passiert ja viel live. Was passiert da eigentlich bei einem großen Projekt? Da ist das ja gar nicht in der Form möglich, wenn da tausende Units im Projekt sind, denn da dauert die Suche ja eine Weile
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 11 Alexandria
 
#172
  Alt 13. Sep 2020, 11:05
@jaenicke

Das Formular für die Vollsuche ist auch dockbar.
Das Styling passt dann nicht ganz, die Darstellung anders ausfällt als im nicht gedockten Modus. Irgendwie sind da auch die Abständer der Controls anders.
Die Buttons muss ich dann noch etwas anders anordnen (GridPanels passen optisch nicht im Docking-Modus) und meine Slider (basierend auf Frames) passen auch nicht optimal ins Bild.

Man muss den Desktop einmal nach Wunsch einstellen (incl. Position und auch Sichtbarkeit der Formulare) und speichern.


Mit tausenden Units habe ich keine Erfahrungen. Ich habe schon versucht, das zu optimieren.
So wird grundsätzlich erkannt, wenn man etwas in einem Editor ändert und dann nur die Suche dieser Unit aktualisiert.
An ein paar Schrauben muss ich noch drehen, aber grundsätzlich gibt es da schon Unterscheidungen.
Wenn das so noch nicht reicht und keine Lösung zu finden ist, könnte man die Syncronisatzion bei zu vielen Units ggf. auch optional ausschalten.

Da müsste man sich dann halt mal ran tasten.


@venice2

Was findest Du unbedienbar?

Ich merke da keine Einschränkungen (abgesehen, dass es noch unfertig ist).
Es soll dann die normal Suche einfach ersetzen und dann wäre das 1:1 zu benutzen.

Die neue Suche hat sich als notwendig ergeben, weil ich den Code ja komfortabler formatieren möchte.

Statt:
Code:
var
  I: Integer:
  FirstName: String;
soll dann do etwas unterstützt werden:
Code:
var
  I        : Integer:
  FirstName: String;
(Das ist weiter oben schon alles beschrieben.)

Wenn man dann mit der normalen Suche "I: Integer" sucht, findet man das nicht mehr.
Wenn man also so eine Formatierung möchte, braucht man eine angepasste Suche.


Eigentlich wollte ich zunächst nur eine bessere Interface- und Klassenvervollständigung.
In die anderen Themen bin ich dann so reingerutscht...
Miniaturansicht angehängter Grafiken
13-09-_2020_10-43-36.jpg  

Geändert von stahli (14. Sep 2020 um 11:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 11 Alexandria
 
#173
  Alt 14. Sep 2020, 15:30
Also das abweichende Design liegt an den zwei eingesetzten GridPanels und den 2 Frames.

Dann werde ich mal in den sauren Apfel beißen und
- die Buttons in Panels setzen und die Ausrichtung selbst berechnen
- statt den Frames eigene Controls bauen.

(Ein kleiner Test lässt vermuten, dass es dann passen sollte.)

Immer wieder stößt man auf unnötige und unverständliche Probleme...
Miniaturansicht angehängter Grafiken
14-09-_2020_15-15-47.jpg   14-09-_2020_17-02-06.png  

Geändert von stahli (14. Sep 2020 um 17:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 11 Alexandria
 
#174
  Alt 14. Sep 2020, 20:12
Ich habe es jetzt hinbekommen.
(Die Inhalte aus den Frames habe ich jetzt einfach direkt auf ein Panel gesetzt und dieses dann über Änderung des Parents verschoben.)

Ist aber schon fragwürdig, dass es solche abweichenden Darstellungen gibt.
Miniaturansicht angehängter Grafiken
14-09-_2020_17-54-29.png  
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

 
Delphi 12 Athens
 
#175
  Alt 14. Sep 2020, 21:51
Stahli, ich muss dir ein großes Kompliment geben. Es ist schon beeindruckend, was man so machen kann, wenn man sich mit OTA beschäftigt. Hut ab.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 11 Alexandria
 
#176
  Alt 11. Okt 2020, 23:29
Nochmal ein neuer Stand: https://youtu.be/927qq5DWZS4

Hat jemand eine Idee, wie eine komplexe Suchen- und Ersetzen-Funktion aussehen könnte?
Miniaturansicht angehängter Grafiken
11-10-_2020_23-28-51.jpg  
  Mit Zitat antworten Zitat
stifflersmom

 
Delphi 10.2 Tokyo Professional
 
#177
  Alt 12. Okt 2020, 07:58
Erst einmal, oder noch einmal: Respekt für dieses Projekt!

Tatsächlich muss ich aber sagen, dass mich die Komplexität der ganzen Möglichkeiten, die Du jetzt ermöglichst bzw. ermöglichen willst, schon fast erschlägt.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 11 Alexandria
 
#178
  Alt 12. Okt 2020, 09:58
Ja, das kann ich verstehen. Geht mir gerade auch so.
Eine gute Lösung will (muss) ich aber finden...

Ich versuche das mal zusammenzufassen:

Ursprünglich wollte ich nur eine bessere Klassen- und Interfacevervollständigung auf Knopfdruck und eine Sortierung der Units.

Da ich dafür ohnehin die komplette Unit zerlegen und neu zusammenbauen muss, kam ich auf die Idee, auch einen neuen Formatter einzubauen, der einige sinnvolle Optionen anbietet.
Nachher kamen dort noch die virtuellen Tabs hinzu, so dass Code untereinander ausgerichtet werden kann.

Die drei Dinge will ich nun UNBEDINGT!

Dann hat sich herausgestellt, dass die normale Suchfunktion mit unterschiedlichen Einrückungen nicht wirklich klar kommt.

Entsprechend habe ich versucht, da auch eine Lösung zu finden.

Bis hierher (was ich bisher so gezeigt hatte) finde ich das auch praktikabel und deutlich übersichtlicher als die normale Suche. Es gibt die schnellsuche in der aktuellen Unit oder eine Vollsuche in vielen Units.

Die Suchergebnisse werden m.E. besser aufbereitet und der Vorgang der Suche ist etwas angenehmer.
Wenn man ein Wort oder einen einfachen Ausdruck sucht hat man keine Nachteile und etwas hübschere Ergebnisse.

Man kann aber auch komplexere Einstellungen vornehmen - wenn man es halt braucht. Hier erkenne ich auch noch keinen Nachteil.


Wo ich jetzt auch nicht weiter komme ist halt eine komplexere Suche (mit Einstellungen pro Suchwort) und das vor allem das Suchen&Ersetzen.

Die Möglichkeit, für jedes Suchwort individuell Sucheinstellungen vorzugeben, ist sicherlich idR verzichtbar. Andererseits braucht man ja keine individuellen Einstellungen pro Wort vornehmen, wenn man es nicht braucht.

Das Suchen&Ersetzen muss ich aber schon irgendwie ermöglichen, wenn ich die originalen Suchen-Formulare ersetzen will...


Da ich Klassenvervollständigung, Unitsortierung und Formatierung mit virtuellen Tabs UNBEDINGT will, muss ich eine gute Lösung für das Suchen bzw. Ersetzen finden.

Mein ursprüngliches Anliegen war das nicht, aber jetzt ergibt sich doch die Notwendigkeit und ein Großteil funktioniert ja auch schon ganz gut.

Geändert von stahli (12. Okt 2020 um 10:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 11 Alexandria
 
#179
  Alt 28. Okt 2020, 00:28
Hallo zusammen,

ich bin jetzt auf dem Weg, das Tool real einzusetzen und stoße nach und nach noch auf einige Dinge, die ich noch anpassen muss oder sollte.
Insgesamt läuft es aber schon ganz gut und vor allem stabil!

Ich will Euch mal fragen, wie Ihr die Formatierung der Case-Anweisung sehen würdet bzw. welche Optionen Ihr dazu für wünschenswert haltet.
In der Beziehung bin ich selbst nicht ganz schlüssig.
Vor allem weiß ich natürlich auch nicht, welche Formatierungen (Einrückungen, mit oder ohne Umbrüche) da so im Umlauf sind und auf welche "Überraschungen" sich das Tool einstellen muss.

Ein paar Rückmeldungen und Vorschläge würden mir sehr helfen...

Video: https://youtu.be/Q2All1u5T0M (10 Min)
Miniaturansicht angehängter Grafiken
27-10-_2020_23-07-17.png  
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

 
Delphi 10.4 Sydney
 
#180
  Alt 28. Okt 2020, 09:52
Ich will Euch mal fragen, wie Ihr die Formatierung der Case-Anweisung sehen würdet bzw. welche Optionen Ihr dazu für wünschenswert haltet.
In der Beziehung bin ich selbst nicht ganz schlüssig.
Servus und Gratulation zu diesem schönen Projekt!

In meiner Erfahrung hat es sich als vorteilhaft gezeigt, wenn bei den Schleifen und Verzweigungen _immer_ begin und end dazugeschrieben werden. So kann man sich blind darauf verlassen.

Daher mein case-Vorschlag :

Delphi-Quellcode:
case Bedingung of
  1:
    begin
      Tuwas;
    end;
  2:
    begin
      Abwarten;
    end;
  else
    begin
      MachNix;
    end;
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 18 von 25   « Erste     8161718 1920     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz