ShellExecute

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Benutzeravatar
DL2RPC
Beiträge: 11
Registriert: Di 16. Nov 2021, 16:21

ShellExecute

Beitrag von DL2RPC »

Moin,

hier mein Versuch, ein PDF zu laden:
...
procedure TForm1.Button3Click(Sender: TObject);
begin
ShellExecute(Handle, 'OPEN', '(pdf_n)', nil, nil, 1)
end;

procedure TForm1.ComboBox1Select(Sender: TObject);
begin
npn:= ComboBox1.Items[ComboBox1.ItemIndex];
pdf_n:= ((npn)+'.pdf');
end;

Die Variable pdf_n setzt sich aus dem ausgewähltem Inhalt der ComboBox und der Endung .pdf zusammen.
Setze ich bei ShellExecute statt '(pdf_n)' den richtigen Dateinamen ein, wird der Reader gestartet und das PDF angezeigt. Mit der Variable geht nichts, es kommt auch kein Fehler.
Bin ich blind?

Danke für eure Hinweise.

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: ShellExecute

Beitrag von theo »

Wenn man nicht weiss, was in der Combobox steht, wird's schwierig.
Für deinen Fall empfehle ich ansonsten:
https://wiki.lazarus.freepascal.org/ind ... endocument

Benutzeravatar
DL2RPC
Beiträge: 11
Registriert: Di 16. Nov 2021, 16:21

Re: ShellExecute

Beitrag von DL2RPC »

Ha! Genau!
OpenDocument((npn)+'.pdf'); // Variable + .pdf laden
So geht es, wenn die Datei im selben Verzeichnis liegt. Ansonsten mit Pfad.
Ich war blind.
Danke!

Antworten