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

Автор работы: Пользователь скрыл имя, 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

Файлы: 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].N_Ap);

   Edit3.Text:=FloatToStr(Ar[Iden].cena);

   Edit4.Text:=IntToStr(Ar[Iden].Ko_vo);

   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.Text);

   try

   Ar[Iden].N_Ap:=StrToInt(Edit2.Text);

   except

     ShowMessage('Номер аптеки целое число!!');

     flag:=false;

     end;

   try

   Ar[Iden].cena:=StrToFloat(Edit3.Text);

   except

     ShowMessage('Цена'+#13+'задана  неверно!!!');

     flag:=false;

    end;

   try

   Ar[Iden].Ko_vo:=StrToInt(Edit4.Text);

   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.Text);

     except

       ShowMessage('Строка не должна превышать 256 символов');

       flag:=false;

     end;

   try

     Ar[HiMass].N_Ap:=StrToInt(Edit2.Text);

     except

       ShowMessage('Номер аптеки целое число!!');

       flag:=false;

      end;

   try

     Ar[HiMass].cena:=StrToFloat(Edit3.Text);

     except

       ShowMessage('Цена'+#13+'задана неверно!!!');

       flag:=false;

       end;

    try

      Ar[HiMass].Ko_vo:=StrToInt(Edit4.Text);

      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. СПИСОК ЛИТЕРАТУРЫ

 

              

  1. Дарахвелидае П. Г., Марков Е. П  Д20 Программирование в Delphi 7. СПб.: БХВ-Петербург, 2003 784 с : ил
  2. Д. Соломон, М. Руссинович, Внутреннее устройство Windows 2000, Спб.: Питер, М. Издательско-торговый дом «Русская редакция», 2004 – 746 с:ил
  3. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение. СПб.:  «Питер», 2003 – 736 с: ил
  4. Вильям Столингс, Операционные системы, М.: Издательский дом «Вильямс», 2002 – 848 с.: ил
  5. Джеффри Рихтер, MS Windows для профессионалов, СПб: «Питер»; М.: Издательско-торговый дом «Русская редакция» 2003 – 752с.:ил
  6. С.С. Сосинская Операционные системы ч.2., Иркутск: Издательство ИрГТУ, 2004г - 82с.

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