- •1. Вводная часть
- •2. Знакомство со средой разработки на примере создания простого консольного приложения
- •3. Модификация консольного приложения
- •4. Публикация
- •5. О приложении к Лабораторной работе № 1
- •Лабораторная работа № 2: Создание простого приложения Windows Forms
- •Создание простого приложения Windows Forms
- •Модификация приложения Windows Forms
- •Завершающая часть
- •2. Создание простого приложения Windows Forms
- •3. Модификация приложения Windows Forms
- •4. Завершающая часть
- •5. О приложении к Лабораторной работе № 2
- •3. Лабораторная работа № 3: Windows Forms и использование некоторых элементов управления Лабораторная работа № 3: Windows Forms и использование некоторых элементов управления
- •Вводная часть
- •О приложении к Лабораторной работе № 3
- •1. Вводная часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms
- •4. Модификация приложения Windows Forms: элемент управления MenuStrip
- •5. Модификация приложения Windows Forms: элемент управления Button
- •6. Модификация приложения Windows Forms: элемент управления ToolTip
- •7. Модификация приложения Windows Forms: элемент управления ComboBox
- •8. Модификация приложения Windows Forms: элемент управления WebBrowser
- •9. Модификация приложения Windows Forms: добавляем исходный код
- •10. Завершающая часть
- •11. О приложение к Лабораторной работе № 3
- •4. Лабораторная работа № 4: Windows Forms — работа с формами Лабораторная работа № 4: Windows Forms — работа с формами
- •Вводная часть
- •О приложении к Лабораторной работе № 4
- •1. Вводная часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms
- •4. Модификация приложения Windows Forms: добавление новой формы
- •5. Модификация приложения Windows Forms: динамическое связывание параметров двух форм и передача параметра через прямой доступ к элементу формы
- •6. Модификация приложения Windows Forms: динамическое связывание параметров двух форм и передача параметра через передачу метода в конструктор формы
- •7. Модификация приложения Windows Forms: динамическое связывание параметров двух форм и передача параметра через класс делегата
- •8. Модификация приложения Windows Forms: динамическое связывание параметров двух форм и передача параметра через свойства
- •9. Завершающая часть
- •10. О приложении к Лабораторной работе № 4
- •5. Лабораторная работа № 5: Windows Forms — элементы управления Лабораторная работа № 5: Windows Forms — элементы управления
- •Вводная часть
- •О приложении к Лабораторной работе № 5
- •1. Вводная часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms
- •4. Модификация приложения Windows Forms: динамическое добавление и уничтожение элемента управления
- •5. Модификация приложения Windows Forms: стандартные диалоговые окна
- •6. Модификация приложения Windows Forms: открытие файла, сохранение файла и работа с текстом
- •7. Модификация приложения Windows Forms: прочее
- •8. Завершающая часть
- •9. О приложении к Лабораторной работе № 5
- •Лабораторная работа № 6: SolidWorks — работа с SolidWorks
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: eDrawings 2012
- •4. Модификация приложения Windows Forms: организация работы с SolidWorks через приложение
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 6
- •Лабораторная работа № 7: SolidWorks — использование SwCSharpAddin, работа с макросом и шаблоном детали
- •2. Создание приложения SwCSharpAddin
- •3. Модификация приложения SwCSharpAddin: макрос отрисовки болта
- •4. Модификация приложения SwCSharpAddin: построение через шаблон детали
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 7
- •8. Лабораторная работа № 8: Создание простого приложения Windows Foundation Presentation Лабораторная работа № 8: Создание простого приложения Windows Foundation Presentation
- •Вводная часть
- •О приложении к Лабораторной работе № 8
- •1. Вводная часть
- •2. Создание приложения Windows Foundation Presentation
- •3. Модификация приложения Windows Foundation Presentation
- •4. Модификация приложения Windows Foundation Presentation: добавление нового элемента из библиотеки компонентов wpf
- •5. Модификация приложения Windows Forms: расширение функциональности приложения и работа с оформление
- •6. Модификация приложения Windows Foundation Presentation: различные возможности wpf
- •7. Модификация приложения Windows Foundation Presentation: немного о стилях и шаблонах
- •8. Завершающая часть
- •9. О приложении к Лабораторной работе № 8
- •Лабораторная работа № 9: Создание приложения-презентации Windows Foundation Presentation
- •2. Создание приложения Windows Foundation Presentation
- •3. Модификация приложения Windows Foundation Presentation
- •4. Модификация приложения Windows Foundation Presentation: работа с решением в Expression Blend
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 9
- •Лабораторная работа № 10: Работа с базами данных — xml и ole
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: odbc
- •4. Модификация приложения Windows Forms: ole
- •5. Модификация приложения Windows Forms: xml
- •6. Завершающая часть
- •7. О приложении к Лабораторной работе № 10
- •Лабораторная работа № 11: Динамическая связь приложений через библиотеку классов
- •2. Удалённый объект: создание библиотеки классов удалённого объекта
- •3. Клиент: создание приложения Windows Forms
- •4. Сервер: создание консольного приложения
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 11
- •Лабораторная работа № 12: Автоматизация Microsoft Office Word
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: создание и заполнение нового документа Microsoft Word
- •4. Модификация приложения Windows Forms: работа с шаблонами
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 12
- •Лабораторная работа № 13: Автоматизация Microsoft Office Excel
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: создание и заполнение нового документа Microsoft Excel
- •4. Модификация приложения Windows Forms: чтение данных с документа Microsoft Excel
- •5. Модификация приложения Windows Forms: прочие возможности Microsoft Excel
- •6. Завершающая часть
- •7. О приложении к Лабораторной работе № 13
- •Лабораторная работа № 14: Простой растровый редактор
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: подготовка интерфейса редактора
- •4. Модификация приложения Windows Forms: функциональность растрового редактора
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 14
- •15. Лабораторная работа № 15: Векторный редактор изображений Лабораторная работа № 15: Векторный редактор изображений
- •Вводная часть
- •О приложении к Лабораторной работе № 15
- •1. Вводная часть
- •2. Создание решения, приложения Windows Forms и библиотеки классов
- •3. Модификация приложения Windows Forms: подготовка интерфейса редактора и добавление файлов ресурсов
- •4. О будущей функциональности векторного редактора изображений
- •5. Модификация приложения Windows Forms: подготовка библиотеки классов
- •6. Модификация приложения Windows Forms: функциональность векторного редактора
- •7. Завершающая часть
- •8. О приложении к Лабораторной работе № 15
- •Лабораторная работа № 16: Windows Communication Foundation
- •2. Создание приложения wcf:
- •3. Модификация приложения wcf: приложение-клиент для wcf-службы
- •4. Создание приложения Windows Forms: сервер чата на wcf
- •5. Создание приложения Windows Forms: клиент чата на wcf
- •6. Завершающая часть
- •7. О приложении к Лабораторной работе № 16
- •Лабораторная работа № 17: Знакомство с Silverlight
- •2. Создание приложения Silverlight:
- •3. Модификация приложения Silverlight: первые шаги и полноэкранный режим
- •4. Модификация приложения Silverlight: простой проигрыватель mp3-файлов
- •5. Модификация приложения Silverlight: работа с анимацией
- •6. Завершающая часть
- •7. О приложении к Лабораторной работе № 17
- •Лабораторная работа № 18: Знакомство с asp.Net
- •2. Создание веб-приложения asp.Net
- •3. Модификация веб-приложения asp.Net: реализация различной функциональности
- •4. Модификация веб-приложения asp.Net: ajax
- •5. Завершающая часть
- •6. О приложении к Лабораторной работе № 18
- •Вводная часть
- •О приложении к Лабораторной работе № 19
- •1. Вводная часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: подготовка интерфейса и добавление TabControl
- •4. Модификация приложения Windows Forms: вкладка «Просто фон!»
- •5. Модификация приложения Windows Forms: вкладка «Объекты и градиент»
- •6. Модификация приложения Windows Forms: вкладка «Мой монитор сломался!»
- •7. Модификация приложения Windows Forms: вкладка «Векторные часы»
- •8. Модификация приложения Windows Forms: вкладка «Огонь!!!»
- •9. Модификация приложения Windows Forms: вкладка «Дождик»
- •10. Завершающая часть
- •11. О приложении к Лабораторной работе № 19
- •Лабораторная работа № 20: Inventor — работа с Inventor
- •Вводная часть
- •О приложении к Лабораторной работе № 20
- •1. Вводная часть
- •2. Создание приложения Windows Forms
- •3. Модификация приложения Windows Forms: запуск и завершение приложения Inventor
- •4. Модификация приложения Windows Forms: создание новых документов
- •5. Модификация приложения Windows Forms: доступ к элементам документов Inventor
- •6. Завершающая часть
- •7. О приложении к Лабораторной работе № 20
- •Лабораторная работа № 21: Знакомство с языком f# (Эф-шарп) на примере простого приложения для командной строки
- •Вводная часть
- •О приложении к Лабораторной работе № 21
- •1. Вводная часть
- •2. Основные положения при работе с f#
- •3. Создание приложения «Учебник по f#»
- •4. Создание консольного приложения
- •5. О приложении к Лабораторной работе № 21
- •Лабораторная работа № 22: Различные примеры на f#
- •2. Создание приложения «Приложение f#»
- •3. Модификация приложения f#: match
- •4. Модификация приложения f#: создание форм и рисование объектов на форме
- •5. Модификация приложения f#: работа с базой данных Microsoft Access
- •6. О приложении к Лабораторной работе № 22
- •23. Дополнительная лабораторная работа № 1
- •24. Дополнительная лабораторная работа № 2
- •25. Дополнительная лабораторная работа № 3
- •Вводная часть
- •1. Вводная часть
- •2. Создание приложения Windows Foundation Presentation
- •3. Модификация приложения Windows Foundation Presentation: добавление ресурсов
- •4. Модификация приложения Windows Foundation Presentation: добавление исходного кода
- •5. Модификация приложения Windows Foundation Presentation: оформление элемента ListBox
- •6. Завершающая часть
- •7. О приложении к данной работе
5. Модификация приложения f#: работа с базой данных Microsoft Access
Для следующего примера понадобится простенькая база данных в формате *.mdb. Запускаем Microsoft Access любой имеющейся версии и создаём простую таблицу с именем Главная таблица. Ключевое поле (Счётчик): «Номер». Далее идут два текстовых столбца: «Имя» и «Фамилия». Заполняем данными (добавляем три-четыре записи в базу данных). Базу назовём, например Работники:
Рис. 5. 1. Содержимое таблицы базы данных Работники.mdb
Импортируем эту базу данных в сам проект. Для этого выполним: Проект -> Существующий элемент... (Shift+Alt+A). После вставки базы в проект приложения F#, перейдём на панель Свойства для файла базы и изменим значение свойства «Копировать в выходной каталог» на «Всегда копировать».
Приготовления завершены. Теперь о коде. Код будет создавать форму с кнопками «Выход» и «Поиск». В качестве поля для поиска будет выступать столбец Номер. Также на форме будет DataGridView для отображения всех записей из базы. Нажатие на «Поиск» отобразить в Label’ах другие параметры запроса. Код всего этого дела такой:
// Создание формы Windows Forms: Работа с базой данных Microsoft Access
Console.Title <- "Различные примеры (F#) :: Работа с базой данных Microsoft Access"
open System.Data
open System.Data.OleDb
// Создаём шрифт
let ffont = new Font("Verdana", 9.75F,FontStyle.Regular, GraphicsUnit.Point)
// Создаём объект соединения с базой данных
let oleconn = new System.Data.OleDb.OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0;
Data Source = Работники.mdb")
// СоздаёмOleDbDataAdapter
let dataAdpter4 = new System.Data.OleDb.OleDbDataAdapter("Select * from [Главная таблица]", oleconn)
// Генерируем DataSet
let dataSet4 = new DataSet()
//fills the dataset with recod values
dataAdpter4.Fill(dataSet4,"[Главная таблица]") |> ignore
// Создаём форму и элементы управления
let dataForm = new Form(Text = "Различные примеры (F#) :: Работа с базой данных Microsoft Access", AutoScaleDimensions = new System.Drawing.SizeF(60.0F, 13.0F), ClientSize = new System.Drawing.Size(500, 360), StartPosition = FormStartPosition.CenterScreen)
let exitButton4 = new Button(Text = "Выход", Location = new System.Drawing.Point(300, 320))
let searchButton4 = new Button(Text = "Поиск", Location = new System.Drawing.Point(220, 320))
let label14 = new Label(Text = "Введите \"Номер\":", Location = new System.Drawing.Point(0, 10), AutoSize = true)
let label24 = new Label(Text = "Номер:", Location = new System.Drawing.Point(0, 50), AutoSize = true)
let label34 = new Label(Text = "Имя:", Location = new System.Drawing.Point(0,100), AutoSize = true)
let label44 = new Label(Text = "Фамилия:", Location = new System.Drawing.Point(0,150), AutoSize = true)
let textBoxNumber4 = new TextBox(Location = new System.Drawing.Point(200,10))
let labelNumber4 = new Label(Location = new System.Drawing.Point(100,50), BorderStyle = BorderStyle.FixedSingle)
let labelFirstName4 = new Label(Location = new System.Drawing.Point(100,100), BorderStyle = BorderStyle.FixedSingle)
let labelLastName4 = new Label(Location = new System.Drawing.Point(100,150), BorderStyle = BorderStyle.FixedSingle)
// Создаём DataGridView
let dataGridView4 = new DataGridView(ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize,Size = new System.Drawing.Size(480, 120), Location = new System.Drawing.Point(10, 180))
// Создаём столбцы DataGridView
let chrnumbercol = new DataGridViewTextBoxColumn()
let chrfnamecol = new DataGridViewTextBoxColumn()
let chrlnamecol = new DataGridViewTextBoxColumn()
// Добавляем данные в столбцы
dataGridView4.Columns.Add(chrnumbercol) |> ignore
dataGridView4.Columns.Add(chrfnamecol) |> ignore
dataGridView4.Columns.Add(chrlnamecol) |> ignore
dataGridView4.DataSource <- dataSet4.Tables.["[Главная таблица]"]
// Применяем шрифт для формы
dataForm.Font <- ffont
// Применям связь данных базы с DataGridView (имя стоблца в базе / имя столбца в элементе)
chrnumbercol.DataPropertyName <- "Номер"
chrnumbercol.HeaderText <- "Номер"
chrfnamecol.DataPropertyName<-"Имя"
chrfnamecol.HeaderText<-"Имя работника"
chrlnamecol.DataPropertyName<-"Фамилия"
chrlnamecol.HeaderText<-"Фамилия работника"
// Добавляем элементы на форму
dataForm.Controls.Add(dataGridView4)
dataForm.Controls.Add(exitButton4)
dataForm.Controls.Add(searchButton4)
dataForm.Controls.Add(label14)
dataForm.Controls.Add(label24)
dataForm.Controls.Add(label34)
dataForm.Controls.Add(label44)
dataForm.Controls.Add(textBoxNumber4)
dataForm.Controls.Add(labelNumber4)
dataForm.Controls.Add(labelFirstName4)
dataForm.Controls.Add(labelLastName4)
// Связываем Label'ы со столбцами базы данных
labelNumber4.Text <- Convert.ToString(dataSet4.Tables.["[Главная таблица]"].Rows.Item(0).Item(0))
labelFirstName4.Text <- Convert.ToString(dataSet4.Tables.["[Главная таблица]"].Rows.Item(0).Item(1))
labelLastName4.Text <- Convert.ToString(dataSet4.Tables.["[Главная таблица]"].Rows.Item(0).Item(2))
searchButton4.Click.Add(fun search->
// Обрабатываем номер строки индекса
let mutable introws = 0
// Определяем, была найдена запись или нет
let mutable blnfound = false
// Обрабатываем общее количество записей
let mutable inttotrec = Convert.ToInt32(dataSet4.Tables.["[Главная таблица]"].Rows.Count)
// Обрабатываем данные вводимые пользователем
let strtext = Convert.ToString(textBoxNumber4.Text)
// До тех пор, пока совпадений не найдено и конец записей не достигнут
while((blnfound = false) && (introws <= inttotrec-1)) do
let strempnum = Convert.ToString(dataSet4.Tables.["[Главная таблица]"].Rows.Item(introws).Item(0))
// Сравниваем данные введённые в TextBox пользователем с нашей таблицей ("Номер")
// Если есть совпадений, отображаем результат запроса
if strtext.ToUpper() = strempnum.ToUpper() then
blnfound<-true
labelNumber4.Text <- Convert.ToString(dataSet4.Tables.["[Главная таблица]"].Rows.Item(introws).Item(0))
labelFirstName4.Text <- Convert.ToString(dataSet4.Tables.["[Главная таблица]"].Rows.Item(introws).Item(1))
labelLastName4.Text <- Convert.ToString(dataSet4.Tables.["[Главная таблица]"].Rows.Item(introws).Item(2))
// Сравниваем со следующей запись до появления совпадений
introws<-introws + 1
// Если совпадения не найдены
if blnfound = false then
MessageBox.Show("Запись не найдена!", "Работа с базой данных Microsoft Access :: Сообщение об ошибке", MessageBoxButtons.OK, MessageBoxIcon.Information) |> ignore)
exitButton4.Click.Add(fun exit->
dataForm.Close()
oleconn.Close())
Application.Run(dataForm)
printfn "\t\t\tНажмите клавишу Enter для продолжения..."
Console.ReadKey()
Console.Clear()
Application.Exit() // Завершаем приложение
Компилируем приложение (Debug) и запускаем. Вводим «номер работника» из базы данных (смотрим все доступные записи в DataGridView на форме) в текстовое поле и жмём «Поиск»:
Рис. 5. 1. Результат работы приложения F#: форма «Работа с базой данных Microsoft Access»
Компилируем приложение (Release) и запускаем.