Start eines installierten Programms mit Parameter (MacOS)

Antworten
MmVisual
Beiträge: 1126
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winux (L 1.6 FPC 3)
CPU-Target: 32/64Bit

Start eines installierten Programms mit Parameter (MacOS)

Beitrag von MmVisual »

Hallo,

Ich habe mir Chmox geladen und in Programme installiert (http://chmox.sourceforge.net/). Nun will ich über meine Lazarus-EXE heraus finden ob dieses Programm installiert ist, wenn ja will ich es Starten und als Parameter die CHM Datei angeben.
Wenn ich die CHM Datei auf Chmox ziehe, dann öffnet Chmox mit der Hilfedatei und ich sehe alles.

Nun möchte ich das mit meiner EXE machen, sobald man die F1 Taste drückt, dass dann die Hilfe aufgerufen wird. Unter Windows klappt das schon, aber beim Mac sind das sicher andere Befehle.

Kann mir bitte jemand schreiben welche Befehle ich da nehmen muss?

Vielen Dank! Grüße Markus.

jwdietrich
Beiträge: 142
Registriert: Mo 20. Okt 2008, 20:50
OS, Lazarus, FPC: Mac OS X 10.4-10.14, Windows 2000-8, SUSE, Ubuntu, Raspbian (L 2.0.6, FPC 3.0.4)
CPU-Target: PowerPC, Intel, ARM
Wohnort: Hattingen, NRW
Kontaktdaten:

Re: Start eines installierten Programms mit Parameter (MacOS

Beitrag von jwdietrich »

Eine Möglichkeit wäre z. B. mit eingebettetem AppleScript, also so:

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
var
  theResult: integer;
begin
  theResult := fpsystem('osascript -e "tell the application \"Chmox\" to open the file \"G5 Dokumente:Entwicklungs-Dokumentation:Sprachen:Pascal:Lazarus und Free Pascal:help:fcl.chm\""');
end;

Der Pfad müsste natürlich entsprechend angepasst werden.

Bezüglich der F1-Taste ist anzumerken, dass sie beim Mac eine ganz andere Funktion als unter Windows hat (z. B. Bildschirmhelligkeit vermindern beim MacBook Pro). Der Mac hat dafür die Hilfe-Taste rechts auf der Tastatur.

MmVisual
Beiträge: 1126
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winux (L 1.6 FPC 3)
CPU-Target: 32/64Bit

Re: Start eines installierten Programms mit Parameter (MacOS

Beitrag von MmVisual »

Was wäre beim Mac die Standard-Taste um die Hilfe auf zu rufen?
Ich habe hier einen alten Mac und da einfach eine Windows-Tastatur angeschlossen, die Bedienung ist für mich auch etwas gewöhnungsbedürftig, da die Tasten zum Teil anders belegt sind (viele Sonderzeichen).

jwdietrich
Beiträge: 142
Registriert: Mo 20. Okt 2008, 20:50
OS, Lazarus, FPC: Mac OS X 10.4-10.14, Windows 2000-8, SUSE, Ubuntu, Raspbian (L 2.0.6, FPC 3.0.4)
CPU-Target: PowerPC, Intel, ARM
Wohnort: Hattingen, NRW
Kontaktdaten:

Re: Start eines installierten Programms mit Parameter (MacOS

Beitrag von jwdietrich »

Die Hilfe-Taste findet sich auf erweiterten Tastaturen dort, wo bei Windows die Einfügen-Taste liegt, die man beim Mac nicht braucht. Sie hat den Tastencode 0x72. Anbei ein Bild von einer Apple-kompatiblen Tastatur von macally. Mobilrechner (z. B. PowerBook und MacBook Pro) haben diese Taste aus Platzgründen nicht. Dort und auch ganz allgemein kann am Mac die Hilfe auch mit der Kombination Apfeltaste + ? aufgerufen werden. Es genügt also, den Menüeintrag für die Hilfe mit Meta + ? zu belegen, dann geht das ganz automatisch. Durch bedingtes Compilieren kann man erreichen, dass die Taste unter Windows und Linux mit F1 belegt wird.
Dateianhänge
Hilfe-Taste auf Mac-Tastatur
Hilfe-Taste auf Mac-Tastatur

MmVisual
Beiträge: 1126
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winux (L 1.6 FPC 3)
CPU-Target: 32/64Bit

Re: Start eines installierten Programms mit Parameter (MacOS

Beitrag von MmVisual »

Vielen Dank für die ausführliche Antwort!

In meiner EXE gibt es keine Menüleiste :mrgreen:
Die Exe ist sehr komplex und dennoch komfortabel, alles ist in Reitern untergebracht. Eine Menüleiste braucht es daher nicht (mag ich auch nicht).
hier sind Screenshots: http://www.mikrocontroller.net/articles ... verwaltung

Ich denke das müsste bei meiner Windows-Tastatur dann die Kombination Windows-Taste + ? sein. Ich probiere mal aus, sobald ich wieder meine EXE unter Mac kompilieren kann: http://bugs.freepascal.org/view.php?id=24602

Antworten