AGB  ·  Datenschutz  ·  Impressum  







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

Notepad aufrufen

Ein Thema von hsbc · begonnen am 1. Nov 2005 · letzter Beitrag vom 25. Mär 2012
Antwort Antwort
Seite 1 von 2  1 2      
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#1

Notepad aufrufen

  Alt 1. Nov 2005, 16:46
Hallo allerseits,

wie kann ich notepad.exe mit einer Textdatei aus meiner Delphi-Application heraus so aufrufen, dass

o dies mit jeder Windows-Version funktioniert
o mein Hauptprogramm erst nach Beendigung von notepad weiterläuft
o ich ev. eine Information von notepad bekomme, ob die damit aufgerufene Textdatei geändert wurde

mfg
Herbert
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Notepad aufrufen

  Alt 1. Nov 2005, 16:54
ShellExecute(Application.Handle, 'open', PChar('notepad '+filename), Nil, Nil, SW_NORMAL); filename ist der Name der aufzurufenden Datei. Bevor du das machst, kannst du den Inhalt der Datei in einer Variable abspeichern. Nach dem das Notepad geschlossen ist, kannst du den Inhalt nochmal überprüfen und dann nachschauen, ob der neue Inhalt sich vom gespeicherten unterscheidet. Das heißt, es wurde geändert.

Das mit dem Hauptprogramm, das erst nach Beendigung des Notepads weitergeht müsste man irgendwie mit Handles hinkriegen, aber da kenne ich mich nicht so aus.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Notepad aufrufen

  Alt 1. Nov 2005, 17:00
Du musst noch in die Uses liste "ShellApi" eintragen! Sonst funzt das nicht!

Robin
Robin W.
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#4

Re: Notepad aufrufen

  Alt 1. Nov 2005, 17:02
Und die Parameter (hier der Dateiname) werden vom Programm getrennt:
ShellExecute(Application.Handle, 'open', PChar('notepad.exe'), PChar(filename), Nil, SW_NORMAL);
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#5

Re: Notepad aufrufen

  Alt 1. Nov 2005, 17:05
Zum Warten gibt es ShellExecuteAndWaitShellExecuteAndWait.

Zitat:
ich ev. eine Information von notepad bekomme, ob die damit aufgerufene Textdatei geändert wurde
Ich würde einfach den Hash der Datei vor ShellExecute und danach vergleichen.

Zitat:
dies mit jeder Windows-Version funktioniert
Ich hoffe, Alles ab NT 4.0 reicht dir .

PS: Für Aufzählungen gibt es die List-Tags .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#6

Re: Notepad aufrufen

  Alt 1. Nov 2005, 17:40
Danke für eure Hilfe,

habe jetzt ShellExecuteAndWait genommen - funktioniert einwandfrei.

mfg
Herbert
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#7

Re: Notepad aufrufen

  Alt 1. Nov 2005, 17:51
Zitat von hsbc:
o mein Hauptprogramm erst nach Beendigung von notepad weiterläuft
Da musst du einfach überprüfen, ob notepad.exe aktiv ist! Also du musst prüfen ob notepad einer der laufenden prozesse ist und wenn, dann sorgst du dafür, dass keine eingabe bei deinem Proggi möglich ist!
Problem hierbei: Das Programm ist auch lahmgelegt, wenn man ganz normal notepad startet (aber da fällt dir bestimmt noch was ein)!
  Mit Zitat antworten Zitat
mz23
(Gast)

n/a Beiträge
 
#8

AW: Notepad aufrufen

  Alt 25. Mär 2012, 13:07
Sind die Dateien mit Erweiterung *.txt mit dem NotePad.exe
verknüpft, dann genügt auch folgender Aufruf, um NotePad
mit der Datei zu öffnen.

ShellExecute(Application.Handle,
PChar(''),
PChar('C:\Users\Documents\Beispiel.txt'),
nil,
nil,
SW_SHOWNORMAL);

Schöne Grüße aus Nürnberg,
Manfred
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Notepad aufrufen

  Alt 25. Mär 2012, 13:13
Oder halt ein anderes mit der Endung verknüpftes Programm. Soll es Notepad sein, ist diese Lösung dann nicht geeignet
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Notepad aufrufen

  Alt 25. Mär 2012, 14:07
Besser nil statt PChar('') , denn das ist nicht das Selbe und nur nil ist als "nicht verwendet" deklariert, bei dieser Funktion.

Oder 'open' , bzw. PChar('open') , denn das ist ja die gewünschte Aktion, aber (meistns) reicht auch nil, denn "open" ist standardmäßig die Standardaktion.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (25. Mär 2012 um 14:09 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:07 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