Построение оконных мультизадачных приложений, организация обмена данными между процессами
Курсовая работа, 24 Сентября 2011, автор: пользователь скрыл имя
Описание работы
В курсовом проекте предлагается спроектировать и разработать программу, обеспечивающую мультизадачность. В программе необходимо предусмотреть два визуальных процесса: один для ввода с контролем и корректировки данных (выполнять все виды корректировки – добавление, удаление, замену) и вывода результатов указанного в задании запроса и второй - для выполнения запроса.
Содержание работы
1.ЗАДАНИЕ 3
2.ВВЕДЕНИЕ 4
3. ПРОБЛЕМЫ ПРИ СИНХРОНИЗАЦИИ ПОТОКОВ 5
3.1 СИНХРОНИЗАЦИЯ 6
4. ФУНКЦИИ WINAPI32 7
4.1 КРИТИЧЕСКИЕ СЕКЦИИ 7
4.2 ПОТОКИ 8
4.3 КАНАЛЫ 9
5.ГРАФИЧЕСКОЕ ОТОБРАЖЕНИЕ ВЗАИМОДЕЙСТВИЯ ПОТОКОВ И ОБМЕНА ДАННЫМИ МЕЖДУ НИМИ 12
6. ОПИСАНИЕ ОСНОВНЫХ СОБЫТИЙ ПРИЛОЖЕНИЯ 13
7.РЕЗУЛЬТАТЫ ТЕСТОВЫХ ПРОГОНОВ 14
8.ЛИСТИНГ ПРОГРАММЫ 18
8.1 UNIT1 18
8.2 UNIT2 26
9. ВЫВОД 29
10. СПИСОК ЛИТЕРАТУРЫ 30
Файлы: 1 файл
курсавая работа по Системному программному обеспечению.doc
— 445.50 Кб (Скачать файл)Edit4.Text:='';
end;
procedure TForm2.FormShow(Sender: TObject);
begin
If Iden>0 then
begin
Button1.Caption:='&Изменить';
Edit1.Text:=Ar[Iden].Name_L;
Edit2.Text:=IntToStr(Ar[Iden].
Edit3.Text:=FloatToStr(Ar[
Edit4.Text:=IntToStr(Ar[Iden].
end
else
begin
Button1.Caption:='&Добавить';
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
flag:boolean;
begin
If Button1.Caption ='&Изменить' then
begin
flag:=true;
Ar[Iden].Name_L:=trim(Edit1.
try
Ar[Iden].N_Ap:=StrToInt(Edit2.
except
ShowMessage('Номер аптеки целое число!!');
flag:=false;
end;
try
Ar[Iden].cena:=StrToFloat(
except
ShowMessage('Цена'+#13+'
flag:=false;
end;
try
Ar[Iden].Ko_vo:=StrToInt(
except
ShowMessage('Количество целое число!!');
flag:=false;
end;
if flag then begin Close; Vivod; end;
end;
If Button1.Caption ='&Добавить' then
begin
flag:=true;
inc(HiMass);
try
Ar[HiMass].Name_L:=trim(Edit1.
except
ShowMessage('Строка не должна превышать 256 символов');
flag:=false;
end;
try
Ar[HiMass].N_Ap:=StrToInt(
except
ShowMessage('Номер аптеки
flag:=false;
end;
try
Ar[HiMass].cena:=StrToFloat(
except
ShowMessage('Цена'+#13+'задана неверно!!!');
flag:=false;
end;
try
Ar[HiMass].Ko_vo:=StrToInt(
except
ShowMessage('Количество целое число!!');
flag:=false;
end;
Ar[HiMass].iden:=HiMass;
if flag then begin
Cline; Vivod; end else Dec(HiMass);
end;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
Close; end; end.
9. ВЫВОД
В
курсовом проекте мы получили навыки
создания мультизадачных приложений,
организации процессов, способов обмена
данными через каналы, синхронизации
средствами Win32 API в операционной системе
MS Windows.
10. СПИСОК ЛИТЕРАТУРЫ
- Дарахвелидае П. Г., Марков Е. П Д20 Программирование в Delphi 7. СПб.: БХВ-Петербург, 2003 784 с : ил
- Д. Соломон, М. Руссинович, Внутреннее устройство Windows 2000, Спб.: Питер, М. Издательско-торговый дом «Русская редакция», 2004 – 746 с:ил
- Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение. СПб.: «Питер», 2003 – 736 с: ил
- Вильям Столингс, Операционные системы, М.: Издательский дом «Вильямс», 2002 – 848 с.: ил
- Джеффри Рихтер, MS Windows для профессионалов, СПб: «Питер»; М.: Издательско-торговый дом «Русская редакция» 2003 – 752с.:ил
- С.С. Сосинская Операционные системы ч.2., Иркутск: Издательство ИрГТУ, 2004г - 82с.