Автоматизована інформаційна система "Облік аудиторного фонду університету"
Проектування автоматизованої інформаційної системи обліку аудиторного фонду, яка має виконувати наступні функції: ініціалізацію; додавання і видалення елементів; переміщення по структурі даних; пошук елементів. Розробка інтерфейсу, інструкції користувача.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 08.05.2012 |
Размер файла | 1,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «УЖГОРОДСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ» ІНЖЕНЕРНО-ТЕХНІЧНИЙ ФАКУЛЬТЕТ КАФЕДРА КОМП'ЮТЕРНИХ СИСТЕМ ТА МЕРЕЖ
КУРСОВА РОБОТА
з дисципліни Програмування
напрям підготовки 0915 - «Комп'ютерна інженерія»
Тема роботи
АІС «Облік аудиторного фонду університету»
Ужгород - 2012
ЗМІСТ
ІНДИВІДУАЛЬНЕ ТЕХНІЧНЕ ЗАВДАННЯ
ВСТУП
1. ОПИС ОСНОВНИХ КОМПОНЕНТ
2. ОПИС СТРУКТУРИ ОСНОВНИХ ПРОЦЕДУР ТА ВИКОРИСТАННИХ АЛГОРИТМІВ
3. ОПИС ПРОГРАМИ
4. ІНСТРУКЦІЯ ДЛЯ КОРИСТУВАЧА
ВИСНОВКИ
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ
ДОДАТКИ
ІНДИВІДУАЛЬНЕ ТЕХНІЧНЕ ЗАВДАННЯ
Завдання та вимоги до реалізації: Аудиторний фонд університету складається з певної кількості корпусів, кожен з яких містить різну кількість поверхів. Аудиторії кожного корпусу нумеруються згідно стандарту: номер поверху і номер аудиторії (наприклад 501,210 і т.д.). Врахувати назви аудиторій, адреси корпусів, де вони містяться. Також врахувати додаткові аудиторії, які не належать основним корпусам університету. Здійснити пошук атрибутів аудиторії по вказаній назві, номеру.
Для реалізації поставленої задачі використати записи. Реалізувати можливість збереження даних у файл та редагування збережених даних. Дати теоретичний опис особливостей реалізації заданої структури. Практична реалізація повинна забезпечити можливість виконання наступних операцій над створеною структурою даних:
1) ініціалізацію;
2) додавання нових елементів;
3) видалення елементів;
4) переміщення по структурі даних (її обхід);
5) пошук елементів структури даних, що відповідають заданим критеріям;
6) виведення всіх елементів структури даних.
Аналітичне та практичне дослідження: дослідити ефективність створеної структури.
Особливі вимоги: розробити меню, що забезпечує інтерактивну взаємодію користувача з комп'ютером при виборі відповідної структури даних і операцій, що виконуються над нею.
ВСТУП
В наш час створено дуже багато програм, які значно полегшують і роблять цікавішим роботу користувача з комп'ютером. В такий список програм входить і програмне середовище Delphi.
Середовище Delphi містить у собі повний набір візуальних інструментів для швидкої розробки програм (RAD - rapid application development), що підтримує розробку інтерфейсу користувача та підключення до корпоративних баз даних. VCL - бібліотека візуальних компонентів, що містить стандартні об'єкти побудови інтерфейсу користувача, графічні об'єкти, діалоги, об'єкти мультимедіа, об'єкти керування базами даних, об'єкти керування файлами тощо.
Саму розробку програми можна поділити на дві частини: візуальну та алгоритмічну.
Найпростіша програма складається з однієї форми, складні - з 2 і більше. Створена програма «Облік аудиторного фонду університету» для перегляду та редагування інформації про аудиторії університету саме відноситься до складних програм.
1. ОПИС ОСНОВНИХ КОМПОНЕНТ
Програма складається з п'яти форм, кожна з яких містить свої компоненти:
Form1: StringGrid1, MainMenu1, 7 компонент Button, OpenDialog, SaveDialog, Edit1.
Form2: 6 компонент Label, 6 компонент Edit, Button1.
Form3: 6 компонент CheckBox, 6 компонент Edit, Button1.
Form4 i Form5: Memo1.
Таблиця StringGrid:
? використовується для виведення-введення даних у таблицю. Кожна клітинка таблиці має рядковий тип. SrtingGrid у формі має вигляд:
Всі клітинки таблиці утворюють двовимірний масив рядків (див. типи змінних). Програмне звертання до кожної клітинки ведеться за номером стовпчика та рядку. Нумерація рядків та стовпчиків ведеться з 0. Наприклад клітинка, що розташована у 3-му рядку 2-го стовпчика має значення StringGrid1.Cells[nc,nr], де nc - номер стовпчика, nr - номер рядка.
Створення меню MainMenu:
- створення меню програми. За допомогою цього об'єкту можна створити меню у програмі. У формі Menu має вигляд:
Для встановлення назви пунктів та підпунктів меню досить двічі клацнути на Размещено на http://www.allbest.ru/
об'єкт лівою клавішею мишки. На екран буде виведено меню:
Далі слід вказати назву головного пункту меню. Наприклад File. На екрані це виглядатиме та
Далі, рухаючись униз ми додаватимемо підпункти меню (слід вказувати їх назви), і вправо - пункти меню. Якщо клацнути у будь-який з підпунктів меню двічі лівою клавішею мишки, то автоматично створиться підпрограма, у якій треба буде вказати послідовність операторів, що виконуватимуться при виборі відповідного пункту меню при роботі програми. Меню розташовується у програмі автоматично у лівому верхньому куті вікна програми.
Кнопка Button:
- командна кнопка. Використовується для запуску процесів (наприклад обчислень, змін параметрів об'єктів та ін.). На екрані має виглядРазмещено на http://www.allbest.ru/
OpenDialog:
- OpenDialog. Використовується для вибору файлу з існуючих під час роботи програми.
Размещено на http://www.allbest.ru/
Активізації діалогу можна досягнути за допомогою перевірки параметра execute, що приймає значення True(правда), якщо файл був вибраний, і False, якщо ні. Ім'я вибраного файлу присвоюється параметру FileName, що має рядковий тип.
Наприклад, якщо у нас є об'єкт OpenDialog1, то за допомогою запуску умовного оператора if (див. розділ Робота з текстовими файлами.) ми отримаємо ім'я вибраного файлу у OpenDialog1.FileName тобто:
if OpenDialog1.Execute then s:=OpenDialog1.FileName;
де s - рядкова змінна.
При цьому, під час роботи програми, на екрані буде подано вікно вигляду
у якому можна вибрати ім'я файлу.
Зазначимо, що головним призначенням об'єкту OpenDialog є тільки вибір файлу та присвоєння його імені та повного шляху якійсь рядковій змінній.
SaveDialog:
- SaveDialog. Використовується для встановлення імені файлу під час роботи програми.
Принцип роботи SaveDialog аналогічний до OpenDialog. Відмінністю є те, що нам не обов'язковРазмещено на http://www.allbest.ru/
о вибирати існуючий файл, а можна вказати нове ім'я файлу.
У програмі це матиме вигляд
if SaveDialog1.Execute then s:=SaveDialog1.FileName;
де s - рядкова змінна.
При цьому, під час роботи програми, на екрані буде подано вікно вигляду
у якому можна вказати ім'я файлу.
Зазначимо, що головним призначенням об'єкту SaveDialog є тільки визначення імені файлу та присвоєння його та повного шляху якійсь рядковій змінній.
Рядок редагування Edit:
- рядок редагування. Використовується для введення та, іноді, для виведення інформації. На екрані має вигляд
Размещено на http://www.allbest.ru/
CheckBox - компонент, що активується, якщо включена мітка.
Memo - компонент, який так як і Edit використовується для виведення інфо рмації.
2. ОПИС СТРУКТУРИ ОСНОВНИХ ПРОЦЕДУР ТА ВИКОРИСТАНИХ АЛГОРИТМІВ
Для пошуку елемента у таблиці StringGrid1 я використав лінійний пошук, який полягає в послідовному переборі всіх елементів вхідного масиву й пошуку найменшого індексу і компонента масиву зі значенням x. Для того, щоб відсортувати елементи в таблиці по заданим атрибутам, я використав сортування методом обміну (бульбашковий), ідея якого полягає в порівнянні сусідніх елементів з перестановкою згідно з критеріями сортування.
Опис використаної структури типу запис:
В програмі я використав такий тип даних, як запис. Формально, структуру-запис можна означити як лінійний неоднорідний масив елементів. Лінійність означає, що елементи типу «запис» (їх ще називають полями запису) розміщуються послідовно один за одним. А неоднорідність -- що елементи структури-запису (поля) можуть мати різний розмір в байтах.
Запис, використаний в програмі АІС «Аудиторний фонд університету»:
Type AIC=record
Nomerayd: string[255];
Poverh:integer;
Nkor:integer;
Adrkorp:string[255];
Fakyijtet:string[255];
Prumitka:string[255];
end;
3. ОПИС ПРОГРАМИ
Створюю 5 форм, де розміщаю компоненти: StringGrid, MainMenu, Button, Edit, Memo.
Рис. 1 Лістинг головного вікна програми
1.Процедура відкриття даних:
procedure TForm1.Button2Click(Sender: TObject);
var a:Aic; n,i:integer;
begin
lich:=0;
AssignFile(f,ss);
reset(f);
n:=Filesize(f);
stringgrid1.RowCount:=n+1;
stringgrid1.FixedRows:=1;
for i:=1 to n do
begin
seek(f,i-1);
read(f,a);
Stringgrid1.Cells[0,i]:=inttostr(i);
Stringgrid1.Cells[1,i]:=a.Nomerayd;
Stringgrid1.Cells[2,i]:=inttostr(a.Poverh);
Stringgrid1.Cells[3,i]:=inttostr(a.Nkor);
Stringgrid1.Cells[4,i]:=a.Adrkorp;
Stringgrid1.Cells[5,i]:=a.Fakyijtet;
Stringgrid1.Cells[6,i]:=a.Prumitka;
end;
closefile(f);
end;
2.Процедура закриття даних:
procedure TForm1.Button1Click(Sender: TObject);
begin
lich:=0;
stringgrid1.RowCount:=1;
end;
3.Процедура обновлення даних:
procedure TForm1.Button6Click(Sender: TObject);
var i:integer;
begin
Assignfile(f,ss);
reset(f);
For i:=1 to stringgrid1.RowCount-1 do
begin
a.Nomerayd:=Stringgrid1.Cells[1,i];
a.Poverh:= strtoint(Stringgrid1.Cells[2,i]);
a.Nkor:=strtoint(Stringgrid1.Cells[3,i]);
a.Adrkorp:=Stringgrid1.Cells[4,i];
a.Fakyijtet:=Stringgrid1.Cells[5,i];
a.Prumitka:=Stringgrid1.Cells[6,i];
seek(f,i-1);
write(f,a)
end;
end;
4.Процедура видалиння елемента:
procedure TForm1.Button4Click(Sender: TObject);
var i,n:integer; b:array[0..100] of Aic;
begin
k:=strtoint(edit1.text);
l:=0;
AssignFile(f,ss);
reset(f);
n:=Filesize(f);
Form1.stringgrid1.RowCount:=n+1;
for i:=1 to n do
begin
seek(f,i-1);
if i<>k then
begin
read(f,b[l]);
inc(l);
end;
end;
rewrite(f);
For i:=1 to l do
begin
seek(f,i-1);
write(f,b[i-1]);
end;
closefile(f);
Button2Click(Sender);
end;
5.Процедура обхід:
procedure TForm1.Button7Click(Sender: TObject);
begin
Stringgrid1.RowCount:=2;
Assignfile(f,ss);
reset(f);
inc(lich);
if filesize(f)<>0 then
begin
if lich>filesize(f) then lich:=1;
seek(f,lich-1);
read(f,a);
Stringgrid1.Cells[0,1]:=inttostr(lich);
Stringgrid1.Cells[1,1]:=a.Nomerayd;
Stringgrid1.Cells[2,1]:=inttostr(a.Poverh);
Stringgrid1.Cells[3,1]:=inttostr(a.Nkor);
Stringgrid1.Cells[4,1]:=a.Adrkorp;
Stringgrid1.Cells[5,1]:=a.Fakyijtet;
Stringgrid1.Cells[6,1]:=a.Prumitka;
end;
end;
6.Процедура додання даних:
procedure TForm1.Button3Click(Sender: TObject);
var i:integer; a:Aic;
begin
Form2.Visible:=true;
Form2.Edit1.Clear;
Form2.Edit2.Clear;
Form2.Edit3.Clear;
Form2.Edit4.Clear;
Form2.Edit5.Clear;
Form2.Edit6.Clear;
end;
7.Процедура додання елемента:
procedure TForm2.Button1Click(Sender: TObject);
begin
AssignFile(f,ss);
reset(f);
seek(f,filesize(f));
a.Nomerayd:=Edit1.text;
a.Nkor:=strtoint(Edit2.Text);
a.Adrkorp:=Edit3.Text;
a.Fakyijtet:=Edit4.Text;
a.Prumitka:=Edit5.Text;
a.Poverh:=strtoint(Edit6.Text);
write(f,a);
closefile(f);
Form1.Button2Click(Sender);
Form2.Close;
end;
8.Процедура пошуку даних:
procedure TForm1.Button5Click(Sender: TObject);
begin
Form3.visible:=true;
end;
procedure TForm3.Button1Click(Sender: TObject);
var d,i,n:integer; a:Aic;
begin
kj:=0;
AssignFile(f,ss);
reset(f);
n:=Filesize(f);
Form1.stringgrid1.RowCount:=n+1;
for i:=1 to n do
begin
seek(f,i-1);
read(f,a);
d:=0;
if checkbox1.Checked=true then if (a.Nomerayd=edit1.Text) then d:=1 else d:=2;
if checkbox6.Checked=true then if (a.Poverh=strtoint(edit6.Text)) and(d<>2) then d:=1 else d:=2;
if checkbox2.Checked=true then if (a.Nkor=strtoint(edit2.Text)) and(d<>2) then d:=1 else d:=2;
if checkbox3.Checked=true then if (a.Adrkorp=edit3.Text) and(d<>2) then d:=1 else d:=2;
if checkbox4.Checked=true then if (a.Fakyijtet=edit4.Text) and(d<>2) then d:=1 else d:=2;
if checkbox5.Checked=true then if (a.Prumitka=edit5.Text) and(d<>2) then d:=1 else d:=2;
if d=1 then
begin
inc(kj);
b[kj]:=a;
end;
end;
closefile(f);
Form1.StringGrid1.RowCount:=kj+1;
for i:=1 to kj do
begin
Form1.Stringgrid1.Cells[0,i]:=inttostr(i);
Form1.Stringgrid1.Cells[1,i]:=b[i].Nomerayd;
Form1.Stringgrid1.Cells[2,i]:=inttostr( b[i].Poverh);
Form1.Stringgrid1.Cells[3,i]:=inttostr( b[i].Nkor);
Form1.Stringgrid1.Cells[4,i]:=b[i].Adrkorp;
Form1.Stringgrid1.Cells[5,i]:=b[i].Fakyijtet;
Form1.Stringgrid1.Cells[6,i]:=b[i].Prumitka;
end ;
Form3.Close;
end;
9.Процедура видалиння списку всіх елементів:
procedure TForm1.N7Click(Sender: TObject);
begin
lich:=0;
AssignFile(f,ss);
rewrite(f);
stringgrid1.RowCount:=1;
end;
10.Процедура відкриття списку даних:
procedure TForm1.N3Click(Sender: TObject);
var a:Aic; n,i:integer;
begin
if opendialog1.Execute then ss:=opendialog1.FileName;
lich:=0;
AssignFile(f,ss);
reset(f);
n:=Filesize(f);
stringgrid1.RowCount:=n+1;
if stringgrid1.RowCount>1 then
stringgrid1.FixedRows:=1;
for i:=1 to n do
begin
seek(f,i-1);
read(f,a);
Stringgrid1.Cells[0,i]:=inttostr(i);
Stringgrid1.Cells[1,i]:=a.Nomerayd;
Stringgrid1.Cells[2,i]:=inttostr(a.Poverh);
Stringgrid1.Cells[3,i]:=inttostr(a.Nkor);
Stringgrid1.Cells[4,i]:=a.Adrkorp;
Stringgrid1.Cells[5,i]:=a.Fakyijtet;
Stringgrid1.Cells[6,i]:=a.Prumitka;
end;
closefile(f);
end;
11.Процедура сортування даних:
procedure TForm1.N9Click(Sender: TObject);
var a,a1:Aic ; i,j:integer;
begin
assignfile(f,ss);
reset(f);
filesize(f);
For i:=0 to filesize(f)-1 do
For j:=0 to filesize(f)-2 do
begin
seek(f,j);
read(f,a);
seek(f,j+1);
read(f,a1);
if a.Nomerayd>a1.Nomerayd then
begin
seek(f,j);
write(f,a1);
seek(f,j+1);
write(f,a);
end;
end;
Button2Click(sender);
End;
12.Процедура зберігання даних у файл:
procedure TForm1.N8Click(Sender: TObject);
var a:Aic; ss1:string;
begin
Assignfile(f,ss);
reset(f);
if savedialog1.Execute then ss:=savedialog1.FileName;
Assignfile(f1,ss);
rewrite(f1);
While not(eof(f)) do
begin
read(f,a);
write(f1,a);
end
4. ІНСТРУКЦІЯ ДЛЯ КОРИСТУВАЧА
1. Відкриваємо меню Файл=>Відкрити файл і відкриваємо дані або створюємо нові - Додати новий елемент і у меню, яке відкриється вводимо атрибути елемента.
2. Дані можна редагувати за будь- яким атрибутом. Після кожного редагування потрібно натиснути на Обновити дані.
3. Для пошуку елемента натискаємо Пошук, вибираємо по яких атрибутах потрібно здійснити пошук (ставимо позначку), і, відповідно вводимо самі атрибути.
4. Для сортування потрібно вибрати пункт Сортування і вибрати по якому атрибуті будемо сортувати.
5. Щоб видалити елемент треба у комірку (справа біля Видалити елемент) ввести номер елементу і натиснути на саму кнопку видалення.
6. Для відображення переміщення по структурі даних (обхід) використовується кнопка Обхід.
7. Пункти Справка та Про програму - додаткова інформація про програму.
ВИСНОВКИ
Мета даної курсової роботи - розробка автоматизованої інформаційної системи обліку аудиторного фонду, яка має виконувати наступні функції:
1.ініціалізацію;
2.додавання нових елементів;
3.видалення елементів;
4.переміщення по структурі даних (її обхід);
5.пошук елементів структури даних, що відповідають заданим критеріям;
6.виведення всіх елементів структури даних.
Дана програма являє собою дані про аудиторії університету. Також вона дозволяє здійснити пошук заданої аудиторії університету по введеним атрибутам. У програмі реалізовані також функції додавання аудиторій у таблицю і їх видалення. Інтерфейс програми забезпечує інтерактивну взаємодію користувача з програмою. В залежності від користування програмою, її можна використати для отримання певної інформації про аудиторії університету.
автоматизований інформаційний аудиторний інтерфейс
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ
1. Бобровский С. И. Delphi 7. Учебный курс. -- СПб.: Питер, 2004. -- 736с.
2. Гофман В., Хоменко А. Delphi 5. - СПб,: БХВ Санкт-Петербург, 2000 - 800с.
3. Дудзяний І.М. Програмування мовою Object Pascal. Навчальний посібник .-Львів:Видавничий центр ЛНУ імені Івана Франка, 2003.-328с.
4. Кандзюба С.П., Громов В.И. Delphi 6/7. Базы даных и приложения. Лекции и упражнения. - Спб. : ООО «ДиаСофтЮП»Питер, 2002. -- 576с.
5. Марченко А.И., Марченко Л.А. Програмирование в среде Turbo Рascal 7.0. К.:Век+.--2000.
ДОДАТКИ
Лістинг програми:
unit Unit51;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, Menus, XPMan;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
MainMenu1: TMainMenu;
Af1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
Edit1: TEdit;
XPManifest1: TXPManifest;
Button5: TButton;
Button6: TButton;
Label1: TLabel;
Button7: TButton;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
N3: TMenuItem;
N8: TMenuItem;
C1: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure StringGrid1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Type AIC=record
Nomerayd: string[255];
Poverh:integer;
Nkor:integer;
Adrkorp:string[255];
Fakyijtet:string[255];
Prumitka:string[255];
end;
var
Form1: TForm1;
f1,f:file of Aic;
a:Aic;
b:array[1..200] of Aic;
lich,kj,k,l:integer;
ss:string;
implementation
uses Unit2, Unit3,unit4, Unit5, Unit6;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Stringgrid1.Cells[0,0]:='№';
Stringgrid1.Cells[1,0]:='Номер аудиторії ';
Stringgrid1.Cells[2,0]:='Номер поверху';
Stringgrid1.Cells[3,0]:='Номер корпусу';
Stringgrid1.Cells[4,0]:='Адреса корпусу';
Stringgrid1.Cells[5,0]:='Факультет';
Stringgrid1.Cells[6,0]:='Примітки';
lich:=0;
ss:='basa.dat';
end;
procedure TForm1.Button2Click(Sender: TObject);
var a:Aic; n,i:integer;
begin
lich:=0;
AssignFile(f,ss);
reset(f);
n:=Filesize(f);
stringgrid1.RowCount:=n+1;
stringgrid1.FixedRows:=1;
for i:=1 to n do
begin
seek(f,i-1);
read(f,a);
Stringgrid1.Cells[0,i]:=inttostr(i);
Stringgrid1.Cells[1,i]:=a.Nomerayd;
Stringgrid1.Cells[2,i]:=inttostr(a.Poverh);
Stringgrid1.Cells[3,i]:=inttostr(a.Nkor);
Stringgrid1.Cells[4,i]:=a.Adrkorp;
Stringgrid1.Cells[5,i]:=a.Fakyijtet;
Stringgrid1.Cells[6,i]:=a.Prumitka;
end;
closefile(f);
end;
procedure TForm1.Button3Click(Sender: TObject);
var i:integer; a:Aic;
begin
Form2.Visible:=true;
Form2.Edit1.Clear;
Form2.Edit2.Clear;
Form2.Edit3.Clear;
Form2.Edit4.Clear;
Form2.Edit5.Clear;
Form2.Edit6.Clear;
end;
procedure TForm1.Button4Click(Sender: TObject);
var i,n:integer; b:array[0..100] of Aic;
begin
k:=strtoint(edit1.text);
l:=0;
AssignFile(f,ss);
reset(f);
n:=Filesize(f);
Form1.stringgrid1.RowCount:=n+1;
for i:=1 to n do
begin
seek(f,i-1);
if i<>k then
begin
read(f,b[l]);
inc(l);
end;
end;
rewrite(f);
For i:=1 to l do
begin
seek(f,i-1);
write(f,b[i-1]);
end;
closefile(f);
Button2Click(Sender);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
lich:=0;
stringgrid1.RowCount:=1;
end;
procedure TForm1.N1Click(Sender: TObject);
var a:Aic; n,i:integer;
begin
AssignFile(f,ss);
reset(f);
n:=Filesize(f);
stringgrid1.RowCount:=n+1;
if stringgrid1.RowCount>1 then
stringgrid1.FixedRows:=1;
for i:=1 to n do
begin
seek(f,i-1);
read(f,a);
Stringgrid1.Cells[0,i]:=inttostr(i);
Stringgrid1.Cells[1,i]:=a.Nomerayd;
Stringgrid1.Cells[2,i]:=inttostr(a.Poverh);
Stringgrid1.Cells[3,i]:=inttostr(a.Nkor);
Stringgrid1.Cells[4,i]:=a.Adrkorp;
Stringgrid1.Cells[5,i]:=a.Fakyijtet;
Stringgrid1.Cells[6,i]:=a.Prumitka;
end;
closefile(f);
end;
procedure TForm1.N2Click(Sender: TObject);
var i:integer; a:Aic;
begin
lich:=0;
Form2.Visible:=true;
Form2.Edit1.Clear;
Form2.Edit2.Clear;
Form2.Edit3.Clear;
Form2.Edit4.Clear;
Form2.Edit5.Clear;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
lich:=0;
stringgrid1.RowCount:=1;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
lich:=0;
AssignFile(f,ss);
rewrite(f);
stringgrid1.RowCount:=1;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Form3.visible:=true;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Form3.visible:=true;
end;
procedure TForm1.Button6Click(Sender: TObject);
var i:integer;
begin
Assignfile(f,ss);
reset(f);
For i:=1 to stringgrid1.RowCount-1 do
begin
a.Nomerayd:=Stringgrid1.Cells[1,i];
a.Poverh:= strtoint(Stringgrid1.Cells[2,i]);
a.Nkor:=strtoint(Stringgrid1.Cells[3,i]);
a.Adrkorp:=Stringgrid1.Cells[4,i];
a.Fakyijtet:=Stringgrid1.Cells[5,i];
a.Prumitka:=Stringgrid1.Cells[6,i];
seek(f,i-1);
write(f,a)
end;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
Stringgrid1.RowCount:=2;
Assignfile(f,ss);
reset(f);
inc(lich);
if filesize(f)<>0 then
begin
if lich>filesize(f) then lich:=1;
seek(f,lich-1);
read(f,a);
Stringgrid1.Cells[0,1]:=inttostr(lich);
Stringgrid1.Cells[1,1]:=a.Nomerayd;
Stringgrid1.Cells[2,1]:=inttostr(a.Poverh);
Stringgrid1.Cells[3,1]:=inttostr(a.Nkor);
Stringgrid1.Cells[4,1]:=a.Adrkorp;
Stringgrid1.Cells[5,1]:=a.Fakyijtet;
Stringgrid1.Cells[6,1]:=a.Prumitka;
end;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Form6.visible:=true;
end;
procedure TForm1.N3Click(Sender: TObject);
var a:Aic; n,i:integer;
begin
if opendialog1.Execute then ss:=opendialog1.FileName;
lich:=0;
AssignFile(f,ss);
reset(f);
n:=Filesize(f);
stringgrid1.RowCount:=n+1;
if stringgrid1.RowCount>1 then
stringgrid1.FixedRows:=1;
for i:=1 to n do
begin
seek(f,i-1);
read(f,a);
Stringgrid1.Cells[0,i]:=inttostr(i);
Stringgrid1.Cells[1,i]:=a.Nomerayd;
Stringgrid1.Cells[2,i]:=inttostr(a.Poverh);
Stringgrid1.Cells[3,i]:=inttostr(a.Nkor);
Stringgrid1.Cells[4,i]:=a.Adrkorp;
Stringgrid1.Cells[5,i]:=a.Fakyijtet;
Stringgrid1.Cells[6,i]:=a.Prumitka;
end;
closefile(f);
end;
procedure TForm1.N8Click(Sender: TObject);
var a:Aic; ss1:string;
begin
Assignfile(f,ss);
reset(f);
if savedialog1.Execute then ss:=savedialog1.FileName;
Assignfile(f1,ss);
rewrite(f1);
While not(eof(f)) do
begin
read(f,a);
write(f1,a);
end
end;
procedure TForm1.N9Click(Sender: TObject);
var a,a1:Aic ; i,j:integer;
begin
assignfile(f,ss);
reset(f);
filesize(f);
For i:=0 to filesize(f)-1 do
For j:=0 to filesize(f)-2 do
begin
seek(f,j);
read(f,a);
seek(f,j+1);
read(f,a1);
if a.Nomerayd>a1.Nomerayd then
begin
seek(f,j);
write(f,a1);
seek(f,j+1);
write(f,a);
end;
end;
Button2Click(sender);
end;
procedure TForm1.N10Click(Sender: TObject);
var a,a1:Aic ; i,j:integer;
begin
assignfile(f,ss);
reset(f);
filesize(f);
For i:=0 to filesize(f)-1 do
For j:=0 to filesize(f)-2 do
begin
seek(f,j);
read(f,a);
seek(f,j+1);
read(f,a1);
if a.Poverh>a1.Poverh then
begin
seek(f,j);
write(f,a1);
seek(f,j+1);
write(f,a);
end;
end;
Button2Click(sender);
end;
procedure TForm1.N11Click(Sender: TObject);
var a,a1:Aic ; i,j:integer;
begin
assignfile(f,ss);
reset(f);
filesize(f);
For i:=0 to filesize(f)-1 do
For j:=0 to filesize(f)-2 do
begin
seek(f,j);
read(f,a);
seek(f,j+1);
read(f,a1);
if a.Nkor>a1.Nkor then
begin
seek(f,j);
write(f,a1);
seek(f,j+1);
write(f,a);
end;
end;
Button2Click(sender);
end;
procedure TForm1.N12Click(Sender: TObject);
var a,a1:Aic ; i,j:integer;
begin
assignfile(f,ss);
reset(f);
filesize(f);
For i:=0 to filesize(f)-1 do
For j:=0 to filesize(f)-2 do
begin
seek(f,j);
read(f,a);
seek(f,j+1);
read(f,a1);
if a.Adrkorp>a1.Adrkorp then
begin
seek(f,j);
write(f,a1);
seek(f,j+1);
write(f,a);
end;
end;
Button2Click(sender);
end;
procedure TForm1.N13Click(Sender: TObject);
var a,a1:Aic ; i,j:integer;
begin
assignfile(f,ss);
reset(f);
filesize(f);
For i:=0 to filesize(f)-1 do
For j:=0 to filesize(f)-2 do
begin
seek(f,j);
read(f,a);
seek(f,j+1);
read(f,a1);
if a.Fakyijtet>a1.Fakyijtet then
begin
seek(f,j);
write(f,a1);
seek(f,j+1);
write(f,a);
end;
end;
Button2Click(sender);
end;
procedure TForm1.N14Click(Sender: TObject);
begin
Form5.visible:=true;
end;
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit6: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit51;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
AssignFile(f,ss);
reset(f);
seek(f,filesize(f));
a.Nomerayd:=Edit1.text;
a.Nkor:=strtoint(Edit2.Text);
a.Adrkorp:=Edit3.Text;
a.Fakyijtet:=Edit4.Text;
a.Prumitka:=Edit5.Text;
a.Poverh:=strtoint(Edit6.Text);
write(f,a);
closefile(f);
Form1.Button2Click(Sender);
Form2.Close;
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm3 = class(TForm)
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Button1: TButton;
CheckBox6: TCheckBox;
Edit6: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit51;
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
var d,i,n:integer; a:Aic;
begin
kj:=0;
AssignFile(f,ss);
reset(f);
n:=Filesize(f);
Form1.stringgrid1.RowCount:=n+1;
for i:=1 to n do
begin
seek(f,i-1);
read(f,a);
d:=0;
if checkbox1.Checked=true then if (a.Nomerayd=edit1.Text) then d:=1 else d:=2;
if checkbox6.Checked=true then if (a.Poverh=strtoint(edit6.Text)) and(d<>2) then d:=1 else d:=2;
if checkbox2.Checked=true then if (a.Nkor=strtoint(edit2.Text)) and(d<>2) then d:=1 else d:=2;
if checkbox3.Checked=true then if (a.Adrkorp=edit3.Text) and(d<>2) then d:=1 else d:=2;
if checkbox4.Checked=true then if (a.Fakyijtet=edit4.Text) and(d<>2) then d:=1 else d:=2;
if checkbox5.Checked=true then if (a.Prumitka=edit5.Text) and(d<>2) then d:=1 else d:=2;
if d=1 then
begin
inc(kj);
b[kj]:=a;
end;
end;
closefile(f);
Form1.StringGrid1.RowCount:=kj+1;
for i:=1 to kj do
begin
Form1.Stringgrid1.Cells[0,i]:=inttostr(i);
Form1.Stringgrid1.Cells[1,i]:=b[i].Nomerayd;
Form1.Stringgrid1.Cells[2,i]:=inttostr( b[i].Poverh);
Form1.Stringgrid1.Cells[3,i]:=inttostr( b[i].Nkor);
Form1.Stringgrid1.Cells[4,i]:=b[i].Adrkorp;
Form1.Stringgrid1.Cells[5,i]:=b[i].Fakyijtet;
Form1.Stringgrid1.Cells[6,i]:=b[i].Prumitka;
end ;
Form3.Close;
End.
Размещено на Allbest.ru
Подобные документы
Процес і результати проектування автоматизованої системи "Облік паспортних даних", призначеної для автоматизації обліку паспортних даних. Обґрунтування вибору методів та засобів обробки даних. Створення зручного графічного інтерфейсу користувача.
курсовая работа [1,8 M], добавлен 23.09.2010Розроблення та створення автоматизованої інформаційно-довідкової системи обліку проданих квитків на авіарейси. Обробка баз даних СКБД Access. Розробка зручного діалогового інтерфейсу у вигляді меню користувача, яке реалізоване через керуючу форму.
курсовая работа [56,9 K], добавлен 16.04.2011Розробка та проектування інтерфейсу користувача у середовищі Microsoft Visual Studio 2010 з використання Visaul C#. Введення, додавання, вилучення даних. Пошук і фільтрація потрібних записів за допомогою запитів. Реалізація валідації, обробка виключень.
курсовая работа [1,5 M], добавлен 29.03.2017Розробка інтерфейсу програми "Автоматизована інформаційна система автошколи". Вибір архітектури, характеристика користувача. Генерація, проектування схеми бази даних, детальне програмування. Розробка структури таблиць. Лістинг програми, результат роботи.
курсовая работа [2,7 M], добавлен 11.09.2015База даних як організована структура, призначена для зберігання інформації. Проектування та реалізація в СУБД MS Access інформаційної системи "База даних Internet-ресурсів тестів з психології". Розробка логічної системи даних, інструкції користувача.
курсовая работа [5,3 M], добавлен 22.10.2012Проектування інтерфейсу програми. Вимоги до продукту. Вхідні дані на розробку автоматизованої системи. Вибір середовища програмування. Розробка структури бази даних. Функціональна та логічна структура програми. Розробка структури таблиць бази даних.
курсовая работа [43,1 K], добавлен 30.06.2015Описання процесу і результатів проектування "Автоматизованої інформаційної системи формування і друкування "Відомостей", призначеної для автоматизації кадрового обліку на підприємствах із середньою кількістю працівників. Алгоритм програмного забезпечення.
курсовая работа [1,7 M], добавлен 22.09.2009Опис алгоритмів реалізації автоматизованої інформаційної системи обслуговування роботи торгового агента в середовищі програмування Delphi. Створення схем технологічного процесу введення, редагування і видачі результатів. Інсталяція і експлуатація проекту.
курсовая работа [118,4 K], добавлен 25.09.2010Проектування бази даних. Типи зв’язків між сутностями. Атрибути сутностей, їх типи. Вигляд інформаційної моделі. Програмна реалізації, з'єднання з базою даних, огляд основних методів. Інструкція користувача, контрольний приклад. Прийоми звернення до баз.
дипломная работа [4,0 M], добавлен 14.12.2010Аналіз проектування баз даних та створення програми на тему IC "Туристичні агентства". Розробка простого для розуміння інтерфейсу, огляд реалізації додавання, редагування, видалення, пошуку інформації. Характеристика задач автоматизації і фізичної моделі.
курсовая работа [4,1 M], добавлен 12.01.2012