| Autor |
Beitrag |
TornadoakaKasin
Hält's aus hier
Beiträge: 8
|
Verfasst: Di 17.02.09 15:13
Jo Hey..
Über SuFu hab ich erstmal nichts gefunden deswegen frag ich lieber nach
Also..
Ich möchte ein Programm starten aber OHNE einen Pfad anzugeben sprich das Programm
soll sich die Dateien aus den Ordner suchen in dem er sich befindet (Soll nur ein Beispiel sein)
Sprich..
Geht das mit ShellExecute weil bisher musst ich ein Pfad dafür angeben
und dies war nicht grad mein Freund!
Das würde mir sehr viel Arbeit abnehmen
MfG Tornado aka Kasin ft. Kenru Moderiert von Narses: Topic aus Sonstiges (Delphi) verschoben am Di 17.02.2009 um 15:17
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Di 17.02.09 15:16
Ich bin mir nicht sicher, aber eventuell hilft dir ExtractFileDir(ParamStr(0)) weiter. Damit bekommst du den Ordner heraus, in dem dein Programm liegt.
_________________ We are, we were and will not be.
|
|
TornadoakaKasin 
Hält's aus hier
Beiträge: 8
|
Verfasst: Di 17.02.09 15:20
Und wo soll ich den genau einfügen??
ShellExecute(Application.Handle, 'open', PChar('Dasist ja der Pfad..'),
Nil, Nil, SW_NORMAL);
Muss ich den mit dem Pfad ersetzen?
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Di 17.02.09 15:24
Shellexecute erwartet nunmal einen vollständigen Pfad. Wenn du den nicht direkt hast, musst du (bzw. dein Programm) ihn zusammenbasteln aus den Informationen, die du so hast.
Wenn du z.B. ein anderes Programm ausführen willst, von dem du den Dateinamen kennst und die Tatsache, dass es sich im selben Verzeichnis befindet wie dein Programm, dann bekommt man den vollständigen Pfad über
Delphi-Quelltext 1: 2:
| ExtractFileDir(ParamStr(0)) + 'Anderes_Programm.exe'; |
_________________ We are, we were and will not be.
|
|
TornadoakaKasin 
Hält's aus hier
Beiträge: 8
|
Verfasst: Di 17.02.09 15:30
Naja
| Zitat: | | [Fehler] Unit2.pas(41): Anweisung erforderlich, aber Ausdruck vom Typ 'String' gefunden |
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Di 17.02.09 15:37
Die Grundlagen sind dir aber schon klar, oder? Mit der Zeile, die ich gepostet habe bekommst du den vollständigen Dateinamen. So alleine darf der in einem Programm natürlich nicht stehen. Das sagt dann auch die Fehlermeldung: Das ist einfach ein String, aber es wird eine Anweisung erwartet.
Was soll er denn mit dem Pfad machen?
_________________ We are, we were and will not be.
|
|
TornadoakaKasin 
Hält's aus hier
Beiträge: 8
|
Verfasst: Di 17.02.09 15:46
Er soll eine .EXE starten..
Naja bin noch soziemlich neu in Delphi..
Danke schonmal
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Di 17.02.09 15:56
Das tust du mit ShellExecute.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 17.02.09 19:05
Mal ein wenig ausführlicher:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| var sPfad: string; begin sPfad := ExtractFilePath(ParamStr(0)) + 'Anwendung.exe'; if ShellExecute(Handle,'open',PChar(sPfad),nil,nil,SW_SHOWNORMAL) < 33 then MessageBox(Handle,'Fehler beim Starten des Programms','Oha',MB_OK or MB_ICONERROR); end; |
|
|