2 votos

AppleScript para escupir un número incrementado con ceros a la izquierda

Así que estoy tratando de crear un simple script que utilizará un archivo para almacenar un número entero. Cuando el script es llamado (en mi caso como parte de una macro de teclado) dejará caer (donde estoy escribiendo) el entero actual, con el número requerido de ceros a la izquierda. Luego incrementará el entero (sin los ceros a la izquierda) y lo escribirá de nuevo en el archivo.

La parte de los ceros a la izquierda funciona, pero por mi vida no puedo averiguar cómo almacenar el valor de la variable <contador> en un archivo para que, más tarde, cuando llame de nuevo al script, lo retome donde lo dejó.

Cualquier ayuda será muy apreciada.

Este es el mensaje de error que recibo:

    error "Can’t make \"z:Users:zachphillips:Dev:AppleScripts:counter\"  
    into type file." number -1700 from
    "z:Users:zachphillips:Dev:AppleScripts:counter" to file

Y aquí está el código:

    set theFile to "z:Users:zachphillips:Dev:AppleScripts:counter"
        open for access theFile
        set fileContents to read theFile
        close access theFile

        set counter to fileContents as integer

        on add_leading_zeros(counter, max_leading_zeros)
        set the threshold_number to (10 ^ max_leading_zeros) as integer
        if counter is less than the threshold_number then
            set the leading_zeros to ""
            set the digit_count to the length of ((counter div 1) as string)
            set the character_count to (max_leading_zeros + 1) - digit_count
            repeat character_count times
                set the leading_zeros to (the leading_zeros & "0") as string
            end repeat
            return (leading_zeros & (counter as text)) as string
        else
            return counter as text
        end if
    end add_leading_zeros

    add_leading_zeros(counter, 2)

    open for access newFile with write permission
    set eof of newFile to 0
    write counter + 1 to newFile
    close access newFile

1voto

michael Puntos 285

Añade un .txt al archivo que estás guardando. Si counter es la carpeta, haz esto:

set theFile to "z:Users:zachphillips:Dev:AppleScripts:counter:save.txt"

Asumiendo que tienes una ruta válida, esto debería solucionar el problema. De lo contrario, estás intentando guardar en una carpeta.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X