Так само в проекті є додаткова форма для виведення інформація про проект.
Рис.8. Про програму.
Висновок
У процесі виконання курсового проекту засвоїли деякі можливості Delphi.
Метою курсової роботи було вивчення мови програмування DELPHI і розробка практичних завдань.
При виконанні курсової роботи була вивчена теорія і технологія роботи з середовищем програмування Borland Delphi7 і TThread-абстрактний клас для реалізації потоків.
В ході курсової роботи було розроблено додаток, що дозволяє візуально побачити принцип роботи багатопотокового додатку. Також була докладно розглянута реалізація програми.
Список використаної літератури
1. Архангельський А.Я. Програмування в Delphi: Підручник за класичними версіями Delphi.- М .: Біном, 2006.
2. Дмитро Осипов. Delphi.Профессіональное програмирование.- 2006
3. Фаронов В.В. Delphi. Програмування на мові високого рівня: Підручник для вузів - Спб .: Лідер, 2010.
4.Справочнік Основи Delphi URL - lt; # justify gt; 6. Вільна інтернет-енциклопедія Wikipedia. URL - # justify gt; Додаток А (обов'язковий)
Лістинг программиUnit1 ;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ,, StdCtrls, SyncObjs, Spin;=class (TForm): TButton ;: TMemo ;: TButton ;: TButton;:TButton ;: TButton ;: TSpinEdit ;: TButton ;: TButton; Button1Click (Sender: TObject); FormShow (Sender: TObject); Button2Click (Sender: TObject); Button3Click (Sender: TObject); Button4Click (Sender: TObject); Button6Click (Sender: TObject); SpinEdit1Change (Sender: TObject); Button7Click (Sender: TObject); Button5Click (Sender: TObject);
{Private declarations}
{Public declarations};=class (TThread)
{Private declarations}
{Public declarations}: integer;: TStringList; LoadFromFileMemo; Execute; override; Create (CreateSuspended: boolean) ;;: TMyThread ;: TForm1;: Tcriticalsection;, g, delay: integer; Unit2, Unit3;
{$ R * .dfm} TMyThread.Create (CreateSuspended: boolean);Create(CreateSuspended);:=Form1.SpinEdit1.Value;;TMyThread.Execute;.Enter;:=TStringList.Create;.LoadFromFile(ExtractFilePath(Application.ExeName) + Laquo; Loading.txt ); iteri:=g to StringListLoads.Count - 1 doself.Terminated then break; (delay); [iteri];:=iteri; (LoadFromFileMemo) ;;. Leave;:=0 ;; TForm1.FormShow (Sender: TObject);:=Tcriticalsection.create;;TMyThread.LoadFromFileMemo;.Memo1.Lines.Add(StringListLoads[StringListCount]);;TForm1.Button1Click(Sender: TObject);:=TMyThread.Create (true) ;. FreeOnTerminate:=true; .Resume ;; TForm1.Button2Click (Sender: TObject); Button2.Caption= Пауза then begin.Enabled:=false;.Enabled:=false;.Enabled:=false;.Enabled:=false;.Suspend;.Lines.SaveToFile(ExtractFilePath(Application.ExeName) + laquo;Save.txtraquo;);.Caption:=laquo;Продолжитьraquo;;;;Button2.Caption=laquo;Продолжитьraquo; then begin.Resume;.Caption:=laquo;Паузаraquo;;.Enabled:=true;.Enabled:=true;.Enabled:=true;.Enabled:=true;;;TForm1.Button3Click(Sender: TObject) ;. Lines.SaveToFile (ExtractFilePath (Application.ExeName) + Save.txt ) ;. Caption:= Пауза raquo ;;. Terminate ;; TForm1.Button4Click (Sender: TObject) ;. Clear; .Lines.LoadFromFile (ExtractFilePath (Application.ExeName) + Save.txt );:=memo1.Lines.Count ;; TForm1.Button6Click (Sender: TObject) ;. Terminate; .ShowModal; .Clear ;; TForm1.SpinEdit1Change ( Sender: TObject);:=SpinEdit1.Value ;; TForm1.Button7Click (Sender: TObject) ;;; TForm1.Button5Click (Sender: TObject);.Terminate; .ShowModal ;;. Unit2 ;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ,, StdCtrls;=class (TForm): TButton ;: TButton ;: TLabel ;: TLabel; Button1Click (Sender: TObject ); Button2Click (Sender: TObject);
{Private declarations}
{Public declarations} ;: TForm2; Unit1;
{$ R * .dfm} TForm2.Button1Click (Sender: TObject) ;. Memo1.Lines.SaveToFile (ExtractFilePath (Application.ExeName) + Save.txt ) ;;; TForm2. Button2Click (Sender: TObject) ;;;. Unit3 ;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ,, StdCtrls;=class (TForm): TButton ;: TLabel ;: TLabel ;: TLabel; Button1Click (Sender:TObject);
{Private declarations}
{Public declarations} ;: TForm3;
{$ R * .dfm} TForm3.Button1Click (Sender: TObject) ;;;.