Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Open Dialog (ShellExecute) Frage 2 (https://www.delphipraxis.net/7931-open-dialog-shellexecute-frage-2-a.html)

Trouble_Maker 24. Aug 2003 18:25


Open Dialog (ShellExecute) Frage 2
 
Hiho,
so nachdem ich jetzt weiss, wie man ein beliebiges Prog mit dem OpenDialog öffen kann, kommt meine zweite Frage:

Ich möchte nun, dass das Programm nicht sofort gestartet wird, sondern dass sich sozusagen das Prog nur die Exe und den Pfad "merkt".

Ich arbeite nämlich zurzeit wieder mal an einer Art "Wecker" und möchte erst zu einer bestimmten Uhrzeit ein bestimmtes Prog starten/beenden!

Könnt ihr mir einen Tipp geben, wie ich das Prog auswählen kann (OpenDialog) aber dies nicht sofort sondern erst später zu der Uhrzeit geöffnet wird ?!?


Wäre echt nett.


cu Trouble_Maker

Chewie 24. Aug 2003 18:27

Re: Open Dialog (ShellExecute) Frage 2
 
In OpenDialog.Filename wird der Dateiname solange gespeicher, bis eine neue Datei ausgewählt wird.

Trouble_Maker 24. Aug 2003 18:30

Re: Open Dialog (ShellExecute) Frage 2
 
Zitat:

Zitat von Chewie
In OpenDialog.Filename wird der Dateiname solange gespeicher, bis eine neue Datei ausgewählt wird.


hmm ... ja das mag ja sein, aber ich möchte ja, dass die Datei die ich auswähle nicht geöffnet wird, sondern nur das Verzeichnis "gespeichert" wird.

Ich hab so ne Vermutung, dass es etwas mit "ExtractFileDir" zu tun haben könnte.
Hab aber ehrlichgesagt kA.


cu Trouble_Maker

toms 24. Aug 2003 18:33

Re: Open Dialog (ShellExecute) Frage 2
 
Zitat:

aber ich möchte ja, dass die Datei die ich auswähle nicht geöffnet wird
Warum sollte die Datei geöffnet werden. Der OpenDialog öffnen keine Datei/führt keine Datei aus, sondern dient nur zum Auswählen einer oder mehreren Datei(en).

Zitat:

sondern nur das Verzeichnis "gespeichert" wird.

Ich hab so ne Vermutung, dass es etwas mit "ExtractFileDir" zu tun haben könnte.
Genau!

Delphi-Quellcode:
tempstr := ExtractFileDir(OpenDialog.Filename);

Trouble_Maker 24. Aug 2003 18:40

Re: Open Dialog (ShellExecute) Frage 2
 
huhu

@toms: ja richtig: war einfach nen Denkfehler, weil mein Code so aussieht:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.execute then
  begin
    ShellExecute(Handle, nil, PChar(OpenDialog1.FileName), nil, nil, SW_SHOW);
  end;
daher ...

danke werde ich später mal ausprobieren ...


cu Trouble_Maker

Trouble_Maker 24. Aug 2003 19:59

Re: Open Dialog (ShellExecute) Frage 2
 
Hiho ...

so habs jetzt auch hinbekommen. Habs aber anders gemacht (@toms]:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
    panel2.caption:= ExtractFileName(OpenDialog1.FileName);
    if panel2.Caption = '' then
      panel2.hint:= ''
       else
         begin
          panel2.ShowHint := true;
          panel2.hint:= ExtractFilePath(OpenDialog1.FileName);
         end;
  //ShellExecute(Handle, nil, PChar(OpenDialog1.FileName), nil, nil, SW_SHOW);
  end;
end;
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  panel1.caption := TimeToStr(now);
  if panel1.caption = MaskEdit1.text then
  begin
    //timer1.enabled:=false;
    //Showmessage(TimeToStr(now));
    ShellExecute(Handle, nil, PChar(OpenDialog1.FileName), nil, nil, SW_SHOW);
  end;
end;
also so klappts bei mir, auch ohne dem "ExtractFileDir".

Hab jetzt noch ne andere Frage, aber die werde ich morgen posten, oder mal sehn ob ich´s allein hinbekomme ...

bis dann


Trouble_Maker


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