Autor Beitrag
FireFighter112
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 04.05.10 22:01 
Wie kann ich in einem Formular bei Klick auf einen Button, eine .exe (oder eine andere) Datei öffnen???

Schon einmal vielen Dank für die Antworten!!!
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 04.05.10 22:09 
Moin und :welcome: im Forum!

Such mal nach Suche in: Delphi-Forum, Delphi-Library SHELLEXECUTE, damit solltest du weiter kommen. :lupe: :les: :think: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Sybok Factor
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 50
Erhaltene Danke: 5

Win XP, Win Vista
Delphi 2010 Professional
BeitragVerfasst: Mi 05.05.10 13:39 
... oder du schaust dir die TActionlist Komponente an und dort die Action TFileRun. (ist allerdings weniger lehrreich als der erste Weg).

Viele Grüße
Sybok

_________________
Jetzte michse verstehen dein Problem.
FireFighter112 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 05.05.10 16:25 
Danke schonmal...
Mit dem shellexecute versteh ich das iwie nicht so ganz! Ich möchte mit einem Klick auf einen Button eine Word-Datei aufrufen (die also nicht auf dem Formular anzeigen)! Aber was genau muss ich dazu schreiben???
FireFighter112
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Mi 05.05.10 16:57 
Du hast ein Stichwort bekommen, wonach du bestimmt schon gesucht hast.

Wie sehn denn nun deine zugehörigen Versuche aus, bzw. was für eine Fehlermeldung erhälst du da?

_________________
PROGRAMMER: A device for converting coffee into software.
FireFighter112 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 05.05.10 17:18 
user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
Du hast ein Stichwort bekommen, wonach du bestimmt schon gesucht hast.

Ich habe auf einer Seite folgendes gefunden: ShellExecute(0'open', PChar(cExecute), nilnil, SW_ShowNormal); Doch was muss ich daran verändern, damit ich die Datei "Text.doc" öffnen kann?

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Mi 05.05.10 18:17 
Klick mal auf ShellExecute, und drück F1, dann sollte die Hilfe aufgehen..
Dort wirst du dann lesen können, dass der Dateiname der dritte Parameter ist.

_________________
PROGRAMMER: A device for converting coffee into software.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 05.05.10 18:18 
Schau dir einfach die Dokumentation an, da steht was die Parameter bedeuten:
msdn.microsoft.com/e...bb762153(VS.85).aspx
FireFighter112 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 05.05.10 22:08 
HILFEEEE!!!!

Ich versteh das nicht...

wenn ich F1 drücke, kommt dass ich die hilfe nicht anzeigen kann ider sowas

könnt ihr mir vielleicht sagen, wo ich was genau eingeben muss. Das wäre super nett :D
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 05.05.10 22:14 
Dann hast du vermutlich noch eine Uraltversion von Delphi und Vista oder neuer. Du brauchst dann das entsprechende Update:
www.delphi-library.d...ewtopic.php?p=544403

Ich habe dir aber den Link zur Dokumentation gepostet, da steht ja alles drin. Und zudem wurde dir bereits gesagt, dass der dritte Parameter der zu öffnende Dateiname ist (natürlich inklusive Pfad)...
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mi 05.05.10 22:18 
user profile iconFireFighter112 hat folgendes geschrieben Zum zitierten Posting springen:
könnt ihr mir vielleicht sagen, wo ich was genau eingeben muss. Das wäre super nett :D
Dabei lernste nix, das wär also nich super nett sondern super un-hilfreich.
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Schau dir einfach die Dokumentation an, da steht was die Parameter bedeuten:
msdn.microsoft.com/e...bb762153(VS.85).aspx

Der Link erklärt schon alles, halt auf englisch. Wie jaenicke schon gesagt hat, der dritte Parameter ist der Dateiname+Pfad, den Rest kannst du lassen. Zu beachten ist, dass die Funktion PChars als Parameter will, keine Strings, darum der Cast (sprich: Typenumwandlung) von String zu PChar im von dir geposteten Code. (PChar(cExecute)
Du kannst dir sicher denken, dass cExecute eine Variable vom Typ String ist.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mi 05.05.10 22:20 
ich denke wenn er bei delphi f1 drückt wenn er shellexecute markiert hat, wird sowieso nix kommen, denn die hilfe für diesen befehl steht in der WinApi-Hilfe drin, die bei der Delphi-Hilfe nicht dabei ist. Zumindest bei D7 nicht.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mi 05.05.10 22:28 
user profile iconelundril hat folgendes geschrieben Zum zitierten Posting springen:
ich denke wenn er bei delphi f1 drückt wenn er shellexecute markiert hat, wird sowieso nix kommen, denn die hilfe für diesen befehl steht in der WinApi-Hilfe drin, die bei der Delphi-Hilfe nicht dabei ist. Zumindest bei D7 nicht.

Oh doch. Nur will OpenHelp da nicht, und deswegen findet der die nicht automatisch. In dem dann auftauchenden Index einfach mal ShellExecute eingeben, da stehts dann wirklich ;)

Oder eben gleich ins MSDN, das ist dann auch aktueller als jede lokale Version.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."


Zuletzt bearbeitet von Martok am Mi 05.05.10 22:30, insgesamt 3-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 05.05.10 22:28 
Bei Delphi 7 geht vieles nicht, das ist halt so, ist nun einmal fast 10 Jahre alt. Also was erwartest du? :lol:

Bei Delphi 2006 geht das natürlich, siehe Anhang, das kommt heraus beim Druck auf F1...
Einloggen, um Attachments anzusehen!
FireFighter112 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 11.05.10 22:08 
Ich lerne seid vllt 2 monaten delphi, das meiste selbst beigebracht und ich versteh echt überhauptnicht wo ich dass mit dem shellexecute hinschreiben muss...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
ShellExecute(0'open', PChar(cExecute), nilnil, SW_ShowNormal);
-------------------------------^----------------------------------------------------
-------------------------------|----------------------------------------------------
-------------------Muss dahin dann "Text.doc"???------------------------------------


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Di 11.05.10 22:15 
nein, statt dem cExecute. das Wort PChar castet deinen String (also dein Namen von der Datei) nach PChar, damit Windows was damit anfangen kann. Ich würde mal google raten, Christian's Crashkurs und das Delphi-Wikibook.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 11.05.10 22:18 
user profile iconFireFighter112 hat folgendes geschrieben Zum zitierten Posting springen:
Muss dahin dann "Text.doc"???
Ohne, dass du sowas einfach ausprobierst wirst du beim Programmieren nicht weit kommen...

Statt cExecute muss der Pfad plus der Dateiname der Datei hin. Ich habe bisher noch nichts gesehen was du in der Richtung probiert hast (seid dazu etwas geschrieben wurde), wie sollen wir da dann helfen?
Probier es und wenn es nicht klappt zeig doch einfach was du versucht hast...
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Di 11.05.10 22:33 
Dein Topic heist aber "Dateien in ein Formular einfügen"!!! ist dann aber auch nicht richtig!
Du willst aber Office öffnen mit einer *.doc Datei wenn ich es richtig verstehe!?
PChar(cExecute), bedeutet das dort die ausführbare Datei rein muss!
und Nil, Nil sind parameter die Du der ausführbaren Datei(exe) mit übergibst, damit sie evtl weiss, was sie machen soll!
als kleine Hilfe :wink:

Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
FireFighter112 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 12.05.10 15:14 
Also wäre das, wenn es im selben Ordner ist:
ausblenden Delphi-Quelltext
1:
ShellExecute(0'open', PChar(Text.txt), nilnil, SW_ShowMinimized);					

Ich habe bis jetzt sehr viel ausprobiert, doch ich wusste nicht, wo genau ich das hinschreiben muss.
Muss ich das jetzt in die Procedure von einem Button schreiben oder wohin?
In der Procedure, kam bis jetzt immer eine Fahlermeldung, dass der Befehl unbekannt ist...


LG FireFighter112

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Mi 12.05.10 15:29 
Das ist aber jetzt nicht Dein ernst!
Lesen und verstehen sind zwar unterschiedliche Dinge aber, Lesen ist anscheinend nicht Deine Stärke!
Was willst Du den nun!!
Eine txt Datei in Dein Formular einfügen zum ansehen/bearbeiten
oder
ein externes Prog z.B. (edit.exe starten) und Deine txt Datei diesem Prog (edit.exe) übergeben!!

Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!