*This message was transferred with a trial version of CommuniGate(tm) Pro*
Done. The 'count messages' portion comes from someone else's script and I
don't know who to give the credit to.

<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 ret : return
property bttnList : {"Thanks", "Put on Clipboard"}
property defBttn : "Put on Clipboard"

to concatenateData(cCnt, fCnt, clCnt, sigCnt, ctMsg)
        return (preMsg & ctMsg & postMsgs & ret & cCnt & postcC & ret & fCnt &
postfC & ret & clCnt & postclC & ret & 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 5.0b12"
        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 5.0b12"
                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 Thu, Apr 22, 2004, Max Gossell said:

>Ehh -- would it be possible to add "total messages in database" to this
>script...?


Reply via email to