Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Einfache Variante eine Verknüpfung mit Delphi zu erstellen (https://www.delphipraxis.net/143898-einfache-variante-eine-verknuepfung-mit-delphi-zu-erstellen.html)

Ghostleader 25. Nov 2009 17:36


Einfache Variante eine Verknüpfung mit Delphi zu erstellen
 
Weiß jemand zufälligerweise wie ich eine Art Verknüpfung eines Programmes erstellen kann? Also,
dass auf einer Form ein Image ist und wenn man draufklickt öffnet sich eine .exe Datei.

Mit freundlichen Grüßen Ghost!

DeddyH 25. Nov 2009 17:46

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Das sollte mit Hier im Forum suchenShellExecute im Click-Ereignis des Images recht einfach zu machen sein.

Ghostleader 25. Nov 2009 18:04

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Da sind jetzt fehler Problemthemen und Fragen zu ShellExecute aber keine Erläuterungen. Soweit ich das gesehen hab war nicht mal eine bei "Tutoirals und Kurse" dabei.
Was ist den ein ShellExecute und wie verwendet man das? Könntest du mir dazu ein Tutorial schickek? (Nur falls du eins kennst natürlich)
Oder gibt es da vielleicht eine andere Lösung. Es soll so sein das man beim ersten starten einmal die Verknüpfungen erstellt und sie dann immer dort sind,
also damit man nicht bei jedem Programmstart neu öffnen muss.

DeddyH 25. Nov 2009 18:07

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Also, Du hast mehrere Images, und diese sollen bestimmte noch zuzuweisende Anwendungen starten, hab ich das richtig verstanden?

Ghostleader 25. Nov 2009 18:49

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Ja das ist genau das was ich will.

DeddyH 25. Nov 2009 19:13

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Ja gut, dann gehen wir mal davon aus, dass die zu startenden Anwendungen als Liste vorliegen und irgendwie den Images zugewiesen sind. Das entsprechende Programm kannst Du dann mit
Delphi-Quellcode:
ShellExecute(0,'open',PChar(absoluter_Pfad_zum_Programm),PChar(Parameter),nil,SW_SHOW);
starten. Dazu muss ShellAPI in die uses-Klausel aufgenommen werden.

Ghostleader 26. Nov 2009 13:57

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Kann ich das "absoluter_Pfad_zum_Programm" als Variable angeben? Damit der Benutzer hinterher das Programm aussucht und der entsprechende Pfad dann in die Variable geschrieben wird? Und bei mir ist das "Parameter":
Zitat:

PChar(Parameter)
rot unterstrichen. Woran könnte das liegen?!

Danke schonmal ;D
Mfg Ghost

DeddyH 26. Nov 2009 14:00

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
So war es gedacht. Für absoluter_Pfad_zum_Programm und Parameter musst Du dann die entsprechenden Stringvairablen einsetzen.

Ghostleader 26. Nov 2009 14:03

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Was kommt den für "Parameter" in die Variable dazu fällt mir jetzt gar nichts ein!

DeddyH 26. Nov 2009 14:04

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Das hängt ja vom zu startenden Programm ab, ob und welche Parameter es verarbeitet.

Ghostleader 26. Nov 2009 14:07

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Was genau versteht man denn unter einem Parameter? Was könnte das bei meinem Programm zum Beispiel sein? Ich habe grade in Google geguckt,
da stand in etwa: Ein Parameter ist etwas was das Endergebnis "nach oben oder nach unten hin" verändert. Daraus werde ich aber nicht so schlau.

DeddyH 26. Nov 2009 14:14

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Du kannst Programmen Startparameter mitgeben, die diese ggf. auswerten. Beispiel:
Code:
C:\Windows\System32\notepad.exe C:\Datei.txt
Hier ist das erste der Aufruf von Notepad und das zweite die beim Start zu öffnende Datei (ein Parameter).

Ghostleader 26. Nov 2009 14:42

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Aha jetzt verstehe ich. Aber wenn ich den Parameter nicht angeben und direkt:
C:\programm\test.txt
Als komplettpfad eingebe dann wird das programm also hier die .txt datei doch direkt geöffnet, oder nicht?

DeddyH 26. Nov 2009 14:44

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Die wird dann mit dem für die Endung *.txt registrierten Programm(sofern vorhanden) geöffnet, richtig.

Ghostleader 26. Nov 2009 14:57

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Delphi-Quellcode:
var
  Form1: TForm1;
  A : String;                     // Variable A wird aufgestellt

implementation

{$R *.dfm}

procedure TForm1.btPfadClick(Sender: TObject);
begin
A:= EdPfad.Text;                 // Variable A wird definiert
end;

procedure TForm1.ImDateiClick(Sender: TObject);
begin
ShellExecute(0,'open',PChar(A),PChar(A),nil,SW_SHOW);          // Hier soll sich etwas öffnen.
end;
Also bei mir passiert jetzt nichts. ShellApi hab ich mit angegeben.
Wie zeige ich denn jetzt an das etwas geöffnet wird weil sonst verstehe ich gar nicht richtig
wieso ich ShellExecute überhaupt nutzen soll.

DeddyH 26. Nov 2009 15:34

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Lass Dir einmal den Rückgabewert von ShellExecute ausgeben. Ist der kleiner als 33, stimmt irgendetwas nicht.

Ghostleader 27. Nov 2009 14:52

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Wie lässt man sich den denn zurückgeben?

DeddyH 27. Nov 2009 14:55

Re: Einfache Variante eine Verknüpfung mit Delphi zu erstell
 
Delphi-Quellcode:
var Errorcode: integer;
begin
  ErrorCode := Shellexecute(...);
  if Errorcode < 33 then
    ShowMessage(inttostr(ErrorCode));


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz