AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Passende Unit zur Funktion finden

Ein Thema von Harry Stahl · begonnen am 17. Aug 2015 · letzter Beitrag vom 19. Aug 2015
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#1

Passende Unit zur Funktion finden

  Alt 17. Aug 2015, 22:22
Mit der wachsenden Zahl der Funktionen und Units ist es manchmal gar nicht so einfach auf Anhieb die richtige Unit zu finden.

Man kennt vielleicht den Namen der Funktion oder den benötigten Datentyp, aber welche Unit muss ich dafür noch mal einbinden?

Auf Stack Overflow habe ich diese Ausführungen (noch zu Delphi 2010) gefunden:

http://stackoverflow.com/questions/9...or-delphi-2010

Gibt es heute (8 Delphi-Versionen weiter) immer noch keine in Delphi eingebaute Funktion, welche mir die Arbeit abnimmt? Oder habe ich hier etwas übersehen?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Passende Unit zur Funktion finden

  Alt 17. Aug 2015, 22:31
Ja, hast du

SHIFT+STRG+A (und auf SO wird doch auch das Refactoring angesprochen, das ist jetzt nur der Shortcut für diese Funktion Refactor/Unit suchen...)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (17. Aug 2015 um 22:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Passende Unit zur Funktion finden

  Alt 17. Aug 2015, 22:41
OK, das ist ja nur ein anderer (kürzerer Weg) für rechte Maustaste, Refactoring, Unit suchen.

Das kannte ich natürlich schon. Aber das bringt nur manchmal hilfreiche Ergebnisse (wenn, dann eher noch bei Datentypen).

Diese Funktion versagt aber schon bei einem einfachen

ShellExecute (was ShellApi wäre)

oder

TDirectory.GetFiles (was System.ioutils wäre)

Ich würde mal sagen, zu 90% kommt dabei nichts raus, so dass ich immer über die F1-Hilfe-Taste gehen muss, aber das dauert halt manchmal recht lange und ich muss dann die Unit manuell einfügen.

Edit: Mit Deiner Ergänzung haben sich unsere postings überschnitten...

Geändert von Harry Stahl (17. Aug 2015 um 22:44 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Passende Unit zur Funktion finden

  Alt 17. Aug 2015, 23:43
Mit der wachsenden Zahl der Funktionen und Units ist es manchmal gar nicht so einfach auf Anhieb die richtige Unit zu finden.
Wenn ich dich aufgrund deines zweiten Postings richtig verstanden habe, meinst du in der Hauptsache nicht eigene Funktionen bzw. Methoden, sondern die mitglieferten. Im diesem Fall schreibst du einfach den Namen der Funktion irgendwo in deinen Quelltext und drückst F1. Alternativ kannst du den gesuchten Methodennamen auch dort eingeben, da sind dann sogar Platzhalter erlaubt.

Ansonsten behelfe ich mir meist mit einer Dateisuche in meinem Projektordner via DateiCommander (ich verwende FreeCommander): einfach nach *.pas suchen und im Feld für den Textinhalt den Methodenbezeichner eingeben. Ebenso gehe ich vor, wenn ich die einzubindende Unit von Zusatz-Komponenten oder -Klassen suche, die sich bei mir immer ausnahmslos im öffentlichen Userordner unter Dokumente befinden. Letzteres klappt natürlich nur, wenn du über die entsprechenden Quellcodes verfügst (was bei mir z.B. bei IbDac nicht der Fall ist, da ich nur über die Basis-Version verfüge, aber da brauche ich auch nicht wirklich eine Suche, die kenn ich inzwischen in- und auswendig). Bei visuellen Komponenten braucht man das nicht, denn da werden die benötigten Units ja automatisch eingebunden – sehr hilfreich, wenn man an einer eigenen Klassenunit bastelt und darin diverse Komponenten erst zur Laufzeit erzeugen will.

Eine weitere Alternative wäre natürlich eine geeignete Code-Verwaltung, wie ich sie bereits vor Jahren für mich selbst entwickelt habe (als Teil einer dantenbankgestützten Projektverwaltung):
Angehängte Grafiken
Dateityp: jpg CodeVerwaltung.jpg (136,3 KB, 56x aufgerufen)

Geändert von Perlsau (17. Aug 2015 um 23:48 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Passende Unit zur Funktion finden

  Alt 18. Aug 2015, 07:34
Strg+Shift+A funktioniert nie auf Anhieb. Bei mir funktioniert es in 60% aller Fälle nach dem dritten mal, 30% nach dem fünften mal. Es ist komischerweise immer eine ungerade Zahl.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.490 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Passende Unit zur Funktion finden

  Alt 18. Aug 2015, 07:55
Wie wär's mit diesem Indexierungstool von Stevie?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Passende Unit zur Funktion finden

  Alt 18. Aug 2015, 08:09
Zitat:
Please don't bug me with any crash reports or feature requests, thanks!
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.490 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Passende Unit zur Funktion finden

  Alt 18. Aug 2015, 08:23
Zitat:
Please don't bug me with any crash reports or feature requests, thanks!
Das ist doch noch eine Alpha.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Passende Unit zur Funktion finden

  Alt 18. Aug 2015, 17:21
Wie wär's mit diesem Indexierungstool von Stevie?
Habe ich getestet, bzw. hätte ich gerne.

Ich habe es geschafft die Zip-Datei zu laden, alles zu entpacken und die Datei "CacheBuilder.exe" zu starten.

Ok, dann das Source-Verzeichnis von XE7 angegeben (C:\Program Files (x86)\Embarcadero\Studio\15.0\source) und etwas gewartet.

Aber dann?

Kann nicht erkennen, dass irgendwo eine typecache.dat erzeugt wurde (sollte angeblich im gleichen Verzeichnis wie die Exe sein). Jedenfalls, wenn ich die DelphiUsesHelper.bpl in Delphi hinzugefügt habe und Delphi neu gestartet habe, findet das Tool keine Units für die getesteten Funktionen.

Wird an der fehlenden typecache.dat Datei liegen.

Edit: OK, Die Exe-Datei musste beendet werden, dann wird die Typecache.dat erzeugt.

Edit2: Es werden hier keine Funktionen oder Prozeduren gescannt, sondern nur Typen. Aber auch da funktioniert die Suche nicht (was ich jetzt aber nicht weiter verfolgen werde, da ich ja neben den Typen auch Funktionen und Prozeduren haben wollte. Aber dennoch Danke für den Tipp).

Derzeit scheint die F1-Methode noch die Beste zu sein.

Geändert von Harry Stahl (18. Aug 2015 um 18:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.012 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: Passende Unit zur Funktion finden

  Alt 18. Aug 2015, 18:59
Zitat:
Please don't bug me with any crash reports or feature requests, thanks!
Ja, tut mir ja leid, aber zwischen DSharp, Spring4D, TestInsight und sonstigem Krams wollt ich mich nicht auch noch mit Support dafür belasten (zumals nur ebend so zusammen geklatscht war, da mir Ctrl+Shift+A auf die Nerven ging - sekundenlanges Warten, nee danke)

Es werden hier keine Funktionen oder Prozeduren gescannt, sondern nur Typen.
Richtig, das war in der Version so (consts, global vars und Routinen gehen aber bei mir auch ).

Aber auch da funktioniert die Suche nicht
Cursor auf nen Identifier - hotkey drücken, Unit wird aufgelistet (sofern das ein Typ ist). Das sollte funktionieren.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (19. Aug 2015 um 12:18 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:30 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