Lazarus
Home
Forum
Help
TinyPortal
Search
Login
Register
Lazarus
»
Installation
»
Mac OS X
»
[SOLVED]Getting AppleScript output
Free Pascal
Website
Downloads
Wiki
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
FAQ
Wiki
Bugtracker
Packages
IRC channel
Developer Blog
Follow us on Twitter
Latest SVN
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
Search
Advanced search
« previous
next »
Print
Pages: [
1
]
Author
Topic: [SOLVED]Getting AppleScript output (Read 1834 times)
bobix
New member
Posts: 49
[SOLVED]Getting AppleScript output
«
on:
April 21, 2017, 12:37:46 pm »
Does anyone knows how to get AppleScript's output? I am trying this way, but getting empty string:
Code: Pascal
[Select]
unit
Unit1
;
{$mode objfpc}{$H+}
interface
uses
Classes
,
SysUtils
,
FileUtil
,
Forms
,
Controls
,
Graphics
,
Dialogs
,
StdCtrls
,
process
;
type
{ TForm1 }
TForm1
=
class
(
TForm
)
Button1
:
TButton
;
procedure
Button1Click
(
Sender
:
TObject
)
;
private
{ private declarations }
public
{ public declarations }
end
;
var
Form1
:
TForm1
;
implementation
{$R *.lfm}
{ TForm1 }
procedure
TForm1
.
Button1Click
(
Sender
:
TObject
)
;
var
ss
:
string
;
begin
runcommand
(
'osascript '
'return "hello world"'
''
,
ss
)
;
showmessage
(
ss
)
;
end
;
end
.
«
Last Edit: April 26, 2017, 03:49:42 pm by bobix
»
Logged
Phil
Hero Member
Posts: 2556
Re: Getting AppleScript output
«
Reply #1 on:
April 21, 2017, 03:30:30 pm »
Quote from: bobix on April 21, 2017, 12:37:46 pm
Does anyone knows how to get AppleScript's output?
Perhaps RunCommand can't find the executable to run unless you include a path to it. See if what you're trying to do works with other command line programs, eg, ls.
osascript is probably in /usr/bin.
Note that the form of RunCommand you're using is deprecated. I usually just use TProcess instead of functions that attempt to simplify TProcess by wrapping it.
http://www.freepascal.org/docs-html/fcl/process/runcommand.html
Logged
bobix
New member
Posts: 49
Re: Getting AppleScript output
«
Reply #2 on:
April 21, 2017, 03:57:39 pm »
Thank you!
It think i have found a solution, but have to test it on Monday. I will give a feedback if it works
Logged
bobix
New member
Posts: 49
Re: Getting AppleScript output
«
Reply #3 on:
April 26, 2017, 03:49:15 pm »
Working code. Same as Linux one
Code: Pascal
[Select]
procedure
TForm1
.
Button1Click
(
Sender
:
TObject
)
;
var
AProcess
:
TProcess
;
AStringList
:
TStringList
;
begin
AProcess
:
=
TProcess
.
Create
(
nil
)
;
AProcess
.
Executable
:
=
'/bin/sh'
;
AProcess
.
Parameters
.
Add
(
'-c'
)
;
AProcess
.
Parameters
.
Add
(
'echo `ls`'
)
;
AProcess
.
Options
:
=
AProcess
.
Options
+
[
poWaitOnExit
,
poUsePipes
]
;
AProcess
.
Execute
;
AStringList
:
=
TStringList
.
Create
;
AStringList
.
LoadFromStream
(
AProcess
.
Output
)
;
showmessage
(
astringlist
.
Text
)
;
AStringList
.
Free
;
AProcess
.
Free
;
end
;
Logged
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Installation
»
Mac OS X
»
[SOLVED]Getting AppleScript output
Recent
Import excel to dbgird
by
flori
[
Today
at 02:09:28 pm]
Cannot center image in tS...
by
CM630
[
Today
at 02:09:04 pm]
[Solved] Delphi alternati...
by
ASerge
[
Today
at 02:04:29 pm]
Identfier not found "Send...
by
Thaddy
[
Today
at 01:24:11 pm]
Visual Pascal Community E...
by
Handoko
[
Today
at 12:32:04 pm]
CAD program written in La...
by
zamtmn
[
Today
at 12:22:55 pm]
Compile Photoshop Pascal ...
by
Thaddy
[
Today
at 12:03:45 pm]
different selections to i...
by
ASerge
[
Today
at 07:26:22 am]
Keeping track of project ...
by
GetMem
[
Today
at 05:29:27 am]
Lazarus's missing Delphi ...
by
GetMem
[
Today
at 05:16:00 am]