私は小さなAppleScriptプログラムに取り組んでいます。このプログラムでは、テキスト行と数字を入力できます。OS X のテキスト読み上げ機能は、入力した数字によって制御されるプリミティブなリバーブを使用して、それを大声で言います。(詳細については、私のコードを調べてください。)
1つのことを除いて、すべてがうまくいきます。私は、コンピュータに言わせることをテキスト ファイルに書き込もうとしています。次に、そのテキスト ファイルをテキスト フィールドにロードして、言いたいことを書き込もうとしています。
書き込み部分は問題なく動作します。テキスト ファイルを作成し、コンピューターに伝えた内容をそこに入れます。問題は読み方です。
現在のように、読み取り部分は次のようになります。
try
open for access prevSFile
set defToSay to (read prevSFile)
end try
何も起こりません。「try」を削除しようとすると、エラー -500 が表示され、プログラムが停止します。
これが私のコードです:
--define variables
set defToSay to ""
set prevSFile to "~/library/prevSFile.txt"
--Fetch info from save file:
try
open for access prevSFile
set defToSay to (read prevSFile)
end try
--Display dialoges:
display dialog "What do you want to say?" default answer defToSay
set whatToSay to the text returned of the result
display dialog "How many times do you want to overlay it?" default answer "5"
set overlays to the text returned of the result
--Create/edit save file:
do shell script "cd /"
try
do shell script "rm " & prevSFile
end try
do shell script "touch " & prevSFile
do shell script "echo " & whatToSay & " >> " & prevSFile
--Say and kill:
repeat overlays times
tell application "Terminal"
do script "say " & whatToSay
end tell
delay 0.01
end repeat
delay (length of whatToSay) / 5
do shell script "killall Terminal"