Выбрать главу

'в нашей сборке

'------------------------------------------------------------------

Public Sub LoadImageFromResource()

 'Если изображение уже загружено,

 'то не имеет смысла делать это повторно.

 If Not (m_myBitmapImage Is Nothing) Then

  Return

 End If

 '----------------------------------------------------

 'Получить ссылку на двоичную сборку нашего приложения

 '----------------------------------------------------

 Dim thisAssembly As System.Reflection.Assembly = _

  System.Reflection.Assembly.GetExecutingAssembly()

 '-------------------

 'Получить имя сборки

 '-------------------

 Dim thisAssemblyName As System.Reflection.AssemblyName = _

  thisAssembly.GetName()

 Dim assemblyName As String = thisAssemblyName.Name

 '-----------------------------------------------------------------------

 'Извлечь поток изображения из нашей сборки и создать соответствующую ему

 'битовую карту в памяти

 'ПРИМЕЧАНИЕ: Имя потока ресурса ResourceStream ЧУВСТВИТЕЛЬНО К РЕГИСТРУ,

 '   поэтому имя изображения должно В ТОЧНОСТИ совпадать с именем

 '   файла изображения, который вы добавили в проект

 '-----------------------------------------------------------------------

 m_myBitmapImage = New System.Drawing.Bitmap( _

  thisAssembly.GetManifestResourceStream( _

  assemblyName + ".MyImage.PNG"))

End Sub

Примеры к главе 14 (данные)

Листинг 14.1. Простой пример создания и использования объекта ADO.NET DataSet

'Объект DataSet, который мы собираемся загрузить

Private m_myDataSet As System.Data.DataSet

'Константы, которые будут использоваться

Const FILE_EMPTY_DATASET As String = "EmptyDataSet.xml"

Const FILE_1TABLE_DATASET As String = "1TableDataSet.xml"

Const dividerLine As String = _

 "-----------------------------" + vbCrLf

'-------------------------------------------------------

'Загрузить содержимое файла и присоединить его к тексту,

'содержащемуся в элементе управления textBox1

'-------------------------------------------------------

Private Sub addFileContentsToTextBox(ByVal fileName As String)

 'Открыть файл и считать его содержимое

 Dim myStreamReader As System.IO.StreamReader

 myStreamReader = System.IO.File.OpenText(fileName)

 Dim fileText As String = myStreamReader.ReadToEnd()

 'Закрыть файл

 myStreamReader.Close()

 'Присоединить содержимое к тексту, находящемуся в текстовом окне

 TextBox1.Text = TextBox1.Text + _

  dividerLine + "FILE: '" + fileName + "'" + vbCrLf + _

  dividerLine + fileText + vbCrLf

End Sub

'--------------------------------------------------------

'1. Создает набор данных,

' сохраняет набор данных в виде XML,

' отображает результаты в текстовом окне

'2.  Добавляет таблицу данных в набор данных,

'  добавляет два типизированных столбца в таблицу данных,

'  добавляет две строки в таблицу данных,

'  сохраняет набор данных в виде XML,

'  отображает результаты в текстовом окне

'--------------------------------------------------------

Private Sub Button1_Click(ByVal sender As System.Object, _

 ByVal e As System.EventArgs) Handles Button1.Click

 'Очистить текстовое окно от содержимого

 TextBox1.Text = ""

 '===========================================

 '1. Создать новый набор данных

 '===========================================

 m_myDataSet = New System.Data.DataSet("HelloWorld-DataSet")

 'Записать содержимое ADO.NET DataSet в виде XML и отобразить

 'файл в текстовом окне

 m_myDataSet.WriteXml(FILE_EMPTY_DATASET)

 addFileContentsToTextBox(FILE_EMPTY_DATASET)

 '==================================================

 '2. Добавить таблицу данных в набор данных ADO.NET,

 ' а также 2 строки данных в таблицу данных

 '==================================================

 Dim myTestTable As System.Data.DataTable

 myTestTable = m_myDataSet.Tables.Add("TestTable")

 '----------------------------

 'Добавить 2 столбца в таблицу

 '----------------------------

 'Добавить столбец данных в таблицу DataTable набора DataSet

 myTestTable.Columns.Add("TestColumn0", _

  GetType(System.DateTime))

 'Добавить строковый столбец в таблицу DataTable набора DataSet

 myTestTable.Columns.Add("TestColumn1", GetType(String))

 '--------------------------------

 'Добавить строки данных в таблицу

 '--------------------------------

 'Добавить строку данных в таблицу данных

 Dim rowOfData() As Object

 ReDim rowOfData(1)

 'Столбец 0 - это тип данных

 rowOfData(0) = System.DateTime.Today

 'Столбец 1 — это строковый тип

 rowOfData(1) = "а string of data today"

 myTestTable.Rows.Add(rowOfData)

 'Добавить вторую строку данных в таблицу данных

 Dim rowOfData2() As Object

 ReDim rowOfData2(1) 'Столбец 0 — это тип данных

 rowOfData2(0) = System.DateTime.Today.AddDays(1)

 'Столбец 1 — это строковый тип

 rowOfData2(1) = "tomorrow's string"

 myTestTable.Rows.Add(rowOfData2)

 'Записать содержимое набора ADO.NET DataSet в виде XML и отобразить

 'файл в текстовом окне

 m_myDataSet.WriteXml(FILE_1TABLE_ DATASET)

 addFileContentsToTextBox(FILE_1TABLE_DATASET)

End Sub

Листинг 14.2. Использование параметра XMLWriteMode при сохранении объекта ADO.NET DataSet

'-----------------------------------------------------------------------