¿Cómo puedo usar AppleScript para escribir texto en una nueva ventana?

0

Estoy tratando de hacer un applecript que se escriba en una nueva ventana de Applescript Editor. Pero no puedo entender cómo se pegará con citas. El código que tengo ahora es

tell application "System Events"
    keystroke "n" using command down
    keystroke "tell application (System Events) keystroke (n) using command down end tell"
end tell
    
pregunta PLASMAGHOST 27.09.2016 - 17:34

2 respuestas

1

Las citas que deben ser literales deben escaparse con una barra invertida y, en lugar de usar keystroke , use el siguiente ejemplo para crear un nuevo documento AppleScript que contenga el código deseado :

tell application "AppleScript Editor"
    set text of (make new document) to "tell application \"System Events\"\n\tkeystroke \"n\" using command down\nend tell"
end tell

Copie y pegue el ejemplo de código en un nuevo documento AppleScript y presione el botón Compilar. Entonces se verá como:

tell application "AppleScript Editor"
    set text of (make new document) to "tell application \"System Events\"
    keystroke \"n\" using command down
end tell"
end tell

Luego presione el botón Ejecutar y se creará un nuevo documento AppleScript que contiene lo siguiente:

tell application "System Events"
    keystroke "n" using command down
end tell

Que si luego presionas el botón Ejecutar de este nuevo documento, crea un nuevo documento AppleScript en blanco.

Nota: Dependiendo de la versión de OS X / macOS, la línea tell application "AppleScript Editor" puede ser tell application "Script Editor" . Aún puede pegar el ejemplo código , tal como está, en el Editor de secuencias de comandos y eliminará automáticamente la parte Apple de AppleScript para que aparezca como tell application "Script Editor" .

    
respondido por el user3439894 27.09.2016 - 18:13
0

Probablemente esté buscando una quine de AppleScript. No soy programador ni científico informático, así que realmente no puedo explicar cómo escribir código de auto-reproducción. Además, no sé si un lenguaje de script (de alto nivel) como AppleScript es lo suficientemente poderoso como para producir quines arbitrarios.

He encontrado solo dos ejemplos de aplicaciones de AppleScript que pueden ayudarte a crear la tuya, solo la primera crea un nuevo AppleScript:

set d to "on string_from_ASCII_numbers(x)
    set s to ASCII character of item 1 of x
    repeat with i from 2 to number of items in x
        set s to s & (ASCII character of item i of x)
    end repeat
end string_from_ASCII_numbers
set set_d_to to {115, 101, 116, 32, 100, 32, 116, 111, 32}
set scriptEditor to {83, 99, 114, 105, 112, 116, 32, 69, 100, 105, 116, 111, 114}
set quine to string_from_ASCII_numbers(set_d_to) & quote & d & quote & return & d
tell application string_from_ASCII_numbers(scriptEditor) to make new document with properties {contents:quine}"
on string_from_ASCII_numbers(x)
    set s to ASCII character of item 1 of x
    repeat with i from 2 to number of items in x
        set s to s & (ASCII character of item i of x)
    end repeat
end string_from_ASCII_numbers
set set_d_to to {115, 101, 116, 32, 100, 32, 116, 111, 32}
set scriptEditor to {83, 99, 114, 105, 112, 116, 32, 69, 100, 105, 116, 111, 114}
set quine to string_from_ASCII_numbers(set_d_to) & quote & d & quote & return & d
tell application string_from_ASCII_numbers(scriptEditor) to make new document with properties {contents:quine}

Enlace de descarga: quine.applescript.zip

set s to "on run {s}
  set pre to «data utxt0073006500740020007300200074006f00200022» as text
  set post to «data utxt0022000a00720075006e0020007300630072006900700074002000730020007700690074006800200070006100720061006d006500740065007200730020007b0073007d»
  pre & s & post
end run"
run script s with parameters {s}

Enlace de descarga: quine.scpt

    
respondido por el klanomath 28.09.2016 - 03:15

Lea otras preguntas en las etiquetas