Watch for line breaks. Disclaimer: I don't deserve credit for this
script. Unfortunately I don't remember who does. :-(

Andy

<applescript>
property preMsg : "You currently have: " & return
property postcC : " Message folders"
property postfC : " Message Filters"
property postclC : " Text Clippings"
property postsigC : " Signatures"
property postMsgs : " Messages"
property bttnList : {"Thanks", "Put on Clipboard"}
property defBttn : "Put on Clipboard"

to concatenateData(cCnt, fCnt, clCnt, sigCnt, ctMsg)
        return (preMsg & ctMsg & postMsgs & return & cCnt & postcC & return &
fCnt & postfC & return & clCnt & postclC & return & sigCnt & postsigC)
end concatenateData

to displayTotals(statsTxt)
        set the dialogBttn to the button returned of (display dialog statsTxt
buttons bttnList default button 2)
        if the dialogBttn is the defBttn then
                set the clipboard to the statsTxt
                beep
        end if
end displayTotals

tell application "PowerMail"
        set the containerCnt to count message container
        repeat with i from 1 to containerCnt
                set subContainerCnt to count message containers of message 
container i
                set containerCnt to containerCnt + subContainerCnt
        end repeat
        set the filterCnt to count filters
        set the clipCnt to count text clippings
        set the sigCnt to count text signatures
        set ctMsg to 0
        repeat with acontainer in every message container
                set ctMsg to ctMsg + (my count_messages(acontainer))
        end repeat
        set the statsTxt to my concatenateData(containerCnt, filterCnt,
clipCnt, sigCnt, ctMsg)
        my displayTotals(the statsTxt)
end tell
-- The above will count your PowerMail; message folders, filters, text
clippings
-- and the text signatures and display the information in a dialog.
-- The dialog will give you an option to put the entire results
-- onto the clipboard.

(* this recursive function receives a message container (folder). It first
        calls itself for every sub-container of the input container, summing up
        the number of messages stored in them, and last, adds the number of
        messages in the input container itself.
*)
to count_messages(input_container)
        tell application "PowerMail"
                set c to 0
                repeat with bcontainer in every message container in 
input_container
                        set c to c + (my count_messages(bcontainer))
                end repeat
                
                set c to c + (number of messages in input_container)
                return c
        end tell
end count_messages
</applescript>

-- 
Andy Fragen

On Mon, Dec 26, 2005, Sean McBride said:

>Jim Pistrang ([EMAIL PROTECTED]) on 2005-12-26 16:44 said:
>
>>Just curious, what is the total number of emails in your database?  I
>
>Is there an easy way to tell?  I have so many folders looking at each
>and adding them would be a pain. :)
>
>-- 
>"I object to violence because when it appears to do good, the good is
>only temporary; the evil it does is permanent." - Gandhi
>
>
>
>






Reply via email to