AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Delphi öffnen und an bestimmte Zeile springen lassen
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi öffnen und an bestimmte Zeile springen lassen

Ein Thema von Die Muhkuh · begonnen am 22. Jan 2010 · letzter Beitrag vom 30. Jan 2010
Antwort Antwort
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

Delphi öffnen und an bestimmte Zeile springen lassen

  Alt 22. Jan 2010, 17:42
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.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Delphi öffnen und an bestimmte Zeile springen lassen

  Alt 23. Jan 2010, 10:07
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)
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Delphi öffnen und an bestimmte Zeile springen lassen

  Alt 23. Jan 2010, 10:10
Hi,

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 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
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

Re: Delphi öffnen und an bestimmte Zeile springen lassen

  Alt 30. Jan 2010, 08:05
Hast du schon etwas herausgefunden?
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Delphi öffnen und an bestimmte Zeile springen lassen

  Alt 30. Jan 2010, 08:28
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).
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#6

Re: Delphi öffnen und an bestimmte Zeile springen lassen

  Alt 30. Jan 2010, 09:10
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.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

Re: Delphi öffnen und an bestimmte Zeile springen lassen

  Alt 30. Jan 2010, 09:38
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.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:54 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