Чтение онлайн

на главную - закладки

Жанры

Интернет-журнал "Домашняя лаборатория", 2007 №4
Шрифт:

Data2.RecordSource = str

Data2.Refresh

' Установим Заголовки столбцов у объекта MSFlexGrid

s$ = "<Код товара |<Наименов. товара |<Цена |<Кол-во |<Дата заказа |<Код покуп. |<Дата продажи |<Кол-во прод. "

MSFlexGrid1.FormatString = s$

MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1

MSFlexGrid1.row = MSFlexGrid1.Rows — 1

MSFlexGrid1.col = 0 MSFlexGrid1.Text = "Всего:"

MSFlexGrid1.col = 1

' Расчет суммы заказа

Dim i As Integer

Dim sum As Double

sum = 0

For i = MSFlexGrid1.FixedRows To MSFlexGrid1.Rows — 1 sum = sum + Val(MSFlexGrid1.TextArray(GetCellIndex(i, 2))) *

Val(MSFlexGrid1.TextArray(GetCelllndex(i, 3)))

Next

MSFlexGrid1.Text = CStr(sum) + "

руб."

MSFlexGrid1.row = 1

MSFlexGrid1.col = 1

End Sub

Function GetCellIndex(row As Integer, col As Integer) As Long GetCellIndex = row * MSFlexGrid1.Cols + col

End Function

Сохраните и запустите проект. Результат работы приложения показан на рис. 9.2.

Рис. 9.2. Результат работы приложения

Улучшенное текстовое окно (RichTextBox)

Возможностей обычного текстового окна в большинстве случаев достаточно для отображения текстовой информации из базы данных. Однако, у него есть один недостаток — текстовое окно не допускает форматирования текста. Если необходимо хранить в базе данных текст с элементами форматирования, вы можете использовать улучшенное текстовое окно (RichTextBox). Этот объект управления позволяет работать со шрифтами, изменять атрибуты у выделенного фрагменты текста (полужирный, курсив, подчеркнутый или перечеркнутый), осуществлять различные виды выравнивание текста (по левому краю окна, по правому краю окна или по центру), устанавливать отступы и выступы у абзацев и др.

Все эти функции реализованы посредством поддержки этим объектом управления формата RTF (Rich Text Format — расширенный текстовый формат). Объект RichTextBox транслирует текст в формате RTF и выполняет форматирование и отображение текста на экранной форме.

С базой данных RichTextBox связывается установкой свойств DataSource и DataField. Тип поля в базе данных формата MS Access, с которым связывается объект RichTextBox, должен быть Binary или Memo. Если используется другой формат, то поле должно быть большой емкости (например, типа Text у базы данных Microsoft SQL Server).

По умолчанию RichTextBox недоступен на панели инструментов Visual Basic. Добавить его в проект можно выполнив команду меню Project->Components и отметив контрольный индикатор Microsoft Rich ТехВох Control в окне объектов управления (Controls). После этого но панели инструментов появится его пиктограмма ~

Создадим с помощью приложения VisData базу данных RICH.MDB, единственная таблица TEXTS которой содержит два поля Id (типа Integer) и Textl (типа Memo).

В демонстрационном приложении предусмотрим возможность форматирование текста изменением следующих нескольких свойств объекта RichTextBox: SelBold, Selltalic, SelUnderline и SelStrikeThru. Возможные установки этих свойств приведены в таблице.

Таблица. Некоторые

свойства улучшенного текстового окна.

Свойство • Описание

SelBold • Если установлено True, то выделенный текст отображается полужирным стилем.

Selltalic • Если установлено True, то выделенный текст отображается курсивом.

SelUnderline • Если установлено True, то выделенный текст подчеркивается.

SelStrikeThru • Если установлено True, то выделенный текст перечеркивается.

Создайте новый проект и расположите на экранной форме объект управления данными, текстовое окно, улучшенное текстовое окно и пять командных кнопок, как показано на рис. 9.3. Обычное текстовое окно позволит увидеть, что представляет собой текст в формате RTF.

Рис. 9.3. Расположение элементов управления на экранной форме

Определите свойства объекта управления данными DataBaseName и RecordSource как “C: \WORK\RICH.MDB” и “Texts”, соответственно. Свойства остальных объектов, расположенных на форме установите следующим образом:

Command1.Caption=Полужирный

Command2.Caption=Курсив

Command3.Caption=Подчеркнутый

Command4.Caption=Перечеркнутый

Command5.Caption=Добавить

Text1.DataSource=Data1

Text1.DataField=Textl

RichTextBox1.DataSource=Data1

RichTextBox1.DataField=Text1

В процедуры обработки событий нажатия командных кнопок добавьте следующий код:

Private Sub Command1_Click

If RichTextBox1.SelBold = Fulse Then

RichTextBox1.SelBold = True

Else

RichTextBox1.SelBold = Fulse

End If

End Sub

Private Sub Command2_Click

If RichTextBox1.Selltalic = Fulse Then

RichTextBox1.Selltalic = True

Else

RichTextBox1.Selltalic = Fulse

End If

End Sub

Private Sub Command3_Click

If RichTextBoxl.SelUnderline = Fulse Then

RichTextBox1.SelUnderline = True

Else

RichTextBox1.SelUnderline = Fulse

End If

End Sub

Private Sub Command4_Click

If RichTextBox1.SelStrikeThru = Fulse Then

RichTextBox1.SelStrikeThru = True

Else

RichTextBox1.SelStrikeThru = Fulse

End If

Private Sub Command5_Click

Data1.Recordset.AddNew

End Sub

Сохраните и запустите проект. Добавьте произвольную текстовую строку в базу данных и проведите операции форматирования выделяемых участков текста с помощью командных кнопок.

Результат работы этого приложения показан на рис. 9.4. Обратите внимание на то, как в обычном текстовом окне отображается содержимое объекта RichTexBox.

Поделиться:
Популярные книги

Сердце Забытых Земель

Михайлов Дем Алексеевич
9. Мир Вальдиры: ГКР
Фантастика:
фэнтези
5.00
рейтинг книги
Сердце Забытых Земель

Попаданка в деле, или Ваш любимый доктор

Марей Соня
1. Попаданка в деле, или Ваш любимый доктор
Фантастика:
фэнтези
5.50
рейтинг книги
Попаданка в деле, или Ваш любимый доктор

Ищу жену с прицепом

Рам Янка
2. Спасатели
Любовные романы:
современные любовные романы
6.25
рейтинг книги
Ищу жену с прицепом

Камень. Книга восьмая

Минин Станислав
8. Камень
Фантастика:
фэнтези
боевая фантастика
7.00
рейтинг книги
Камень. Книга восьмая

Хозяин Теней 4

Петров Максим Николаевич
4. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 4

Ефрейтор. Назад в СССР. Книга 2

Гаусс Максим
2. Второй шанс
Фантастика:
попаданцы
альтернативная история
7.00
рейтинг книги
Ефрейтор. Назад в СССР. Книга 2

Огненный наследник

Тарс Элиан
10. Десять Принцев Российской Империи
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Огненный наследник

Инженер Петра Великого 2

Гросов Виктор
2. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Инженер Петра Великого 2

Неудержимый. Книга V

Боярский Андрей
5. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга V

Тепла хватит на всех 2

Котов Сергей
2. Миры Пентакля
Фантастика:
научная фантастика
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Тепла хватит на всех 2

Княжна попаданка. Последняя из рода

Семина Дия
1. Княжна попаданка. Магическая управа
Фантастика:
попаданцы
альтернативная история
историческое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Княжна попаданка. Последняя из рода

Жена по ошибке

Ардова Алиса
Любовные романы:
любовно-фантастические романы
7.71
рейтинг книги
Жена по ошибке

Черный Маг Императора 17

Герда Александр
17. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Черный Маг Императора 17

Седьмой Рубеж III

Бор Жорж
3. 5000 лет темноты
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Седьмой Рубеж III