Моделирование работы библиотеки на С#

Разработка программы, моделирующей работу библиотеки. Функция поиска по базе книг и граждан, записанных в библиотеку. Поиск книги. Добавление или удаление абонента. Текст программы на С#. Просмотр списка должников. Запись книги на абонента в программе.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 20.02.2014
Размер файла 426,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

1. Техническое задание

Решается задача разработки программы моделирующей работу библиотеки. По условию программа должна содержать информацию о книгах и абонентах. Должна присутствовать возможность принять нового абонента или книги, удаление из библиотеки или редактирование информации о нем, а также должна быть функция поиска по базе книг и граждан, записанных в библиотеку. Осуществлять запись литературы на данного человека и сдача их в определенную дату. База касса должна быть сделана в Access и связана с программой на С#. Программа может быть написана на Visual С#.

Для начала определимся со средой разработки данного программного обеспечения. При работе пользователя с программой очень важную роль играет графический интерфейс и эргономика. Тем более, с программами такого рода работают операторы, обладающие пользовательскими знаниями персонального компьютера. Поэтому важным при разработке программы будет интуитивно понятный и эргономичный интерфейс. Также следует учесть, что работа будет вестись с базой данных Access. Важно определиться с элементами управления, которые обеспечат наглядное представление информации из базы данных, а также позволят с лёгкостью редактировать записи и удалять их. Данная программа не рассчитана на сетевой режим. Она будет корректно работать под операционной системой Windows c версией Framework v2.0.

2. Описание программы

2.1 Описание формы

2.1.1 Главное меню

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

Рисунок 1 - Form 1 - Меню.

2.1.2 Поиск книги

Здесь осуществляет непосредственный поиск книги в данной библиотеке. Вводимые параметры: наименование, автор, издательство, год издания. Программа обнаруживает данную книгу и выводит ее в таблицу. Удобство заключается в том, что можно смотреть как по отдельным графам, так и вводить данные все вместе, чтобы осуществить более точный поиск.

Рисунок 2 - Form 2 - Поиск книги

2.1.3 Поиск абонента

В следующей форме, представленной на рисунке 3, показан поиск абонента. Библиотекарю необходимо ввести такие параметры как: фамилия, имя, отчество, дата рождения, город, улица, дом, квартира, данные паспорта, чтобы посмотреть записан ли данный гражданин в библиотеку. Если такой человек существует, то необходимо возвратиться в меню, для записи книги на дом. В обратном случае, можно добавить абонента.

Рисунок 3 - Form 3 - Поиск абонента

2.1.4 Добавление или удаление книги из библиотеки

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

Рисунок 4 - Form 4 - Добавление или удаление книги из библиотеки.

2.1.5 Добавление или удаление абонента из библиотеки

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

Рисунок 5 - Form 5 - Добавление или удаление абонента из библиотеки

2.1.6 Запись и сдача книг

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

Рисунок 6 - Form 6 - Запись и сдача книг

2.1.7 Должники

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

Рисунок 7 - Form 7 - Должники

2.2 Общий алгоритм

При запуске данной программы открывается главное меню Form1_Load, при выполнении функций radioButton1, radioButton2, radioButton3, radioButton4, radioButton5, происходит выбор соответствующей формы. При помощи кнопок Button1_Click происходит переход на форму и Button2_Click реализуется выход из программы.

В Form2_Load подключается таблица с книгами. В Button1_Click выполняется переход в главное меню. В Button2_Click записывается в базу данных новая книга через значения textbox. В Button3_Click выполняется удаление строки базы данных.

В Form3_Load подключается таблица с абонентами. В Button1_Click выполняется переход в главное меню. В Button2_Click записывается в базу данных новый абонент через значения textbox. В Button3_Click выполняется удаление строки базы данных.

В Form4_Load подключается таблица с книгами. В Button1_Click выполняется переход в главное меню. В Button3_Click, Button4_Click, Button5_Click, Button6_Click, проверяет на совпадение значения textbox1, textbox2, textbox3, textbox4 соответственно и данных ячейки, при этом программа выделяет соответствующую ячейку. В Button2_Click проверяет на совпадение значения textbox1, textbox2, textbox3, textbox4 одновременно и выделяет соответствующую ячейку в базе данных.

В Form5_Load подключается таблица с абонентами. В Button1_Click выполняется переход в главное меню. В Button3_Click проверяет на совпадение значения Pass_TextChanged по номеру и серии паспортаи и выделяет соответствующую ячейку в базе данных. В Button2_Click проверяет на совпадение значения textbox1, textbox2, textbox3, textbox4, textbox5, textbox6, textbox7, DateOfBirth_ValueChanged одновременно и выделяет соответствующую ячейку в базе данных.

В Form6_Load подключается таблица с абонентами и книгами. В Button1_Click выполняется переход в главное меню. В Button7_Click проверяет на совпадение значения Pass_TextChanged по номеру и серии паспортаи выделяет соответствующую ячейку в базе данных. В Button8_Click проверяет на совпадение значения textbox5, textbox6, textbox7, textbox8, textbox9, textbox10, textbox11, DateOfBirth_ValueChanged одновременно и выделяет соответствующую ячейку в базе данных. В Button3_Click, Button4_Click, Button5_Click, Button6_Click, проверяет на совпадение значения textbox1, textbox2, textbox3, textbox4 соответственно и данных ячейки, при этом программа выделяет соответствующую ячейку.

В Button2_Click проверяет на совпадение значения textbox1, textbox2, textbox3, textbox4 одновременно и выделяет соответствующую ячейку в базе данных. В Button9_Click происходит запись книги на абонента через дату. В RetDate_ValueChanged выбирается определенная дата сдачи и заносится в таблицу базы данных. Уменьшает на единицу количество книг. В Button10_Click происходит удаление строки в базе данных о наличии книг на руках, увеличивается количество книг на единицу в библиотеке.

В Form7_Load можно посмотреть список должников, которые просрочили сдачу книг. Благодаря Button1_Click можно вернуться назад.

3. Исходный код

3.1 Form 1 - Главное меню

using System;

using System. Collections. Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Text;

using System. Windows. Forms;

namespace WindowsApplication1

{

public partial class Form1: Form

{

public Form1 ()

{

InitializeComponent();

}

private void radioButton1_CheckedChanged (object sender, EventArgs e)

{

}

private void radioButton2_CheckedChanged (object sender, EventArgs e)

{

}

private void button1_Click (object sender, EventArgs e)

{

if (radioButton3. Checked == true)

{Hide();

Form2 a =new Form2 ();

a. ShowDialog();

this. Close();

}

if (radioButton4. Checked == true)

{Hide();

Form3 a =new Form3 ();

a. ShowDialog();

this. Close();

}

if (radioButton1. Checked == true)

{

Hide();

Form4 a = new Form4 ();

a. ShowDialog();

this. Close();

}

if (radioButton2. Checked == true)

{

Hide();

Form5 a = new Form5 ();

a. ShowDialog();

this. Close();

}

if (radioButton5. Checked == true)

{

Hide();

Form6 a = new Form6 ();

a. ShowDialog();

this. Close();

}

}

private void button2_Click (object sender, EventArgs e)

{

Application. Exit();

}

private void Form1_Load (object sender, EventArgs e)

{

}

}

}

3.2 Form 2 - Поиск книги

using System;

using System. Collections. Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Text;

using System. Windows. Forms;

using System. Text. RegularExpressions;

namespace WindowsApplication1

{

public partial class Form4: Form

{

public Form4 ()

{

InitializeComponent();

}

private void dataGridView1_CellContentClick (object sender, DataGridViewCellEventArgs e)

{

}

private void Form4_Load (object sender, EventArgs e)

{

 // TODO: This line of code loads data into the 'libDataSet1. Книги' table. You can move, or remove it, as needed.

this.книгиTableAdapter. Fill (this.libDataSet1. Книги);

}

private void button1_Click (object sender, EventArgs e)

{

Hide();

Form1 a = new Form1 ();

a. ShowDialog();

this. Close();

}

private void button2_Click (object sender, EventArgs e)

{

string filter = «»;

if (textBox1. Text!= «»)

filter = «Наименование = '» + textBox1. Text + «'»;

if (textBox2. Text!= «»)

{

if (filter!= «»)

filter += «AND»;

filter += «Автор = '» + textBox2. Text + «'»;

}

if (textBox3. Text!= «»)

{

if (filter!= «»)

filter += «AND»;

filter += «Издательство = '» + textBox3. Text + «'»;

}

if (textBox4. Text!= «»)

{

if (Regex. IsMatch (textBox4. Text, «^\\d+$»))

{

if (filter!= «»)

filter += «AND»;

filter += «Год = '» + textBox4. Text + «'»;

}

}

книгиBindingSource. Filter = filter;

}

private void button3_Click (object sender, EventArgs e)

{

string filter = «»;

if (textBox1. Text!= «»)

filter = «Наименование = '» + textBox1. Text + «'»;

книгиBindingSource. Filter = filter;

}

private void button4_Click (object sender, EventArgs e)

{

string filter = «»;

if (textBox2. Text!= «»)

filter = «Автор = '» + textBox2. Text + «'»;

книгиBindingSource. Filter = filter;

}

private void button5_Click (object sender, EventArgs e)

{

string filter = «»;

if (textBox3. Text!= «»)

filter = «Издательство = '» + textBox3. Text + «'»;

книгиBindingSource. Filter = filter;

}

private void button6_Click (object sender, EventArgs e)

{

string filter = «»;

if (textBox4. Text!= «»)

if (Regex. IsMatch (textBox4. Text, «^\\d+$»))

filter += «Год = '» + textBox4. Text + «'»;

книгиBindingSource. Filter = filter;

}

}

}

3.3 Form 3 - Поиск абонента

using System;

using System. Collections. Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Text;

using System. Windows. Forms;

using System. Text. RegularExpressions;

namespace WindowsApplication1

{

public partial class Form5: Form

{

public Form5 ()

{

InitializeComponent();

}

private void Form5_Load (object sender, EventArgs e)

{

 // TODO: This line of code loads data into the 'libDataSet1. Абоненты' table. You can move, or remove it, as needed.

this.абонентыTableAdapter. Fill (this.libDataSet1. Абоненты);

}

private void button1_Click (object sender, EventArgs e)

{

Hide();

Form1 a = new Form1 ();

a. ShowDialog();

this. Close();

}

private void label9_Click (object sender, EventArgs e)

{

}

private void button2_Click (object sender, EventArgs e)

{

string filter = «»;

if (textBox3. Text!= «»)

filter = «Фамилия = '» + textBox3. Text + «'»;

if (textBox1. Text!= «»)

{

if (filter!= «»)

filter += «AND»;

filter += «Имя = '» + textBox1. Text + «'»;

}

if (textBox2. Text!= «»)

{

if (filter!= «»)

filter += «AND»;

filter += «Отчество = '» + textBox2. Text + «'»;

}

if (filter!= «»)

filter += «AND»;

filter += «[Дата рождения] = '» + DateOfBirth. Value. Date. ToString() + «'»;

if (textBox5. Text!= «»)

{

if (filter!= «»)

filter += «AND»;

filter += «Город = '» + textBox5. Text + «'»;

}

if (textBox6. Text!= «»)

{

if (filter!= «»)

filter += «AND»;

filter += «Улица = '» + textBox6. Text + «'»;

}

if (textBox7. Text!= «»)

{

if (Regex. IsMatch (textBox7. Text, «^\\d+$»))

{

if (filter!= «»)

filter += «AND»;

filter += «Дом = '» + textBox7. Text + «'»;

}

}

if (textBox4. Text!= «»)

{

if (Regex. IsMatch (textBox4. Text, «^\\d+$»))

{

if (filter!= «»)

filter += «AND»;

filter += «Квартира = '» + textBox4. Text + «'»;

}

}

if (Pass. Text!= «»)

{

if (Regex. IsMatch (Pass. Text, «^\\d+$»))

{

if (filter!= «»)

filter += «AND»;

filter += «Паспорт = '» + Pass. Text + «'»;

}

}

абонентыBindingSource. Filter = filter;

}

private void button3_Click (object sender, EventArgs e)

{

string filter = «»;

if (Pass. Text!= «» && Regex. IsMatch (Pass. Text, «^\\d+$»))

filter += «Паспорт = '» + Pass. Text + «'»;

абонентыBindingSource. Filter = filter;

}

}

}

3.4 Form 4 - Добавление или удаление книги

using System;

using System. Collections. Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Text;

using System. Windows. Forms;

namespace WindowsApplication1

{

public partial class Form2: Form

{

public Form2 ()

{

InitializeComponent();

}

private void textBox1_TextChanged (object sender, EventArgs e)

{

}

private void Form2_Load (object sender, EventArgs e)

{

 // TODO: This line of code loads data into the 'libDataSet1. Книги' table. You can move, or remove it, as needed.

this.книгиTableAdapter. Fill (this.libDataSet1. Книги);

libDataSet1. Tables [«Книги»].PrimaryKey = new DataColumn[] {libDataSet1. Tables [«Книги»].Columns[0]};

}

private void label6_Click (object sender, EventArgs e)

{

}

private void button1_Click (object sender, EventArgs e)

{

книгиTableAdapter. Update(libDataSet1);

Hide();

Form1 a = new Form1 ();

a. ShowDialog();

this. Close();

}

private void button2_Click (object sender, EventArgs e)

{

if (textBox1. Text!= «» && textBox2. Text!= «» && textBox3. Text!= «» && libDataSet1. Tables [«Книги»].Rows. Find (textBox1. Text) == null)

libDataSet1. Tables [«Книги»].Rows. Add (textBox1. Text, textBox2. Text, textBox3. Text, Year. Value, 0, BooksCountAll. Value);

}

private void button3_Click (object sender, EventArgs e)

{

if (dataGridView1. CurrentRow!= null)

{

if ((int) dataGridView1. CurrentRow. Cells[4].Value == 0)

dataGridView1. Rows. RemoveAt (dataGridView1. CurrentRow. Index);

else

MessageBox. Show («Вы не можете удалить книгу, пока хотя бы один экземляр находится на руках у абонентов.»);

}

}

private void dataGridView1_CellContentClick (object sender, DataGridViewCellEventArgs e)

{

}

private void textBox4_TextChanged (object sender, EventArgs e)

{

}

private void dataSet1BindingSource_CurrentChanged (object sender, EventArgs e)

{

}

}

}

3.5 Form 5 - Добавление или удаление абонента

using System;

using System. Collections. Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Text;

using System. Windows. Forms;

using System. Text. RegularExpressions;

namespace WindowsApplication1

{

public partial class Form3: Form

{

public Form3 ()

{

InitializeComponent();

}

private void Form3_Load (object sender, EventArgs e)

{

 // TODO: This line of code loads data into the 'libDataSet1. Абоненты' table. You can move, or remove it, as needed.

this.абонентыTableAdapter. Fill (this.libDataSet1. Абоненты);

libDataSet1. Tables [«Абоненты»].PrimaryKey = new DataColumn[] {libDataSet1. Tables [«Абоненты»].Columns[8]};

}

private void label2_Click (object sender, EventArgs e)

{

}

private void button1_Click (object sender, EventArgs e)

{

абонентыTableAdapter. Update(libDataSet1);

Hide();

Form1 a = new Form1 ();

a. ShowDialog();

this. Close();

}

private void button3_Click (object sender, EventArgs e)

{

if (dataGridView1. CurrentRow!= null)

{

if ((int) dataGridView1. CurrentRow. Cells[9].Value == 0)

dataGridView1. Rows. RemoveAt (dataGridView1. CurrentRow. Index);

else

MessageBox. Show («Вы не можете удалить абонента, пока у него на руках находится хотя бы одна книга.»);

}

}

private void button2_Click (object sender, EventArgs e)

{

if (textBox1. Text!= «» && textBox2. Text!= «» && textBox3. Text!= «» && textBox5. Text!= «» &&

textBox6. Text!= «» && Regex. IsMatch (Pass. Text, «^\\d+$») && libDataSet1. Tables [«Абоненты»].Rows. Find (Pass. Text) == null)

libDataSet1. Tables [«Абоненты»].Rows. Add (textBox3. Text, textBox1. Text, textBox2. Text, DateOfBirth. Value. Date. ToString(), textBox5. Text, textBox6. Text, HouseNum. Value, ApartNum. Value, Pass. Text, 0);

}

private void dateTimePicker1_ValueChanged (object sender, EventArgs e)

{

}

private void numericUpDown1_ValueChanged (object sender, EventArgs e)

{

}

}

}

3.6 Form 6 - Запись и сдача книг

using System;

using System. Collections. Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Text;

using System. Windows. Forms;

using System. Text. RegularExpressions;

namespace WindowsApplication1

{

public partial class Form6: Form

{

public Form6 ()

{

InitializeComponent();

}

private void button1_Click (object sender, EventArgs e)

{

взятые_книгиTableAdapter. Update(libDataSet1);

абонентыTableAdapter. Update(libDataSet1);

книгиTableAdapter. Update(libDataSet1);

Hide();

Form1 a = new Form1 ();

a. ShowDialog();

this. Close();

}

private void label6_Click (object sender, EventArgs e)

{

}

private void Form6_Load (object sender, EventArgs e)

{

 // TODO: This line of code loads data into the 'libDataSet1. Взятые_книги' table. You can move, or remove it, as needed.

this.взятые_книгиTableAdapter. Fill (this.libDataSet1. Взятые_книги);

this.абонентыTableAdapter. Fill (this.libDataSet1. Абоненты);

this.книгиTableAdapter. Fill (this.libDataSet1. Книги);

libDataSet1. Tables [«Взятые_книги»].PrimaryKey = new DataColumn[] {libDataSet1. Tables [«Взятые_книги»].Columns[0], libDataSet1. Tables [«Взятые_книги»].Columns[1]};

}

private void button8_Click (object sender, EventArgs e)

{

string filter = «»;

if (textBox9. Text!= «»)

filter = «Фамилия = '» + textBox9. Text + «'»;

if (textBox11. Text!= «»)

{

if (filter!= «»)

filter += «AND»;

filter += «Имя = '» + textBox11. Text + «'»;

}

if (textBox10. Text!= «»)

{

if (filter!= «»)

filter += «AND»;

filter += «Отчество = '» + textBox10. Text + «'»;

}

if (filter!= «»)

filter += «AND»;

filter += «[Дата рождения] = '» + DateOfBirth. Value. Date. ToString() + «'»;

if (textBox8. Text!= «»)

{

if (filter!= «»)

filter += «AND»;

filter += «Город = '» + textBox8. Text + «'»;

}

if (textBox6. Text!= «»)

{

if (filter!= «»)

filter += «AND»;

filter += «Улица = '» + textBox6. Text + «'»;

}

if (textBox7. Text!= «»)

{

if (Regex. IsMatch (textBox7. Text, «^\\d+$»))

{

if (filter!= «»)

filter += «AND»;

filter += «Дом = '» + textBox7. Text + «'»;

}

}

if (textBox5. Text!= «»)

{

if (Regex. IsMatch (textBox5. Text, «^\\d+$»))

{

if (filter!= «»)

filter += «AND»;

filter += «Квартира = '» + textBox5. Text + «'»;

}

}

if (Pass. Text!= «»)

{

if (Regex. IsMatch (Pass. Text, «^\\d+$»))

{

if (filter!= «»)

filter += «AND»;

filter += «Паспорт = '» + Pass. Text + «'»;

}

}

абонентыBindingSource. Filter = filter;

}

private void button7_Click (object sender, EventArgs e)

{

string filter = «»;

if (Pass. Text!= «» && Regex. IsMatch (Pass. Text, «^\\d+$»))

filter += «Паспорт = '» + Pass. Text + «'»;

абонентыBindingSource. Filter = filter;

}

private void button2_Click (object sender, EventArgs e)

{

string filter = «»;

if (textBox1. Text!= «»)

filter = «Наименование = '» + textBox1. Text + «'»;

if (textBox2. Text!= «»)

{

if (filter!= «»)

filter += «AND»;

filter += «Автор = '» + textBox2. Text + «'»;

}

if (textBox3. Text!= «»)

{

if (filter!= «»)

filter += «AND»;

filter += «Издательство = '» + textBox3. Text + «'»;

}

if (textBox4. Text!= «»)

{

if (Regex. IsMatch (textBox4. Text, «^\\d+$»))

{

if (filter!= «»)

filter += «AND»;

filter += «Год = '» + textBox4. Text + «'»;

}

}

книгиBindingSource. Filter = filter;

}

private void button3_Click (object sender, EventArgs e)

{

string filter = «»;

if (textBox1. Text!= «»)

filter = «Наименование = '» + textBox1. Text + «'»;

книгиBindingSource. Filter = filter;

}

private void button4_Click (object sender, EventArgs e)

{

string filter = «»;

if (textBox2. Text!= «»)

filter = «Автор = '» + textBox2. Text + «'»;

книгиBindingSource. Filter = filter;

}

private void button5_Click (object sender, EventArgs e)

{

string filter = «»;

if (textBox3. Text!= «»)

filter = «Издательство = '» + textBox3. Text + «'»;

книгиBindingSource. Filter = filter;

}

private void button6_Click (object sender, EventArgs e)

{

string filter = «»;

if (textBox4. Text!= «»)

if (Regex. IsMatch (textBox4. Text, «^\\d+$»))

filter += «Год = '» + textBox4. Text + «'»;

книгиBindingSource. Filter = filter;

}

private void button9_Click (object sender, EventArgs e)

{

object[] myarray = new object[2] {dataGridView2. CurrentRow. Cells[8].Value. ToString(), dataGridView1. CurrentRow. Cells[0].Value. ToString()};

if (dataGridView2. CurrentRow!= null && dataGridView1. CurrentRow!= null && libDataSet1. Tables [«Взятые_книги»].Rows. Find(myarray) == null)

{

DataRowView book_row = (DataRowView) dataGridView1. CurrentRow. DataBoundItem;

if ((int) book_row. Row[4] < (int) book_row. Row[5])

{

libDataSet1. Tables [«Взятые_книги»].Rows. Add (dataGridView2. CurrentRow. Cells[8].Value. ToString(), dataGridView1. CurrentRow. Cells[0].Value. ToString(), RetDate. Value. Date. ToString());

DataRowView ab_row = (DataRowView) dataGridView2. CurrentRow. DataBoundItem;

ab_row. Row[9] = (int) ab_row. Row[9] + 1;

book_row. Row[4] = (int) book_row. Row[4] + 1;

}

}

}

private void dataGridView2_CursorChanged (object sender, EventArgs e)

{

}

private void dataGridView2_SelectionChanged (object sender, EventArgs e)

{

string filter = «»;

if (dataGridView2. CurrentRow!= null)

filter += «Паспорт = '» + dataGridView2. CurrentRow. Cells[8].Value. ToString() + «'»;

взятыекнигиBindingSource. Filter = filter;

}

private void groupBox1_Enter (object sender, EventArgs e)

{

}

private void button10_Click (object sender, EventArgs e)

{

if (dataGridView3. CurrentRow!= null && dataGridView2. CurrentRow!= null && dataGridView1. CurrentRow!= null)

{

DataRowView ab_row = (DataRowView) dataGridView2. CurrentRow. DataBoundItem;

ab_row. Row[9] = (int) ab_row. Row[9] - 1;

int ind = книгиBindingSource. Find («Наименование», dataGridView3. CurrentRow. Cells[0].Value. ToString());

DataRowView bo_row = (DataRowView) книгиBindingSource. List[ind];

bo_row. Row[4] = (int) bo_row. Row[4] - 1;

dataGridView3. Rows. RemoveAt (dataGridView3. CurrentRow. Index);

}

}

private void label5_Click (object sender, EventArgs e)

{

}

private void button11_Click (object sender, EventArgs e)

{

Hide();

Form7 a = new Form7 ();

a. ShowDialog();

this. Close();

}

}

}

3.7 Form 7 - Должники

using System;

using System. Collections. Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Text;

using System. Windows. Forms;

namespace WindowsApplication1

{

public partial class Form7: Form

{

public Form7 ()

{

InitializeComponent();

}

private void Form7_Load (object sender, EventArgs e)

{

 // TODO: This line of code loads data into the 'libDataSet1. Абоненты' table. You can move, or remove it, as needed.

this.абонентыTableAdapter. Fill (this.libDataSet1. Абоненты);

абонентыBindingSource. Filter = «[Кол-во книг] > 0»;

}

private void button1_Click (object sender, EventArgs e)

{

Hide();

Form6 a = new Form6 ();

a. ShowDialog();

this. Close();

}

}

}

Заключение

программа библиотека поиск книга

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

Список источников

1. Павловская, Т.А. C#. Программирование на языке высокого уровня. Учебник для вузов/ Т.А. Павловская. - СПб.: Питер, 2009. - 432 с., ил.

2. Дарахвелидзе, П.Г. Программирование в Delphi 7/ П.Г. Дарахвелидзе, Е.П. Марков. - СПб.: БХВ-Петербург, 2003. - 784 с., ил.

3. Троелсен, Эндрю Язык программирования C# 2005 и платформа.NET 2.0/ Эндрю Троелсен. - 3-е изд.: пер. с англ. М. «И.Д. Вильямс», 2007. - 1168 с., ил.

4. Постолит, А.В. Visual Studio.NET: разработка приложений баз данных/ А.В. Постолит. - СПб.: БХВ-Петербург, 2003. - 544 с., ил.

5. Верма, Р.Д. Справочник по функциям Win32 API/ Р.Д. Верма. - 2-е изд. - М.: Горячая линия-Телеком, 2005. - 551 с., ил.

Размещено на Allbest.ru


Подобные документы

  • Проектирование программы, которая ведет учет книг в книгохранилище библиотеки. Выбор языка программирования. Разработка и элементы тестового приложения, его структура. Заполнение основных полей для добавления книги. Тестирование программы, ее алгоритм.

    курсовая работа [1,5 M], добавлен 20.11.2015

  • Технико-математическое описание задачи. Требования к программе учета книг и читателей библиотеки. Описание языка программирования. Алгоритмы обработки информации. Текст программы. Инструкция на выполнение: вызов и загрузка, входные и выходные данные.

    дипломная работа [1,2 M], добавлен 29.06.2012

  • Проектирование базы данных для библиотеки и разработка программы для её удобного использования. Пример работы приложения на примере поиска статей по заданным условиям, а также основных операций с данными – добавления в базу, редактирования и удаления.

    курсовая работа [2,5 M], добавлен 23.02.2014

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

    контрольная работа [477,6 K], добавлен 28.09.2010

  • Программа поиска в базе данных в среде Borland Delphi 7.0 Enterprise. Условия и блок-схемы задач. Ввод массива. Текст программ в Delphi, в Паскаль. Текст программы поиска в базе данных. Кодирование материала. Изготовление реляционной базы данных.

    практическая работа [27,6 K], добавлен 11.10.2008

  • Создание контекстной диаграммы информационной системы библиотеки. Основные компоненты и особенности ведения каталогов книг и читателей. Моделирование систем поиска и формирования заказов. Разработка диаграммы дерева узлов и логической модели базы данных.

    курсовая работа [1,1 M], добавлен 24.06.2013

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

    презентация [534,5 K], добавлен 08.12.2011

  • Разработка программы для рисования различных правильных многоугольников с помощью объектно-ориентированного языка программирования. Использование для разработки среды C++ Builder 6 и библиотеки VCL. Разработка интерфейса приложения и алгоритма его работы.

    курсовая работа [616,4 K], добавлен 18.10.2010

  • Характеристика структурированного языка программирования С, его основных структурных компонентов, области памяти, библиотеки. Методы поиска в массивах данных. Описание программы, функции сортировки и меню выбора, последовательного и бинарного поиска.

    курсовая работа [1,7 M], добавлен 19.05.2014

  • Разработка программы, моделирующей работу сложного механизма, состоящего из двух кривошипов, шатунов и ползуна, в среде Delphi 7. Описание алгоритма работы программы и расчет ускорения точек механизма. Обзор уравнения сложности и руководства пользователя.

    курсовая работа [143,3 K], добавлен 07.08.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.