سؤال

أحاول إنشاء خدمة في OSX Leopard تحسب عدد كلمات النص المحدد. لقد تم تعيين Automator لتشغيل Applescript ، مع وضع ما يلي:

on run {input, parameters}
        count words of input
        display alert "Words: " & input
        return input
end run

عندما أقوم بتجميع البرنامج النصي ، يقول أنه لا يمكن حساب كل كلمة. ما الخطأ الذي افعله؟

شكرا للمساعدة،

إليوت

هل كانت مفيدة؟

المحلول

بادئ ذي بدء ، أفترض أنك تختبر هذا في Automator ، وهذا هو المكان الذي يحدث فيه الخطأ؟ إذا كان الأمر كذلك ، فإن المشكلة المحتملة هي أنه لا توجد مدخلات - لذلك لا يمكن حساب كلمات لا شيء. لاختبار ذلك بنجاح ، تحتاج إلى إضافة إجراء "الحصول على نص محدد" مؤقتًا قبل إجراء Run Applescript ، وإدخال بعض نص الاختبار في هذا الحقل. سيتعين عليك إزالة إجراء نص محدد قبل استخدامه كخدمة فعلية.

ثانيا ، تحتاج إلى استخدام

count words of (input as string)

من أجل الحصول على عدد مناسب ، وإلا فإنه سيعود الصفر.

نصائح أخرى

لقد صنعت واحدة هنا ، على جيثب:

https://gist.github.com/1616556

المصدر الحالي هو:

on run {input, parameters}
    tell application "System Events"
        set _appname to name of first process whose frontmost is true
    end tell
    set word_count to count words of (input as string)
    set character_count to count characters of (input as string)
    tell application _appname
        display alert "" & word_count & " words, " & character_count & " characters"
    end tell
    return input
end run

استخدم Automator.App لإنشاء خدمة جديدة ، ثم حدد إجراء Run Applescript. الصق هذا الرمز في مربع النص ، وحفظ ككلمة وأحرف الأحرف. قم الآن بالتبديل إلى تطبيق جديد ، وحدد بعض النصوص ، وافتح قائمة السياق للعثور على الخيار الجديد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top