Компоненты индивидуального задания
DateTimePicker1: TDateTimePicker; TDateTimePicker - визуальный компонент, разработанный (предназначенный) определенно для ввода дат или времен. В DateTimePicker датируют режим, это походит на список или поле со списком, за исключением того, что раскрывающийся список заменен календарной иллюстрацией; пользователи могут выбирать дату от календаря. Даты или времена могут также быть выбраны, листая со Стрелками "вверх" и "вниз". Gauge используется для визуального отображения пользователю степень завершенности некоторой длительной орерации или процесса
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ Системные требования Pentium 133 Mhz, RAM 32 Mb, HDD 10Mb, Windows 98
Помощь
Для справки нажмите F1, и появится окно
Рис.8- Справка Установка программы
Для установки программы необходимо скопировать папку EXE Содержимое папки: Project1.exe Mydll.dll Helpkurs Выводы
Таким образом, данная работа позволила мне: 1. закрепить на опыте знания, полученные при изучении дисциплины “Системное программирование”. 2. научился разрабатывать программные продукты под операционную среду Windows 3. закрепил следующие знания: Ø Программирование в Delphi Ø Программирование программ использующие код, написанный на других языках программирования (использование DLL ) Ø Динамическая компоновка с DLL Ø Численные методы для вычисления определенных интегралов Ø Написание Help в стиле Windows. Список используемой литературы 1. Delphi 6. Для профессионалов. Разработка COM: Пер.с англ.:-464c. 2005 2. Разработка приложений в среде Delphi: пер.с англ.:Уч.пос-М.:Издательский дом «Вильямс»,2006.-464с. Листинг программы
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Menus, ExtDlgs, ExtCtrls, ToolWin, Gauges, AppEvnts, TeEngine, Series, TeeProcs, Chart, TeeFunci, Buttons, ShellAPI, ScktComp, ImgList; type TKurs = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; Edzn1: TEdit; Edzn2: TEdit; Edit3: TEdit; MainMenu1: TMainMenu; file1: TMenuItem; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; SavePictureDialog1: TSavePictureDialog; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; StatusBar1: TStatusBar; Imint: TImage; Cbint: TComboBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; CBmet: TComboBox; Memo1: TMemo; Label5: TLabel; Burun: TButton; N7: TMenuItem; N22GetCurrentDirectory1: TMenuItem; N52SetForegroundWindow1: TMenuItem; DateTimePicker1: TDateTimePicker; Imgraf: TImage; Label6: TLabel; Buclear: TButton; Bitgraf: TBitBtn; GroupBox1: TGroupBox; RadioButton1: TRadioButton; RadioButton2: TRadioButton; ApplicationEvents1: TApplicationEvents; N8: TMenuItem; N9: TMenuItem; ImageList1: TImageList; Timer1: TTimer; Gauge1: TGauge; N10: TMenuItem; N11: TMenuItem; ColorDialog1: TColorDialog; ColorDialog2: TColorDialog; N12: TMenuItem; procedure N1Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure CbintChange(Sender: TObject); procedure BurunClick(Sender: TObject); procedure int1(a,b:real;n:integer;var ss:real); procedure int2(a,b:real;n:integer;var ss:real); procedure FormCreate(Sender: TObject); procedure N22GetCurrentDirectory1Click(Sender: TObject); procedure N52SetForegroundWindow1Click(Sender: TObject); procedure ApplicationEvents1Hint(Sender: TObject); procedure BuclearClick(Sender: TObject); procedure BitgrafClick(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure N10Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure N12Click(Sender: TObject); private { Private declarations } public { Public declarations } end; tfun=function(x:real):real; var Kurs: TKurs; INT,F1,f2:tfun; han:thandle; k:boolean; a,b,s,h,ss,y0,yn,s2,x2,xx1,xx2,xk:real; n,n1,i1:integer; mplementation uses Unit2, Unit3, Unit4, Unit5 ; {$R *.dfm} procedure TKurs.N1Click(Sender: TObject); begin Imgraf.Picture.SaveToFile(SavePictureDialog1.FileName+'.bmp'); end; procedure TKurs.N4Click(Sender: TObject); begin if k=true then begin N1.Enabled:=true; if SavePictureDialog1.Execute then Imgraf.Picture.SaveToFile(SavePictureDialog1.FileName+'.bmp'); end else ShowMessage('Ãðàôèê íå îòðèñîâàí'); end; procedure TKurs.N6Click(Sender: TObject); begin Application.HelpCommand(HELP_FINDER,0); end; procedure TKurs.CbintChange(Sender: TObject); begin if CBint.Text='Èíòåãðàë ¹1' then Imint.Picture.LoadFromFile('int.bmp') else Imint.Picture.LoadFromFile('int1.bmp'); end; procedure TKurs.BurunClick(Sender: TObject); begin a:=strtofloat(Edzn1.text); b:=strtofloat(Edzn2.text); n:=strtoint(Edit3.Text); if (edzn1.Text<>'') and (Edzn2.Text<>'') and (Cbint.ItemIndex<>-1)and (CBmet.ItemIndex<>-1) then begin try If (Cbint.Text='Èíòåãðàë ¹1') then int:=f1; if (CBmet.Text='Ìåòîäîì Ñèìïñîíà') then int1(a,b,n,ss); if (CBint.Text='Èíòåãðàë ¹1') then int:=f1; if (CBmet.Text='Ìåòîäîì òðàïåöèé') then int2(a,b,n,ss); if (Cbint.Text='Èíòåãðàë ¹2') then int:=f2; if (CBmet.Text='Ìåòîäîì Ñèìïñîíà')then int1(a,b,n,ss); if (CBint.Text='Èíòåãðàë ¹2') then int:=f2; if (CBmet.Text='Ìåòîäîì òðàïåöèé')then int2(a,b,n,ss); Memo1.Lines.Add(' '+CBint.Text); Memo1.Lines.Add((CBmet.Text)+' = '+(FloatToStrF(ss,ffNumber,9,3))); finally if (a)>(b) then ShowMessage('Ââåðõíÿÿ ãðàíèöà äîëæíà áûòü áîëüøå íèæíåé'); end; end else if (Edzn1.Text=' ') then ShowMessage('Íå ââåäåíà ââåðõíÿÿ ãðàíèöà!'); if (Edzn2.Text=' ') then ShowMessage('Íå ââåäåíà íèæíÿÿ ãðàíèöà!'); if (Cbint.ItemIndex=-1) then ShowMessage('Âíèìàíèå!Íå âûáðàí èíòåãðàë!'); if (CBmet.ItemIndex=-1) then ShowMessage('Íå âûáðàí ìåòîä ðåøåíèÿ!'); end; procedure TKurs.FormCreate(Sender: TObject); begin han:=loadlibrary('mydll.dll'); if han=0 then showmessage('+Áèëèîòåêà íå íàéäåíà!') else begin @f1:=getprocaddress(han,'f1'); @f2:=getprocaddress(han,'f2'); end; end; procedure TKurs.int1(a,b:real;n:integer;var ss:real); ar i1,i2,i:integer;h,s,s1,x1,s2,x2,yn,x:real; begin i:=1; s1:=0; y0:=INT(a); h:=(b-a)/n; repeat x1:=a+i*h; s1:=s1+INT(x1); i:=i+2; until i>n-1; i1:=2; s2:=0; yn:=INT(b); repeat x2:=a+i1*h; s2:=s2+INT(x2); i1:=i1+2; until i1>n-2; yn:=a-n*h; s:=(h/3)*(y0+4*s1+2*s2+yn); ss:=s; end; procedure TKurs.int2(a,b:real;n:integer;var ss:real); var i,j:integer;k:real; begin Form5.StringGrid1.Cells[0,0]:='I'; Form5.StringGrid1.Cells[1,0]:='Xi'; form5.StringGrid1.Cells[2,0]:='SQR(Xi)'; Form5.StringGrid1.Cells[3,0]:='(0.5*sqr(Xi)+1.5))'; Form5.StringGrid1.Cells[4,0]:='y0..yn'; Form5.StringGrid1.Cells[5,0]:='y1..yn'; s:=0; h:=(b-a)/n; Form5.Label2.Caption:=floattostr(h); Form5.StringGrid1.RowCount:=n+3; for i:=0 to n do begin s:=s+iNT(a+i*h); j:=0; Form5.StringGrid1.Cells[j,i+1]:=intToStr(i); j:=1; Form5.StringGrid1.Cells[j,i+1]:=FloatToStrF((a+i*h),ffNumber,4,4); j:=2; orm5.StringGrid1.Cells[j,i+1]:=FloatToStrF(sqr(a+i*h),ffNumber,4,4); j:=3; form5.StringGrid1.Cells[j,i+1]:=FloatToStrF(0.5*sqr(a+i*h)+1.5,ffNumber,4,4); j:=5; Form5.StringGrid1.Cells[j,i+2]:=FloatToStrF(int(a+(i+1)*h),ffNumber,4,4); end; Form5.Show; Form5.StringGrid1.Cells[0,n+2]:='Ñóììà'; Form5.StringGrid1.Cells[5,n+2]:=FloatToStrF(s-(int(a+(n)*h)+int(a+0*h)),ffNumber,4,4); Form5.StringGrid1.Cells[4,1]:=FloatToStrF(int(a+0*h),ffNumber,4,4); Form5.StringGrid1.Cells[4,n+1]:=FloatToStrF(int(a+(n)*h),ffNumber,4,4); Form5.StringGrid1.Cells[4,n+2]:=FloatToStrF(int(a+(n)*h)+int(a+0*h),ffNumber,4,4); s:=((INT(a)+INT(b))/2+s)*h; ss:=s; end; procedure TKurs.N22GetCurrentDirectory1Click(Sender: TObject); begin form2.Show; end; procedure TKurs.N52SetForegroundWindow1Click(Sender: TObject); begin form3.Show; end; procedure TKurs.ApplicationEvents1Hint(Sender: TObject); begin StatusBar1.Panels[0].Text:=Application.Hint; end; procedure TKurs.BuclearClick(Sender: TObject); begin Memo1.Lines.Clear; end; procedure TKurs.BitgrafClick(Sender: TObject); var x,ymin,ymax,hx1,hx,hy,xn,xk,mx,sx,my,sy,yy,xx:real;i,X1,Y1,Y2,x3,xa,ya,xb,yb:integer; begin if Timer1.Enabled=false then Timer1.Enabled:=true; Kurs.Imgraf.Canvas.FillRect(rect(0,0,620,370)); xn:=strtofloat(Edzn1.text); xk:=StrTofloat(Edzn2.Text); n:=strtoint(Edit3.Text); x:=xn;ymax:=-1e30;ymin:=1e30; while x<=xk do begin if RadioButton1.Checked then int:=f1; if RadioButton2.Checked then int:=f2; int1(x,xk,n,ss); if ss>ymax then ymax:=ss; if ss<ymin then ymin:=ss; x:=x+0.01; end; x:=xn; int1(x,xk,n,ss); x1:=round(mx*x+sx); y1:=round(my*x+sy); repeat int1(x,xk,n,ss); x3:=ROUND(mx*x+sx);y2:=round(-my*ss+sy); kurs.Imgraf.Canvas.Pen.Color:=ColorDialog2.color; kurs.Imgraf.Canvas.Brush.Color:=clwhite; kurs.Imgraf.Canvas.MoveTo(x1,y1); kurs.Imgraf.Canvas.LineTo(x3,y2); x1:=x3;y1:=y2; k:=true; kurs.Imgraf.Canvas.Pen.Color:=clred; kurs.Imgraf.Canvas.Pen.Width:=2; hx1:=1; hx:=(xk-xn)/10; xa:=0;ya:=0;xb:=450;yb:=310; mx:=(xb-xa)/(xk-xn);my:=(yb-ya)/(ymax-ymin); sy:=ya+my*ymax;sx:=xa-mx*xn; kurs.Imgraf.Canvas.MoveTo(xb,yb); kurs.Imgraf.Canvas.LineTo(xa,yb); x:=x+0.01; until x>xk; i:=3; xx:=xn; //âåðòèêàëüíûå ñîñòîâëÿþùèå repeat kurs.Imgraf.Canvas.MoveTo(i,ya); kurs.Imgraf.Canvas.LineTo(i,yb); kurs.Imgraf.Canvas.TextOut(i,yb+5,FloatToStr(xx)); inc(i,Round((Imgraf.Width-50)/10)); xx:=xx+hx; until i>Imgraf.Width; //ãîðèçîíòàëüíûå ñîñòàâëÿþùèå i:=Imgraf.Height-50; repeat yy:=(sy-i)/my; kurs.Imgraf.Canvas.MoveTo(0,i); kurs.Imgraf.Canvas.LineTo(Imgraf.Width,i); kurs.Imgraf.Canvas.TextOut(0,i-5,FloatToStrF(yy,ffNumber,4,2)); i:=i-round(hy); dec(i,Round((Imgraf.Height-50)/10)); until i<0 ; end; rocedure TKurs.RadioButton1Click(Sender: TObject); begin Bitgraf.Enabled:=true; end; procedure TKurs.RadioButton2Click(Sender: TObject); begin Bitgraf.Enabled:=true; end; procedure TKurs.Button3Click(Sender: TObject); begin SetForegroundWindow(HWND_TOP ); end; procedure TKurs.N9Click(Sender: TObject); begin Form4.Show; end; procedure TKurs.Timer1Timer(Sender: TObject); begin Gauge1.Progress:=Gauge1.Progress+10; if Gauge1.Progress=100 then begin Timer1.Enabled:=false; Gauge1.Progress:=0; end; end; procedure TKurs.N10Click(Sender: TObject); begin if ColorDialog2.Execute then kurs.Imgraf.Canvas.Pen.Color:=ColorDialog1.Color; end; procedure TKurs.N11Click(Sender: TObject); begin if ColorDialog1.Execute then kurs.Imgraf.Canvas.Pen.Color:=ColorDialog1.Color; end; procedure TKurs.N12Click(Sender: TObject); begin Kurs.Close; end; end.
Популярное: Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (204)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |