Autor |
Beitrag |
zangelo
      
Beiträge: 50
|
Verfasst: Mi 22.12.04 23:53
Hi
Ich bin hier neu, und lerne gerade Delphi. Ich weis nicht, ob das Thema hier passend ist, aber ich weisnicht wo hin. Ich möchte Per Button1 klick eine Datei öffen, z.B. eine HTML oder EXE Datei.
Diesen Code habe ich, und weis nicht, ob er wirklich richtig ist, und wenn ja, was da noch fehlt, wo ich den Pfad hinschreiben muss, u.s.w.
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TForm1.Button1Click(Sender: TObject); begin Button1.ExecuteAction(); end;
end. |
Bitte helft mir. Vielen Danke.
Moderiert von Tino: Delphi-Tags hinzugefügt.
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Do 23.12.04 00:01
Inwiefern öffnen? Im Programm oder extern. Für letzteres empfehle ich eine Forensuche nach SHELLEXECUTE oder CREATEPROCESS
//EDIT: falls du die Dateien in deinem Programm öffnen willst: TOpenDialog.
AXMD
|
|
zangelo 
      
Beiträge: 50
|
Verfasst: Do 23.12.04 01:01
Danke erst mal, aber der Code Shellexecute kennt mein delphi nocht, ich will das prog, oder datei auserhalb öffnen, nicht in dem prog seler.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 23.12.04 01:10
ShellExecute ist in der Unit ShellAPI deklariert. Einfach in die uses aufnehmen und du kannst die API Funktion benutzen.
|
|
zangelo 
      
Beiträge: 50
|
Verfasst: Do 23.12.04 14:13
Und wo oder wie kann ich das aufnehmen? File -> Use Unit... ?
Aber wenn ich da drauf klicke passiert leidern nichts.
|
|
Basti
      
Beiträge: 345
Windows Vista
D2005 Pers, D7 Pers
|
Verfasst: Do 23.12.04 14:16
Du hast ganz oben in deinem Quelltext eine Zeile, die mit uses beginnt. Dann folgt eine Aufzählung. Du hängst vor dem ";" am Ende einfach ein "," dran und dann "ShellApi".
Für die Zukunft: uses ist der Befehl für die Einbindung der benötigten Bibliotheken. Er kann nur an ganz bestimmten Stellen verwendet werden. Eine Bibliothek stellt verschiedene Befehle bereit, die du dann nutzen kannst. Vorteilhaft ist das ganze, weil du dadurch dein Programm nur so groß machst, wie es auch sein muss und keine Befehle einbindest, die du eh nicht brauchst.
Warum ich das geschrieben habe? Damit du auch noch ein bisschen Theorie lernst - ich kann mich ja noch an meine Anfangszeit erinnern
Moderiert von Tino: Überflüssige Absätze entfernt.
_________________ Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 23.12.04 14:43
ein Grundlagenbuch / -tutorial an dieser stelle zu empfehlen wäre wohl nicht das verkehrteste.
-> www.delphi-groups.de
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Do 23.12.04 14:47
Hier sind die Grundlagen zu finden: www.delphi-source.de/grundlagen/
|
|
zangelo 
      
Beiträge: 50
|
Verfasst: Do 23.12.04 17:42
Danke für eure antworten, aber ich bin viel zu dumm glaube ich, ich hab in uses jetzt ShellAPI aufgenommen, aber delphi streicht mit das ShellExecute immer noch an, was ist an dem code jetzt falsch?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); begin Button1.ShellExecute(handle, 'open', 'C:/test.txt', nil, nil, SW_SHOW);
end;
end. |
|
|
zangelo 
      
Beiträge: 50
|
Verfasst: Do 23.12.04 17:43
Danke für eure antworten, aber ich bin viel zu dumm glaube ich, ich hab in uses jetzt ShellAPI aufgenommen, aber delphi streicht mit das ShellExecute immer noch an, was ist an dem code jetzt falsch?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); begin Button1.ShellExecute(handle, 'open', 'C:/test.txt', nil, nil, SW_SHOW);
end;
end. |
sorry, wegen dem doppelpot, find den löschbutton nicht, Sorry Tino, könntest du den post löschen?
Zuletzt bearbeitet von zangelo am Do 23.12.04 17:45, insgesamt 1-mal bearbeitet
|
|
Alstar
      
Beiträge: 827
|
Verfasst: Do 23.12.04 17:44
Hi!
Warum schreibst du ein "Button1." vor ShellExecute?? SO kann's ja garnicht klappen ...
Alstar
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 23.12.04 17:44
Shellexecute ist keine m,ethode von deinem Button. Lass das Bitton1 mal davor weg. Wie bist du eigentlich auf die Idee gekommen das davor zu schreiben? 
|
|
Benutzername
      
Beiträge: 210
Win XP Pro
Delphi 7 PE, D2005 Prof. SSL
|
Verfasst: Do 23.12.04 17:46
Du darft nicht Button1.ShellExecute schreiben, du musst das "Button1." weglassen 
|
|
Alstar
      
Beiträge: 827
|
Verfasst: Do 23.12.04 17:48
@Benutzername: Spätestens jetzt weiß er es ...
Alstar
|
|
zangelo 
      
Beiträge: 50
|
Verfasst: Do 23.12.04 17:49
Ist ein dummer denkfehler gewesen.
und es geht!!! Vielen Dank an alle die mir so geholfen haben!
|
|
Jelzin
      
Beiträge: 30
|
Verfasst: Mo 27.12.04 10:07
Kleiner Tipp noch zusätzlich: ShellExecute lässt sich manchmal nicht immer nach Application.Run ausführen, zumindest mein Windows2000 blockt dann den erzeugten Prozess.
In dem Fall einfach die compilierte Exe extern starten, dann sollte es gehn.
mfg Jelzin
|
|