Описание алгоритмов обработки данных (блок-схема алгоритма)
⇐ ПредыдущаяСтр 2 из 2
Основные алгоритмы обработки данных, требующие внимания, в этом программном продукте реализованы двумя функциями: · сохранение базы в файл; · загрузка базы из файла. Словесное описание алгоритма сохранения базы в файл: 1. Выбираем соответствующую вкладку. 2. Редактируем таблицу; 3. Сохраняем данные в файл, путем нажатия на кнопку «Сохранить изменения». Словесное описание алгоритма загрузки базы из файла: . Загрузка файла осуществляется автоматически при выборе соответствующей таблицы. 2. Редактируем таблицу. . Закрываем файл. Непосредственно с реализацией алгоритмов можно ознакомиться в представленном полном листинге программы (Раздел 4). · Основная форма: файл «Form1. cs», «Form1. Designer. cs»; · Реализация классов: файл «Classes. cs»; · Типизированный файл: «Base»
4. Реализация системы на языке С# (листинг программы с комментариями)
using System;System. Collections. Generic;System.componentModel;System. Data;System. Drawing;System. Linq;System. Text;System. Windows. Forms;System. IO;PKP {partial class PKP_Form: Form {PKP_Form () {(); }void главнаяToolStripMenuItem_Click (object sender, EventArgs e) {. Visible = true;. Visible = false;. Visible = false;. Visible = false;. Visible = false; }void продукцияToolStripMenuItem_Click (object sender, EventArgs e) {. Visible = false;. Visible = true;. Visible = false;. Visible = false;. Visible = false; }void персоналToolStripMenuItem_Click (object sender, EventArgs e) {. Visible = false;. Visible = false;. Visible = true;. Visible = false;. Visible = false;. my_db. tables [6]. LoadTableFromOzy (dataGridView2); }void нашиКонтактыToolStripMenuItem_Click (object sender, EventArgs e) {. Visible = false;. Visible = false;. Visible = false;. Visible = true;. Visible = false;. Show (» Адрес: Белово\r\nГ.<. \r\n - ул, Советская 26\r\n - ВИДЕТЬ ВАС!!!», «Наши контакты», MessageBoxButtons. OK, MessageBoxIcon. Information); }void Form1_Load (object sender, EventArgs e) { // BazaInOzy. my_db. create_shema ();. my_db. LoadBaseFromInputFile ();. dataGridView1. RowCount = 5;. dataGridView1. ColumnCount = 5;.comboBox1. Items. Clear ();(NatTable d in BazaInOzy. my_db. tables)
{((d. table_name! = «Персонал») && (d. table_name! = «Новинки»)) {this.comboBox1. Items. Add (d. table_name);} }. dataGridView1. Columns [1]. HeaderCell. Value = «Модель»;. dataGridView1. Columns [2]. HeaderCell. Value = «Характеристики»;. dataGridView1. Columns [3]. HeaderCell. Value = «Цена»;. dataGridView1. Columns [4]. HeaderCell. Value = «Наличие»;1. Visible = true; // Реализация видимости панелей panel2. Visible = false;. Visible = false;. Visible = false;. Visible = false;. SelectedIndex = 0;. my_db. tables [0]. LoadTableFromOzy (dataGridView1);. Size = this. Size;. Left = 0;. Top = menuStrip1. Height;. Parent = panel1;. Size = this. Size;. Size = this. Size;. Left = 0;. Top = menuStrip1. Height;. Size = this. Size;. Left = 0;. Top = menuStrip1. Height;. Size = this. Size;. Left = 0;. Top = menuStrip1. Height;. Left = 0;. Top = menuStrip1. Height;. Size = this. Size;. AdvancedRowHeadersBorderStyle. Bottom = DataGridViewAdvancedCellBorderStyle. Single; }void comboBox1_SelectedIndexChanged (object sender, EventArgs e) {. source_table = comboBox1. SelectedText;. TableNumber = comboBox1. SelectedIndex;(NatTable d in BazaInOzy. my_db. tables) {if (d. table_name == BazaInOzy. source_table) {BazaInOzy. TableNumber = d. table_number - 1;}}. my_db. tables [BazaInOzy. TableNumber]. LoadTableFromOzy (this. dataGridView1); }void button1_Click (object sender, EventArgs e) {BazaInOzy. my_db. tables [BazaInOzy. TableNumber]. SaveTableInOzy (this. dataGridView1);. my_db. SaveBaseInOutputFile (); }void button3_Click_2 (object sender, EventArgs e) {. my_db. tables [7]. SaveTableInOzy (dataGridView3);. my_db. SaveBaseInOutputFile (); }void новинкиToolStripMenuItem_Click (object sender, EventArgs e) {. Visible = false;. Visible = false;. Visible = false;. Visible = false;. Visible = true;. my_db. tables [7]. LoadTableFromOzy (dataGridView3); }void button4_Click (object sender, EventArgs e) {. my_db. tables [6]. SaveTableInOzy (this. dataGridView2);. my_db. SaveBaseInOutputFile (); }void panel3_Paint (object sender, PaintEventArgs e) { }void pictureBox1_Click (object sender, EventArgs e) { } } } // КлассыSystem;System. Collections. Generic;System. Linq;System. Text;System. Data;System. IO;System.runtime. Serialization. Formatters. Binary;System. Windows. Forms;PKP {static class BazaInOzy {static int TableNumber = 0; // номер текущей выбранной таблицыstatic string source_table = «»; // имя выбранной таблицы static NatBaza my_db = new NatBaza (5); // свойство, непосредственно // переменная для хранения базы данных в ОЗУ, инициализирована конструктором с // аргументом 5 (создается сразу пять таблиц) } // статический класс. предназначен для хранения загруженной БД в ОЗУ. [Serializable] // атрибут Serializable означает, что объект нижеописанного типа можно // будет разбить на поток байтов и запихать в типизированный файл. public class NatBaza // класс для хранения БД в памяти. Содержит методы (функции) для сохранения и загрузки БД на жёсткий диск
{ public NatTable [] tables; // свойство, массив таблиц NatTable в памяти public NatBaza (int j) // конструктор класса, нужен для создания объекта (переменной) типа NatBaza {= new NatTable [8];(int i = 0; i < j; i++) {tables [i] = new NatTable («», 5, i, );} }void SaveBaseInOutputFile () {f = new FileStream (@ «Base. Nat», FileMode. Open, FileAccess. ReadWrite);b = new BinaryFormatter ();. Serialize (f, this);. Close (); } // метод сохраняет БД из памяти на жесткий диск public void LoadBaseFromInputFile () {f = new FileStream (@ «Base. Nat», FileMode. Open, FileAccess. ReadWrite);b = new BinaryFormatter ();. my_db = (NatBaza) b. Deserialize (f);. Close (); } // метод загружает БД из файла в ОЗУ public void create_shema () {. my_db = new NatBaza (8);(int i = 0; i < 8; i++) {BazaInOzy. my_db. tables [i] = new NatTable («», 5, 0,10);}(int i = 0; i < 8; i++) { }. my_db. tables [0]. table_name = «Вид продукции 1»;. my_db. tables [1]. table_name = «Вид продукции 2»;. my_db. tables [2]. table_name = «Вид продукции 3»;. my_db. tables [3]. table_name = «Вид продукции 4»;. my_db. tables [4]. table_name = «Вид продукции 5»;. my_db. tables [5]. table_name = «Вид продукции 6»;. my_db. tables [6]. table_name = «Персонал»;. my_db. tables [7]. table_name = «Новинки»;. my_db. SaveBaseInOutputFile (); } // Дополнительный метод создаёт схему БД } [Serializable]class NatTable // класс, аналог DataTable, предназначен для хранения таблиц в памяти, и привязки их к визуальным объектам (DataGridView) {string table_name; // имя выбранной таблицыint table_number; // её номер string [] FieldName; // массив. содержит заголовки столбцов public int rows_count; // количество строкint columns_count; // количество столбцов object [,] table; // массив обжектов (собственно таблица) public NatTable (string table_name, int fields_count, int table_number, int row_count) // конструктор создаёт объект NatTable {. table_number = table_number;. table_name = table_name;= new string [fields_count];_count = row_count;_count = fields_count;. table = new object [rows_count, columns_count]; }void SaveTableInOzy (DataGridView d) {= new object [d. Rows. Count, d. Columns. Count];= new string [d. Columns. Count];. rows_count = d. RowCount;. columns_count = d. ColumnCount;(int i = 0; i < d. Rows. Count; i++) {(int j = 0; j < d. Columns. Count; j++) {. table [i, j] = d. Rows [i]. Cells [j]. Value; } } } // метод сохраняет результаты промежуточного изменения таблицы в ОЗУ public void LoadTableFromOzy (DataGridView d) // метод. загружает таблицу в DataGridView {. RowCount = BazaInOzy. my_db. tables [BazaInOzy. TableNumber]. rows_count;. ColumnCount = BazaInOzy. my_db. tables [BazaInOzy. TableNumber]. columns_count;(int i = 0; i < d. Rows. Count; i++) {(int j = 0; j < d. Columns. Count; j++) {. Rows [i]. Cells [j]. Value=this. table [i, j]; } } } Заключение
В данной работе была создана Автоматизированная Информационная Система (АИС) «Производственно-комерческое предприятие», которая смогла бы автоматизировать деятельность, связанную с деятельностью продажи товара. В АИС «ПКП» предусмотрен сбор и внесение всех необходимых данных, которые в дальнейшем будут необходимы для всей работы системы.
Автоматизированная Информационная Система должна выполнять сбор данных, заполнять все необходимые справочники, документы, отчеты и отбор в базе данных, а так же следить за тем, чтобы введенные данные были точны и правильно оформлены. Когда поступает новая информация, программист заносит все данные в базу данных «ПКП». Разработанная система должна автоматизировать работу супермаркета. Система должна позволять программисту осуществлять проверку необходимых данных, а так же возможность внесения корректировок, просмотр всех данных в базе. В начале работы была разработана база данных «ПКП», которая, впоследствии, стала приложением, реализованным на C#. В приложение входят: справочники, позволяющие редактировать, удалять и сохранять информацию.
Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|