Автор работы: Пользователь скрыл имя, 24 Сентября 2011 в 12:57, курсовая работа
В курсовом проекте предлагается спроектировать и разработать программу, обеспечивающую мультизадачность. В программе необходимо предусмотреть два визуальных процесса: один для ввода с контролем и корректировки данных (выполнять все виды корректировки – добавление, удаление, замену) и вывода результатов указанного в задании запроса и второй - для выполнения запроса.
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
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.
В
курсовом проекте мы получили навыки
создания мультизадачных приложений,
организации процессов, способов обмена
данными через каналы, синхронизации
средствами Win32 API в операционной системе
MS Windows.