Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Suche nach Date (https://www.delphipraxis.net/148522-suche-nach-date.html)

knochen 3. Mär 2010 14:41


Suche nach Date
 
Hallo zusammen,

wie kann ich in meinen Quelltexten alle Vorkommen von Date finden, die sich auf SysUtils beziehen?
Was sich so einfach anhört, ist für mich ein Problem.
Hintergrund: ich möchte eine Layerfunktion für Date() aus SysUtils schreiben.
Das Projekt ist sehr groß, besteht aus hunderten MB Code in hunderten von Projektdateien. Jetzt suche ich nach dem Text Date in allen Dateien und habe ca. 2500 Fundstellen in knapp 300 Dateien. Da finden sich natürlich auch solche Sachen wie Datetimepicker.Date oder EigeneKlasse.Date oder das Wort Date in einer SQL Anweisung oder das Wort Date, das als Parameter einer Funktion entgegengenommen wurde, oder das Wort Date, das sich auf ein with Objekt do bezieht usw. Es ist wirklich zu unübersichtlich, und darum möchte ich nur diejenigen Dates finden, die sich auf SysUtils beziehen. Jemand eine Idee?

Vielen Dank im Voraus

himitsu 3. Mär 2010 14:44

Re: Suche nach Date
 
Du könntest auch einfach nach "Date(" suchen :angel:

knochen 4. Mär 2010 06:49

Re: Suche nach Date
 
Ja, könnte ich machen. Dann finde ich die ganzen Sachen wie EncodeDate, WriteDate, StrTo Date etc., aber kaum das wonach ich gesucht habe. Das ist nicht des Rätsels Lösung. Was ich möchte, ist (relativ) zuverlässig das gewünschte zu finden. Noch Ideen?

jfheins 4. Mär 2010 07:17

Re: Suche nach Date
 
Guck mal ob das geht: http://www.delphi-treff.de/tutorials...toring/page/4/

knochen 4. Mär 2010 07:51

Re: Suche nach Date
 
Danke für den Tipp, aber das geht bei uns auch nicht. Zum Einen haben wir noch Delphi 7 ohne diese schönen Refactoring Features. Zum Anderen geht das, wenn ich es richtig verstanden habe, nur in der aktuell geöffneten Datei. Bei uns sind das wie gesagt 100e dprs, 100e MB Code in 1000en Units, die ich idealerweise auf einen Schlag erwischen möchte.

himitsu 4. Mär 2010 08:06

Re: Suche nach Date
 
Du kannst bei der Suche auch reguläre Ausdrücke verwenden.
Zitat:

[^a-z]date\(

SirThornberry 4. Mär 2010 09:28

Re: Suche nach Date
 
Ein Problem bleibt trotzdem immer noch. Bei der Suche kann nicht festgestellt werden aus welcher Unit der verwendete Befehl ist denn das ist abhängig davon in welcher Reihenfolge die units in der entsprechenden Datei eingebunden wurden.
Wenn dein Projekt wirklich so groß ist, ist es vielleicht das schnellste für deinen Zweck ein kleines Tool zu schreiben welches diese Aufgabe übernimmt.

himitsu 4. Mär 2010 10:19

Re: Suche nach Date
 
Nja, immerhin ist so das Suchergebnis schonmal stärker eingeschränkt.


Es scheinen ja mehrere Projekte (DPRs) zu sein und da spielt dann nicht nur die Reihenfolge der Units in den Usesklauseln eine Rolle, sondern auch noch die jeweiligen Projektoptionen, wie z.B. die Suchpfade.

Heißt also, wenn eine Unit in mehreren Projekten verwendet wird, dann kann das Ziel eines Funktionsaufrufes darin, je nach Projekt(optionen) unterschiedlich sein.

Darum ist eine derartige Suche wohl auch immer nur im Kontext des aktuell geladenen Projektes möglich
und bei einer globalen Suche kann soeine Abhängigkeit einfach nicht (sicher) festgelegt werden.

knochen 4. Mär 2010 10:51

Re: Suche nach Date
 
Zitat:

Ein Problem bleibt trotzdem immer noch. Bei der Suche kann nicht festgestellt werden aus welcher Unit der verwendete Befehl ist
denn das ist abhängig davon in welcher Reihenfolge die units in der entsprechenden Datei eingebunden wurden.
Darum ist eine derartige Suche wohl auch immer nur im Kontext des aktuell geladenen Projektes möglich
Absolut Nein.


Zitat:

Nja, immerhin ist so das Suchergebnis schonmal stärker eingeschränkt.
Du kannst bei der Suche auch reguläre Ausdrücke verwenden.
Darum geht es nicht. Es geht darum, die Stellen zuverlässig zufinden und die Nicht-Fundstellen zuverlässig nicht zu finden. Soll heißen: Trefferquote idealerweise 100%


Zitat:

Wenn dein Projekt wirklich so groß ist, ist es vielleicht das schnellste für deinen Zweck ein kleines Tool zu schreiben welches diese Aufgabe übernimmt.
Ich fürchte, darauf wird's hinauslaufen. Dankeschön.

ele 4. Mär 2010 11:40

Re: Suche nach Date
 
Ist vielleciht einwenig unorthodox, aber ich würde in Erwägung ziehen, die funktion SysUtils.Date zu hooken. Damit musst du die Aufrufe nicht abändern und erwischst auch noch eventuelle Aufrufe in Komponenten von drittherstellern, deren Source du nicht abändern kannst oder möchtest.

Zum Thema Hooking selber kann ich leider nicht viel anbieten, da ich selbst kaum Erfahrung damit habe, aber ich habe schon entsprechende Artikiel hier im Forum gesehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:38 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