Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Delphi öffnen und an bestimmte Zeile springen lassen (https://www.delphipraxis.net/146564-delphi-oeffnen-und-bestimmte-zeile-springen-lassen.html)

Die Muhkuh 22. Jan 2010 16:42


Delphi öffnen und an bestimmte Zeile springen lassen
 
Hi,

ist es möglich über ShellExecute o.Ä. eine .pas zu öffnen bzw. Delphi, dass dann die .pas lädt und die Ansicht auf eine bestimmte Zeilennummer zu verschieben?

Gesucht für Delphi 2009.

Es geht drum, dass ich in Suchtool habe, dass in Delphi-Dateien nach bestimmten Dingen sucht, per Doppelklick auf ein Suchergebnis (die Zeile, wo das Suchwort steckt, hab ich) soll nun Delphi geöffnet werden bzw. das offene Delphi die Datei laden und in diese Zeile springen.

toms 23. Jan 2010 09:07

Re: Delphi öffnen und an bestimmte Zeile springen lassen
 
Wahrscheinlich nur über diesen Weg:

1. Delphi starten (CreateProcess)
2. WaitForInputIdle3ew
3. TEditControl finden
4. Alt+G simulieren
5. Zeilennummer simulieren
6. Enter simulieren


Andere Idee: Delphi merkt sich doch die Zeilenummer beim Schließen einer Datei, vielleicht kann man diese vor dem Öffnen einer Datei setzen?
(kann jedoch nicht sagen, wo diese gespeichert wird)

Die Muhkuh 23. Jan 2010 09:10

Re: Delphi öffnen und an bestimmte Zeile springen lassen
 
Hi,

Zitat:

Zitat von toms
Wahrscheinlich nur über diesen Weg:

1. Delphi starten (CreateProcess)
2. WaitForInputIdle3ew
3. TEditControl finden
4. Alt+G simulieren
5. Zeilennummer simulieren
6. Enter simulieren

Das wäre eine Möglichkeit, muss nur mal schauen, wie es ist, wenn Delphi schon läuft, soll ja nicht noch mal ein neues gestartet werden, sondern das vorhandene genommen werden.

Zitat:

Zitat von toms
Andere Idee: Delphi merkt sich doch die Zeilenummer beim Schließen einer Datei, vielleicht kann man diese vor dem Öffnen einer Datei setzen?
(kann jedoch nicht sagen, wo diese gespeichert wird)

Das wäre natürlich auch nett, vielleicht findet man es per RegMon raus, ich schau später mal.

Falls jemand noch weitere Ideen hat, sie sind immer willkommen

toms 30. Jan 2010 07:05

Re: Delphi öffnen und an bestimmte Zeile springen lassen
 
Hast du schon etwas herausgefunden?

himitsu 30. Jan 2010 07:28

Re: Delphi öffnen und an bestimmte Zeile springen lassen
 
Zitat:

Zitat von toms
Hast du schon etwas herausgefunden?

Delphi speichert diese Zeile entweder in der Registry (da müßte man wohl nur mal etwas nach dem Dateinamen suchen) oder in einer der vielen Dateien, welche es neben der Projektdatei noch ablegt (wenn man diese löscht und die Position ist weg, dann steht es wohl in der gelöschten Datei).

toms 30. Jan 2010 08:10

Re: Delphi öffnen und an bestimmte Zeile springen lassen
 
Zitat:

Zitat von himitsu
Delphi speichert diese Zeile entweder in der Registry (da müßte man wohl nur mal etwas nach dem Dateinamen suchen) oder in einer der vielen Dateien, welche es neben der Projektdatei noch ablegt (wenn man diese löscht und die Position ist weg, dann steht es wohl in der gelöschten Datei).

In der Registry habe ich nichts gefunden, auch wenn alle Dateien außer dfm, dpr, pas gelöscht werden ist die Position nicht weg. Auch der Process Monitor brachte keine Erkenntnisse.

himitsu 30. Jan 2010 08:38

Re: Delphi öffnen und an bestimmte Zeile springen lassen
 
Probier mal die Einträge in (für D2009)
HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Closed Files

Problem scheint aber zu sein, daß Delphi dieses zwischenspeichert
> nur beim Start ausließt und erst beim Beenden dort speichert

Es ginge also nicht, wenn die IDE schon läuft.


Zitat:

Process Monitor
Mir würde es gefallen, wenn man die Treiber von RegMon und FileMon (ebenalls von Sysinternals) selber nutzen könnte.

Die Logfiles von denen zu parsen ist etwas blöd, vorallem da diese Programme die Liste erstmal im RAM behalten, was dann voll blöd ist, wenn man längere Zeit etwas mitverfolgen möchte.


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