Autor |
Beitrag |
FireFighter112
Hält's aus hier
Beiträge: 7
|
Verfasst: 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
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 04.05.10 22:09
Moin und  im Forum!
Such mal nach SHELLEXECUTE, damit solltest du weiter kommen.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Sybok Factor
      
Beiträge: 50
Erhaltene Danke: 5
Win XP, Win Vista
Delphi 2010 Professional
|
Verfasst: 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 
Hält's aus hier
Beiträge: 7
|
Verfasst: 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
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: 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 
Hält's aus hier
Beiträge: 7
|
Verfasst: Mi 05.05.10 17:18
Xentar hat folgendes geschrieben : | Du hast ein Stichwort bekommen, wonach du bestimmt schon gesucht hast. |
Ich habe auf einer Seite folgendes gefunden: ShellExecute(0, 'open', PChar(cExecute), nil, nil, SW_ShowNormal); Doch was muss ich daran verändern, damit ich die Datei "Text.doc" öffnen kann?
Moderiert von Narses: Delphi-Tags hinzugefügt
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: 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
      
Beiträge: 19326
Erhaltene Danke: 1749
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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 
Hält's aus hier
Beiträge: 7
|
Verfasst: 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 
|
|
jaenicke
      
Beiträge: 19326
Erhaltene Danke: 1749
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Mi 05.05.10 22:18
FireFighter112 hat folgendes geschrieben : | könnt ihr mir vielleicht sagen, wo ich was genau eingeben muss. Das wäre super nett  |
Dabei lernste nix, das wär also nich super nett sondern super un-hilfreich.
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
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: 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
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Mi 05.05.10 22:28
elundril hat folgendes geschrieben : | 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
      
Beiträge: 19326
Erhaltene Danke: 1749
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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?
Bei Delphi 2006 geht das natürlich, siehe Anhang, das kommt heraus beim Druck auf F1...
Einloggen, um Attachments anzusehen!
|
|
FireFighter112 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 11.05.10 22:08
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: 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
      
Beiträge: 19326
Erhaltene Danke: 1749
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 11.05.10 22:18
FireFighter112 hat folgendes geschrieben : | 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
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: 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
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
FireFighter112 
Hält's aus hier
Beiträge: 7
|
Verfasst: Mi 12.05.10 15:14
Also wäre das, wenn es im selben Ordner ist:
Delphi-Quelltext 1:
| ShellExecute(0, 'open', PChar(Text.txt), nil, nil, 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 Narses: Delphi-Tags hinzugefügt
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: 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!
|
|