AppleScript để nhổ số Tăng dần với Số không hàng đầu


1

Vì vậy, tôi đang cố gắng tạo một tập lệnh đơn giản sẽ sử dụng một tệp để lưu trữ một số nguyên. Khi tập lệnh được gọi (trong trường hợp của tôi là một phần của macro bàn phím), nó sẽ rơi vào (nơi tôi đang gõ) số nguyên hiện tại, với số lượng không cần thiết của các số 0 đứng đầu. Sau đó, nó sẽ tăng số nguyên (không có số 0 đứng đầu) và ghi lại vào tệp.

Phần số 0 đứng đầu hoạt động, nhưng đối với cuộc sống của tôi, tôi không thể tìm ra cách lưu trữ giá trị của biến 'bộ đếm' trong một tệp để sau này, khi tôi gọi lại tập lệnh, nó sẽ chọn nơi nó để lại tắt.

Mọi sự trợ giúp sẽ rất được trân trọng.

Đây là thông báo lỗi tôi nhận được:

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

Và đây là mã:

    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

Câu trả lời:


1

Thêm một .txtphần mở rộng cho tập tin bạn đang lưu vào. Nếu counterlà thư mục, hãy làm điều này:

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

Giả sử rằng bạn có một đường dẫn hợp lệ, điều này sẽ khắc phục vấn đề. Nếu không, bạn đang cố lưu vào một thư mục.


0

Kết quả open for accesslà "số tham chiếu tệp". Bạn phải sử dụng con số này với read, writeclose accesslệnh. Ví dụ,

set handle to open for access theFile
set fileContents to read handle
close access handle

Ngoài ra, kịch bản bỏ qua kết quả của add_leading_zeros(counter, 2). Bạn có thể đặt kết quả trở lại countervới

set counter to add_leading_zeros(counter, 2)

nhưng nếu bạn làm counter + 1sau đó, AppleScript sẽ ép buộc countertừ văn bản sang số nguyên và bạn mất các số 0 đứng đầu. Bạn muốn thêm 1 trước khi đặt các số 0 đứng đầu, như

set counter to add_leading_zeros(counter + 1, 2)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.