Visual Basic 6. Руководство разработчика


Исходный текст приложения - часть 3


End If

If chkDate.Value Then

If filterString = "" Then

filterString = "[SentOn] >"""&_

DateFrom.Text & """ And [SentOn] <"""&_

DateTo.Text & """"

Else

filterString = filterString & " and _

[SentOn] > """ & DateFrom.Text & """ _

And [SentOn] < """ & DateTo.Text & """"

End If

End If

If filterString = "" Then

filterString = "[SentOn] > ""01/01/1980"""

End If

Обратите внимание на обилие кавычек в выражениях. Два символа двойных кавычек необходимы для вставки символа кавычки в строку. Если значение пере­менной ContactName равно "Sybex" то выражение:

"[SenderName] = """ & ContactName & """"

приведет к появлению следующей строки:

[SenderName] = "Sybex"

Переменная

filterstring

формируется медленно, в соответствии со значениями, введенными пользователем в окне формы. Если пользователь определяет имя, то оно присваивается свойству SenderName. Если пользователь определяет даты, то они присваиваются соответственно свойству SentOn.

Затем переменная filterstring

передается методу Find объекта AllMessages. Программа просматривает в цикле отфильтрованные сообщения, вызывая метод FindNext. После каждой итерации в окне элемента управления ListBox отображается отправитель очередного сообщения и тема. В это же самое время выбранные сообщения присоединяются к семейству Selectee/Messages:

Set thismessage = AllMessages.Find(filterString)

If thismessage Is Nothing Then

MsgBox "No messages sent in the specified interval"

' (В указанном интервале сообщений не было)

Else

List1.Clear

While Not thismessage Is Nothing

List1.AddItem thismessage.SenderName & _

Chr(9) & thismessage.Subject

SelectedMessages.Add thismessage

Set thismessage = AllMessages.FindNext




Начало  Назад  Вперед