![]() |
Datei?!?!?!??!
Hi @ all!
ich bins schon wieder :oops: Ich möchte per klick auf ein Label eine von mir definierte Datei (*.doc) öfnnen. Der enutzer soll keine Chance haben, sich selbst eine Datei zu suchen! Es muss DIESE eine Datei geöffnet werden. Geht das mit OpenDialog, oder kann man damit nur eine Datei auswählen?! |
Moin Chriss,
dann schreib' doch in's OnClick Ereignis des Labels den Code für das Laden der Datei, z.B. Memo1.Lines.LoadFromFile(<Dateipfad>). |
Hi,
du bist einer von denen, die ein Verständnisproblem mit den Dialogen hat. Alle Dialoge, die du unter dem Register "Dialogs" findest, führen keine Aktion aus! Sie sind einfach nur vorgefertigte Forms (sozusagen), die einfach nur dem Standard entsprechen. Wenn diese ausgeführt werden (per Execute) gibt Execute true zurück. Dann kannst du mit den ausgewählten Einstellungen was machen. Allerdings, wie gesagt, ist der Dialog an sich völlig passiv! Chris |
ich kann die datei nicht in ein memo einlesen... n der datei sind grafiken!
deshalb möchte ich sie einfach öffnen! |
Hallo Chriss,
ich habe einen Menüpunkt, der die im Verzeichnis DokuPath (z.B. 'D:\irgendwo') hinterlegte Datei Hinweis1.doc mit Word öffnen soll.
Delphi-Quellcode:
Natürlich kann der Anwender dann von Word per Öffnen einer Datei jede andere Worddatei auf den Bildschirm holen.
procedure TForm.Hinweise1Click(Sender: TObject);
begin s := IncludeTrailingBackslash(DokuPath) + 'Hinweis1.doc'; s := '"C:\Programme\Microsoft Office\Office\WinWord.exe" ' + s; WinExec(PChar(s),2); end; mfg eddy |
Nein! *argh*
Lieber ShellExecute statt WinExec nutzen! Einfach mal suchen! Chris |
Hi,
ja Chris, ShellExecute ist hier gefragt. ;) In der Library gibt es auch ein Beispiel zu. Nur das Du eddy, statt dem Pfad, "OpenDialog1.FileName" eingibst. Der Dialog "OpenDialog", kann keine Dateien ausführen, es ist nur eine einfache Möglichkeit an den Pfad! der Datei zu kommen. Sonst nichts! Das gleiche gilt für den SaveDialog! Grüsse, Daniel :hi: |
Hallo Chakotay1308,
"einfach mal suchen" ist super, aber eine Begründung und ein Beispiel wären mir lieber (am Besten gleich mit meinen Vorgaben). Ich bin schon zufrieden, daß die WinExec-Version funktioniert!! Und der gefundene Hilfetext für ShellExecute hilft mir nicht wirklich weiter (entspricht nicht meiner Logik oder ich bin zu dummdumm). mfg eddy PS: Hat der Name Chakotay was mit dem 1. Commander der Voyager zu tun? |
Hallo eddy,
Du solltest Dich schon ein wenig anstrengen! Hier ist der Link: ![]() Ansonsten bringt Dir auch dies etwas! - Die Windows-API verfügt über eine Funktion namens ShellExecute, die Anwendungen ausführt. Dafür sind jedoch viele Parameter erforderlich, die in Anwendungen unter Delphi überflüssig sind. Die Unit FMXUtils stellt eine besser einsetzbare Alternative namens ExecuteFile zur Verfügung. - ExecuteFile arbeitet auf zweierlei Weise. Wird der Name einer ausführbaren Datei übergeben, führt ExecuteFile diese Anwendung aus. Wird der Name eines Dokuments, das mit einer Anwendung verknüpft ist, übergeben, führt ExecuteFile die Anwendung aus und öffnet das Dokument automatisch mit der Anwendung. Grüsse, Daniel :hi: |
Zitat:
Chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz