Кафедра «Информационных систем и технологий управления в строительстве» — КиберПедия 

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Кафедра «Информационных систем и технологий управления в строительстве»

2017-11-17 199
Кафедра «Информационных систем и технологий управления в строительстве» 0.00 из 5.00 0 оценок
Заказать работу

Кафедра «Информационных систем и технологий управления в строительстве»

 

Методические указания по выполнению

Лабораторных работ

по дисциплине

«Программное обеспечение АСОИУ»

для студентов факультета ИСТАС, специальность 230102 «Автоматизированные системы обработки

Информации и управлении»

 

Москва 2009 г.

 

С.А. Королев. Методические указания по выполнению лабораторных работы студентов по дисциплине «программное обеспечение АСОИУ». – Москва, 2009. – 70 стр.


Лабораторная работа №1

Цель: Ознакомится со средой Visual Studio 2008, создать WinForm приложение.

 

Visual Studio 2008 – среда интерактивной разработки приложений, имеющая интуитивно понятный пользовательский интерфейс, предназначена, для разработки программных продуктов различной сложности и позволяющих решать задачи, в рамках АСО ИУ.

 

О среде.NET Framework.

Оболочка.NET Framework определяет среду для разработки и выполнения сильно распределенных приложений, основанных на использовании компонентных объектов. Она позволяет "мирно сосуществовать" различным языкам программирования и обеспечивает безопасность, переносимость программ и общую модель программирования для платформы Windows. Важно при этом понимать, что.NET Framework по своему существу не ограничена применением в Windows, т.е. программы, написанные для нее, можно затем переносить в среды, отличные от Windows. Связь среды.NET Framework с С# обусловлена наличием двух очень важных средств. Одно из них, Common Language Runtime (CLR), представляет собой систему, которая управляет выполнением пользовательских программ. CLR — это составная часть.NET Framework, которая делает программы переносимыми, поддерживает многоязыковое программирование и обеспечивает безопасность. Второе средство, библиотека классов. NET-оболочки, предоставляет программам доступ к среде выполнения. Например, если вам нужно выполнить операцию ввода- вывода, скажем, отобразить что-либо на экране, то для этого необходимо использовать.NET-библиотеку классов. Если вы — новичок в программировании, термин класс вам может быть незнаком. Ниже вы найдете подробное объяснение этого понятия, а пока ограничимся кратким его определением: класс — это объектно-ориентированная конструкция, с помощью которой организуются программы. Если программа ограничивается использованием средств, определенных.NET-библиотекой классов, она может выполняться везде (т.е. в любой среде), где поддерживается.NET- система. Поскольку С# автоматически использует.NET-библиотеку классов, С#- программы автоматически переносимы во все.NET-среды.

 

1. Дизайнер форм приложения

2. Набор основных компонентов

3. Обозреватель проекта

4. Главное меню приложения

5. Функции запуска и отладки, выбор режима сборки (Release, Debug).

6. Окно свойств объектов (по умолчанию св-ва проекта)

 

Процедура: создание проекта Windows Forms Application

 

1. File -> New->Project

 

 

2. Вводим имя проекта в поле ввода Name и нажимаем кнопку OK.

3. Система готова к работе.

 

 

Обозреватель проекта.

 

1. Папка Properties содержит некоторую служебную информацию о решении.

2. Описывает список подключенных библиотек.

3. Файлы проекта, файл реализации.

 

Основные события формы.

 

Предварительно выделим форму, щелчком левой кнопки мыши, затем в окне свойств объектов выберем , для перехода на вкладку событий объекта.

Load – Событие наступает еще до создания формы, но при уже загруженном приложении.

Paint – Прорисовка формы. Наступает при любом изменении какого-либо элемента формы.

Shown – Событие наступает после того как форма нарисована (наступает только при первой прорисовке формы).

Form Closed – Событие наступает после закрытия окна.

Для того чтобы проверить наступление событий, двойной щелчок мышке на событие и осуществляется переход в дизайнер кода, прописываем команду MessageBox.Show(”Имя события”); при запуске программы, можем отследить, когда это событие наступает.

 

Функции отладки

Для ознакомления с функциями отладки перейдем в пункт меню Debug

 

Самостоятельно:

1. Добавить к проекту файл реализации.

2. Ознакомиться со структурой проекта на диске.

3. Выполнить сборку в двух режимах Release и Debug.

4. Создать несколько событий формы.

5. Прописать команду отображения сообщения в событиях.

6. Поставить контрольные точки и пройти проект в режиме отладки.


Лабораторная работа №2

Создание Главного меню.

С панели основных компонентов поместим на нашу форму элемент под названием MenuStrip (Рис. 3), это можно сделать путем перетаскивания компонента на форму.

Рис. 3

Создадим несколько пунктов меню. Для этого щелкнем в поле (TypeHere) и впишем туда текст пункта меню (например Файл), значок «&» ставиться после буквы которую необходимо подсветить, в дальнейшем при нажатии сочетаний клавиш (подсвеченная буква + Alt) мы сможем приходить в этот пункт меню. Рис 4.

Рис. 4

Также настройку данного компонента можно произвести из специального меню, для этого щелкнем правой кнопкой мышки по компаненту и выберем пункт «Edit Item». Перед нами откроется следующее меню настройки. Рис 5.

Рис. 5

Создавая каждый пункт меню любым из способов, впоследствии, в окне «Properties» мы можем изменять его свойства и создавать события. Обязательно при создании пунктов необходимо указать их свойство «(Name)». При создании меню главные пункты называются «MenuItem», все остальные дочерние элементы называются «SubItem». При создании дочерних элементов изменяя свойство «ShortcutKeys» можно выставить название кнопки на клавиатуре или сочетание клавиш, которые будут дублировать вызов данного пункта.

Самостоятельно создадим следующие пункты.

Text Name ShortcutKeys Type
Ф&айл File_MenuItem   MenuItem
С&охранить Save_SubItem   SubItem
Сохранить как SaveAS_SubItem   SubItem
В&ыход Exit_SubItem   SubItem
П&равка Edit_MenuItem   MenuItem
Д&обавить Add_SubItem F6 SubItem
У&далить Dell_SubItem F8 SubItem
И&зменить Change_SubItem F7 SubItem
О&бновить Refresh_SubItem F5 SubItem

 

После этого главное меню у нас должно принять следующий вид (Рис 6 и 7)

Рис 6.

Рис 7.

 

Создание компонента панель.

С панели основных компонентов поместим на нашу форму элемент под названием Panel. это можно сделать путем перетаскивания компонента на форму.

Изменить свойства данного компонента на следующие:

Название свойства Заначение
(Name) MainPanel
Dock Left
MinimumSize  
Width  

 

После создания данного компонента наша форма выглядит следующим образом. Рис 15.

Рис 15

 

Создание объекта документа.

Для создания объекта класса документ объявим его в описании класса MainForm, для этого в файле реализации MainForm пропишем следующую информацию.

… using System.Windows.Forms;   namespace ASU_Sklad { public partial class MainForm: Form { TSpr1 _TSpr1; public MainForm() { InitializeComponent(); _TSpr1 = new TSpr1(); } …

 

Вызов объекта документ.

Теперь сделаем таким образом, чтобы при выборе элемента в дереве у нас создавалась рабочая форма, работающая с передаваемым ей классом, для этого изменим в файле MainForm.cs следующий код.

private bool CreateWorkForm(string sNameForm, string sClassName) { WorkForm newf; //object a = switch (sClassName) { case "Spr1": newf = new WorkForm((IDocuments)_TSpr1); break; default: newf = new WorkForm(); break; } newf.Text = sNameForm; newf.MdiParent = this; newf.Show(); return true; } private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { for (int i = this.MdiChildren.Length - 1; i >= 0; i--) { if (MdiChildren[i].Text == e.Node.Text) { MdiChildren[i].Activate(); return; } } string []sClassName = e.Node.Name.Split('_'); bool bFormOpen = (e.Node.Parent!= null)? CreateWorkForm(e.Node.Text,sClassName[1]): false; }

 

Создание свойств документа.

Каждый документ уникален, но с ним можно выполнять определенные действия, такие как: отображение информации, добавление информации, изменение информации, удаление информации, обновление информации. Каждые из этих действий в свою очередь тоже уникальны, но мы можем заложить в программу возможность этих действий и в определенный момент вызвать соответствующие операции. Как раз для этого мы и создали специальные классы для документов и интерфейс, через который вызывается соответствующий класс. Теперь применим это на практике. Сделаем так чтобы при открытии документа (в нашем примере справочник Spr1) кнопки на панели ToolStrip и соответствующие пункты меню становились доступными или нет, для этого проделаем следующие действия.

  1. Создание свойств документа.

Создадим специальные переменные в классе Spr1, которые будут определять возможность пользоваться функциями добавления, изменения и удаления, для этого файл Spr1.cs изменим следующим образом.

using System; using System.Collections.Generic; using System.Linq; using System.Text;   namespace ASU_Sklad { class TSpr1: IDocuments { // Переменные определяющие возможность // добавления изменения и удаления bool _bAdd, _bChange, _bDell;   // Свойство только для чтения возвращающее заначение // соответсвующей переменной public bool bAdd { get { return _bAdd;} } public bool bChange { get { return _bChange; } } public bool bDell { get { return _bDell; } } // Конструктор класс где задаются значения переменных public TSpr1() { _bAdd = true; _bChange = true; _bDell = true; }   } }

 

  1. Описание интерфейса.

Для того чтобы созданными свойствами можно было пользоваться и они были одинаковы для всех документов необходимо их описать в интерфейсе IDocuments, для этого в файле IDocuments.cs изменим код следующим образом.

using System; using System.Collections.Generic; using System.Linq; using System.Text;   namespace ASU_Sklad { public interface IDocuments { // Свойства документа bool bAdd {get; } bool bChange{ get; } bool bDell{ get;} } }
  1. Доступность объектов из главной формы в дочерних формах.

Теперь необходимо сделать так чтобы при создании формы для документа изменялись свойства кнопок на ToolStrip и MenuStrip. Это можно сделать путем создания события для рабочей формы WorkForm, это событие должно обрабатываться в момент активации формы на экране, но перед этим необходимо сделать доступность изменяемых объектов главной формы в дочерних формах. Нас будут интересовать следующие объекты, представленные в таблице и измененные их свойства.

Имя объекта (Name) Свойство Modifiers Свойство Enabled
ToolBT_Add Public False
ToolBT_Dell Public False
ToolBT_Change Public False
ToolBT_Refresh Public False
Add_SubItem Public False
Dell_SubItem Public False
Change_SubItem Public False
Refresh_SubItem Public False

 

После изменения свойств объектов необходимо сделать так чтобы объект MainForm был доступен во всех дочерних формах, для этого необходимо изменить код в файле Programs.cs следующим образом.

 

using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms;   namespace ASU_Sklad { static class Program { // Описане объекта public static MainForm _MainForm; /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // Заказ памяти для объекта. _MainForm = new MainForm(); Application.Run(_MainForm); } } }

 

  1. Создание события активации формы WorkForm.

Перейдем в дизайнер формы WorkForms, в окне свойств создадим событие Activated. Перейдем в редактор кода данного события, укажем, чтобы при наступлении данного события кнопки и пункты меню главной формы соответствовали значениям свойств документа, а также обработаем возможные исключения, возникающие при присваивания этих свойств. В случае возникновения исключений соответствующие пункты меню и кнопки сделаем недоступными. Для этого пропишем следующий код.

private void WorkForm_Activated(object sender, EventArgs e) { try { Program._MainForm.ToolBT_Add.Enabled = _IDocuments.bAdd; Program._MainForm.Add_SubItem.Enabled = _IDocuments.bAdd; Program._MainForm.ToolBT_Change.Enabled = _IDocuments.bChange; Program._MainForm.Change_SubItem.Enabled = _IDocuments.bChange; Program._MainForm.ToolBT_Dell.Enabled = _IDocuments.bDell; Program._MainForm.Dell_SubItem.Enabled = _IDocuments.bDell; Program._MainForm.ToolBT_Refresh.Enabled = true; Program._MainForm.Refresh_SubItem.Enabled = true; } catch(Exception ex) { Program._MainForm.ToolBT_Add.Enabled = false; Program._MainForm.Add_SubItem.Enabled = false; Program._MainForm.ToolBT_Change.Enabled = false; Program._MainForm.Change_SubItem.Enabled = false; Program._MainForm.ToolBT_Dell.Enabled = false; Program._MainForm.Dell_SubItem.Enabled = false; Program._MainForm.ToolBT_Refresh.Enabled = false; Program._MainForm.Refresh_SubItem.Enabled = false; } }

 

  1. После запуска программы мы должны увидеть следующее. Рис. 4, 5

Рис. 4.

Рис 5.

 

Самостоятельно:

8. По аналогии со справочником №1 создать класс для справочника №2 и подключить их к событиям в дереве.

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

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


Лабораторная работа №4

Создание файла с данными.

Для работы с входным документом сделаем файл, в том же хранилище где и файлы справочников, с именем InDoc.dat, структура файла должна выглядеть следующим образом.

id ID_SPR1 DateInCome Count
    01.01.2008  
    01.02.2008  
    01.03.2008  
    01.04.2008  
    01.05.2008  
    01.06.2008  

 

Разделитель между колонками такой же, как и в справочниках «^».

 

Добавление свойств.

Добавим в класс существующих справочников переменную

Создадим в этих же класса свойство, определяющее имя представления.

В интерфейсе IDocuments подключим наше свойство, чтоб к нему был доступ.

В созданную переменную мы запишем имя таблицы, так как для справочников представление создавать мы не будем. В конструкторе каждого класса справочника присвоим значение переменных. Для справочника 1 это

Для справочника 2 соответствующие данные.

После этого необходимо изменить код события активации формы для рабочей формы. Для этого перейдем в файл реализации WorkForm в событие Activated и изменим, параметр для выводимого объекта из DataSet в GridView, для этого поменяем следующую строку.

Запустим нашу программу, все функции для справочников, которые мы создали до этого, должны работать.

 

Класс входного документа.

Так как класс входного документа наследуется от интерфейса IDocuments, в нем должны быть описаны все необходимые переменные и свойства, также необходимо снять комментарий с описания класса (описание конструкора измениться далее по тексту) заказа памяти и секции в событии компонента MainTreeView для класса TInDoc1. При формировании представления для входного документа нам понадобятся данные из справочника 1, для удобства работы с этими данными нам понадобиться передать в класс TInDoc1 ссылку на класс TSpr1.

 

В файле входного документа подключим два необходимых пространства имен System.IO и System.Data. Создадим все необходимые переменные для класса TInDoc1 по аналогии с представленным далее кодом.

 

Далее в этом же классе опишем все необходимые свойства.

 

Конструктор класса TInDoc1 должен выглядеть следующим образом.

 

Теперь создадим функцию InitDataTable() где опишем объекты таблицы и представления и все необходимые для этого элементы, Сначала таблицу потом представление.

 

Теперь в эту же функцию добавим описание представления для первого входного документа.

 

Теперь переступим к созданию функции, которая будет объединять две таблицы и формировать представление для вывода данных входного документа 1.

Для этого сделаем следующую функцию

 

 

Теперь для работы с нашим входным документом необходимо в конструкторе главной формы, где мы заказываем память для классов, указать следующий код для заказа памяти класса TInDoc1.

После этого запустим программу и вызовем первый входной документ. Должно получиться нечто следующее. Рис 1.

Рис 1.


Самостоятельно:

Создать второй входной документ, который будет связан с двумя справочниками.

 

Spr2.dat

id NameOBJ Adress Telefon Fax Mail
  Объект 1 Москва ул. дм. 1 123-45-76 123-45-77 [email protected]
  Объект 2 Москва ул. дм. 2 123-55-76 123-55-75 [email protected]
  Объект 3 Москва ул. дм. 3 123-45-36 123-45-37 [email protected]

 

 

InDoc2.dat

id ID_SPR1 ID_SPR2 DateOutCome Count
      03.01.2008  
      03.02.2008  
      03.03.2008  
      03.04.2008  
      03.05.2008  
      03.06.2008  

 

Создать представление для вывода данных из входного документа 2.

 

id NameSP1 WidthSP1 HeightSP1 NameOBJ Adress DateOutCome Count
               

 


Лабораторная работа №6

Создание событий.

Теперь необходимо сделать так чтобы по нажатию кнопки «ToolBT_Add», которая расположена на «toolStrip1» главной формы, открывалась созданная панель, также эта панель должна открываться для активного в данный момент документа. Так как мы это делаем для соответствующего документа то обработку события кнопки «ToolBT_Add» необходимо делать в рабочей форме. Для этого выполним следующие шаги:

1. Создадим событие «ToolBT_Add_Click» в фале реализации рабочей формы.

2. Присвоим кнопке «ToolBT_Add» созданное событие в момент активации рабочей формы. Для этого в событии «WorkForm_Activated», в секции «try { }», добавим следующий код, который будет выполняться в случае если в вызываемом классе параметр определяющий активность кнопки выставлен в true. Данный код надо прописать после того как мы изменяем значение «Enabled» для кнопки «ToolBT_Add».

3. Создадим событие «Deactivate» для рабочей формы, для того чтобы когда форма станет не активной у кнопки «ToolBT_Add» отключить присвоенное событие. Для этого

a. в дизайнере формы «WorkForm» выберем нашу форму;

b. перейдем в ее свойства;

c. перейдем в события;

d. найдем там событие «Deactivate»;

e. зайдем в редактирование кода данного события и пропишем там следующий код.

Запустим приложение, выберем в дереве документ, и после нажатия на кнопку «добавить» у нас открывается наша панель.

Далее необходимо сделать так чтоб по нажатию на кнопки «button_Ok» и «button_Cancell», а также при переходе на другой открытый документ наша панель закрывалась, для этого проделаем следующие шаги:

  1. Первоначально надо сделать функцию, которая будет очищать события кнопок «button_Ok» и «button_Cancell».Для этого в классе рабочей формы создадим следующую функцию.

  1. Теперь в этом же классе создадим события для кнопок, «button_Ok» и «button_Cancell», по нажатию которых мы будем закрывать панель. Для этого добавим следующий код.

  1. После этого необходимо изменить событие для кнопки «ToolBT_Add». Чтобы выглядело следующим образом.

 

Запустим программу. При выборе документа и нажатии кнопки «Добавить» у нас открывается панель с двумя кнопками при нажатии, на которые, она закрывается. Также если у нас открыто два документа, мы нажали кнопку «Добавить» и после этого, выбрали другой документ, то панель тоже закрывается.

 

Label

Название свойства Значение
Name label_name
Text Наименование

 

Название свойства Значение
Name label_Width
Text Ширина

 

Название свойства Значение
Name label_Height
Text Высота

 

TextBox

Название свойства Значение
Name textBox_name
Text  

 

Название свойства Значение
Name textBox_Width
Text  

 

Название свойства Значение
Name textBox_Height
Text  

 

В итоге у нас должна получится вот такая форма. Рис 2.

 

Именно эти компоненты мы и будем использовать для справочника №1. Для этого нам понадобится код, который описывает объявление и создание данных компонентов, и нам остается только его взять и правильно изменить для нашего справочника. Проделаем следующие действия:

1. Перейдем в файл реализации дизайна формы <фома>.Disigner.cs.

2. Из этого файла нам, сначала, понадобиться секция, которая описывает созданные компоненты. На рис. 3. эта секция выделена красным, копируем ее и вставляем в класс нашего справочника (рекомендую данную секцию поместить между операторами определяющими регион #region и #endregion).

Рис 3.

3. После того как мы объявили эти компоненты нам надо заказать для них память, поместить их на панель и выставить соответствующие свойства, все это можно проделать программным путем, для этого в созданную до этого функцию «CreateInterfaseAddChange» справочника №1 мы можем скопировать еще часть кода например рис 4. (Из одного проекта копируем в другой)

Рис. 4

Единственное необходимо уточнить, что когда мы вставим этот код в функцию «CreateInterfaseAddChange» необходимо удалить операторы «this.». Таким образом, мы для наших компонентов закажем память.

4. Теперь эти компоненты необходимо поместить на панель, для этого нам понадобиться следующий код рис 5.

Рис. 5

Только в место this.panel1. надо прописать панель, которую мы передаем в функцию

После этого наша функция «CreateInterfaseAddChange» для справочника №1 должна выглядеть следующим образом. Рис 6.

 

Рис. 7

5. После этого для этих компонентов необходимо определить их координаты расположения, размер, отображаемый текст, для этого нам в эту функцию понадобиться добавить следующий код, для «Label» рис 8. для «TextBox» рис 9.

Рис 8.

Рис 9.

6. Далее необходимо сделать функцию, которая бы удаляла созданные компоненты. Для этого мы в функцию «DeleteInterfaseAddChange()» пропишем следующий код. Рис 10

Рис 10.

 

Самостоятельно.

1. Сделать так чтобы событие, при котором открывается панель для добавления, работало и для пункта меню «Добавить».

2. Сделать так чтобы при открытии панели для добавления, кнопка «Добавить» и пункт меню «Добавить» были не активны.

3. Сделать аналогичный интерфейс добавления для всех остальных документов (кроме входного).

 

Для справочника №2

 

Label

Название свойства Значение
Name label_NameOBJ
Text Наименование объекта

 

Название свойства Значение
Name label_Adres
Text Адрес

 

Название свойства Значение
Name label_Telefon
Text Телефон

 

Название свойства Значение
Name label_Fax
Text Факс

 

Название свойства Значение
Name label_Mail
Text Почта

 

TextBox

Название свойства Значение
Name textBox_NameOBJ
Text  

 

Название свойства Значение
Name textBox_Adres
Text  

 

Название свойства Значение
Name textBox_Telefon
Text  

 

Название свойства Значение
Name textBox_Fax
Text  

 

Название свойства Значение
Name textBox_Mail
Text  

 

 

Для Входного документа №1

Label

Название свойства Значение
Name label_NameSP1
Text Наименование материала

 

Название свойства Значение
Name label_InCome
Text Дата поступления

 

Название свойства Значение
Name label_Count
Text Количество

ComboBox

Название свойства Значение
Name comboBox_NameSP1
Text  

 

DateTimePicker

Название свойства Значение
Name dateTimePicker_InCome
Text  

TextBox

Название свойства Значение
Name textBox_Count
Text  

Для Входного документа №2

По аналогии с первым входным документом


Лабораторная работа №7

Самостоятельно сделать подобные функции для справочника №2.

 

Самостоятельно сделать подобные функции для входного документа №2.

 


Лабораторная работа №8

Самостоятельно.

Для остальных документов и справочника сделать так, чтобы можно было изменять данные.


Лабораторная работа №9

Цель: Удаление данных.

 

Для выполнения лабораторной работы №9 необходимо выполнить все шаги предыдущих лабораторных работ.

 

Удаление данных.

Процесс удаление данных намного проще, чем процессы добавление и изменения, так как для него нет необходимости строить интерфейс, данные должны удаляться по нажатию кнопки на панеле быстрых кнопок. Удаление будет происходить из «DataSet» после того как данные будут удалены из него мы перезапишем информацию в файл, после этого его заново прочитаем, тем самым визуально будет казаться что произошло удаление.

Для работы данного процесса нам понадобятся следующие события и функции.

  1. Создать событие для кнопки на панеле быстрых кнопок.
  2. Организовать присваивание в событии активации рабочей формы.
  3. Снять присваивание события в момент деактивации формы.
  4. Создать описание функции удаления в интерфейсе.
  5. Создать функцию удаления информации из «DataSet» для каждого документа кроме выходного.
  6. Вызвать функцию Commit() после того как данные будут удалены из «DataSet».
  7. Обновить данные функцией Refresh().

 

Преступим к реализации. Для начала добавим следующие функции в класс справочника №1.

 

  1. Создадим функцию, которая будет удалять строку соответствующего кода из таблицы.

  1. Не забудем подключить данную функцию в интерфейсе «IDocuments».
  2. Для остальных документов создадим временную заглушку, чтобы не было ошибки при запуске программы.

  1. В файле реализации рабочей формы создадим событие для кнопки удалить.

  1. Подключим это событие в момент активации формы.

  1. Отключим событие в момент деактивации рабочей формы.

  1. Запустим программу. Если все правильно сделано то когда мы будем нажимать кнопку удалить у нас будут удаляться данные из справочника №1.

 

Самостоятельно.

  1. Для остальных документов и справочника сделать так, чтобы можно было удалять данные.
  2. Для пунктов меню «Добавить», «Удалить», «Изменить» сделать так чтобы они дублировали нажатие кнопок на панеле быстрых кнопок.
  3. Кнопка «Обновить» и пункт меню «Обновить», должны обновлять данные в таблице, т.е. по нажатию этих кнопок должна вызываться функция Refresh() соответствующего документа.

 

Кафедра «Информационных систем и технологий управления в строительстве»

 


Поделиться с друзьями:

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.223 с.