Zufälliger "Neue Mail" Infosound
Michael Siegrist 7 September 2009 08:32:31
Wir legen bei uns die Mailtunes in ein händisch erzeugtes Unterverzeichnis des Lotus Notes Programmverzeichnisses. Das Verzeichnis kann jedoch auch beliebig auf der lokalen Platte liegen.
Nun zum Code :
1. Im Datenbankscript der Maildatenbank/Schablone folgende Sub hinzufügen:
Sub CMT
REM "for setup the local mail tune"
Set Session=New NotesSession
Dim tAgent As NotesAgent
Dim availTunes List As String
Dim i, count As Integer
Dim filename As String
Dim ver As Integer
Dim wavfiledir As String
Dim tune As String
Dim inivar As String
wavfiledir=session.Getenvironmentstring("MailTuneDir")
If (wavfiledir="") Then
If session.Getenvironmentstring("MailTuneStatus") = "True" Then
Print "No User Specific Tunes Found, starting Config .."
Set tAgent= session.currentdatabase.getAgent("SetUpTunes")
Call tAgent.Run
End If
wavfiledir=session.Getenvironmentstring("MailTuneDir")
End If
ver=Mid$(Session.notesversion,9,1) 'This will return a 4 or a 5
availTunes(0)="Please copy some WAV files into " & wavfiledir 'This handles the "I don't have any .wav files" issue
If (ver<5) Then
inivar="NewMailTune" ' For Release 4 Notes.ini Files
Else
inivar="Incoming Mail Sound" ' For Release 5 and higher
End If
' get correct path format due to client incompatibilites
If Right(wavfiledir,1) <> "\" Then
wavfiledir = wavfiledir & "\"
End If
fileName = Dir$(wavfiledir & "*.wav", 0)
If filename<>"" Then
Do While fileName <> "" 'This builds an array of .wavs
availTunes(count+1) = fileName
fileName = Dir$()
count=count+1
Loop
Randomize 'Initialize random # generator
i=Cint(Rnd()*count)
tune=availTunes(i) 'pick a tune, any tune
Call Session.SetEnvironmentVar (inivar, wavfiledir & tune,True)
Print "Changed NewMailTune to: " & tune 'gimme some feedback
Else
Print "No Files in MailTune Directory found !"
End If
End
' just some error handling if the mailtune dir isnt there
PathNotFound:
Print "MailTune Dir which is configured in the Notes.ini not Found on this System ! Try to create a new one !"
End
End Sub
2. Am Ende des Postopen events der Maildatenbank/Schablone einfach nur den Call CMT hinzufügen:
Sub Postopen(Source As Notesuidatabase)
'*********************************************
'Begin Quota Checking Code
'*********************************************
Dim quotaCheck As New CheckQuota
If quotaCheck.isEnabled Then
If Not(quotaCheck.IsQuotaMailFileOwner) Then
Call quotaCheck.SetCalMgrINI
End If
End If
'*********************************************
'End Quota Checking Code
'*********************************************
Call FollowUpMigration(source)
' Custom expiration feature code
Dim s As New NotesSession
If s.GetEnvironmentString("CustomExpirationEnabled") = "1" Then
Call DBOpenExtendedForCustomExp(source)
End If
Call SetupCalendarViewNotices
'*********************************************
' for mailtune changes
'*********************************************
Call CMT
End Sub
3. Zum Aktivieren/Deaktivieren kann z.B. dieser Agent dienen, wobei dieser als Alias den Namen "SetUpTunes" haben sollte, da dieser aus der Sub CMT referenziert wird:
Sub Initialize
Dim uiws As New notesuiworkspace
Dim session As New notessession
Dim FilePath As String
Dim Info As Integer
FilePath =session.GetEnvironmentString("MailTuneDir")
If (FilePath ="") Then
FilePath="C:\"
End If
Info = uiws.Prompt (PROMPT_YESNO,"MailTunes", "Enable MailTunes ?")
If Info = 1 Then
session.Setenvironmentvar "MailTuneStatus", "True"
mailtunedir = uiws.OpenFileDialog( False, "Bitte das Verzeichniss mit den WAV Files auswählen !","WAV Daten|*.wav", FilePath)
If Isarray(mailtunedir) Then
If ( mailtunedir(0) <>"") Then
FilePath=Strleftback(Cstr(mailtunedir(0)),"\")
session.Setenvironmentvar "MailTuneDir", FilePath
End If
End If
Else
Info = uiws.Prompt (PROMPT_YESNO,"MailTunes", "Disable MailTunes ?")
If Info =1 Then
session.Setenvironmentvar "MailTuneStatus", "False"
End If
End If
End Sub
4. Hier noch ein paar Wav files mailtunes.rar.
Allerdings gibt es im Internet viele Web-Sites, welche sich nur mit solchen WAV files beschäftigen.
Zielgruppe: Benutzer Entwickler Administrator Kategorien: Mailfile Notes.ini Diskussion: Kommentare [0]