Моделирование работы библиотеки на С#
Разработка программы, моделирующей работу библиотеки. Функция поиска по базе книг и граждан, записанных в библиотеку. Поиск книги. Добавление или удаление абонента. Текст программы на С#. Просмотр списка должников. Запись книги на абонента в программе.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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