- •Жұмыстың мазмұны:
- •Delphi ортасымен танысу. Delphi ортасы туралы жалпы түсінік
- •Форманың кейбір қасиеттері. Оқиғалар. Программалық код терезесі
- •Стандартты типті түрлендіру функциялары
- •Берілгендерді формада енгізу және шығару Проектіні сақтау және ашу. Компиляциялау
- •Компонеттер палитрасы жөнінде
- •Жобалардың негізгі файлдары Файлдардың келесі тобы компилятормен құрылады:
- •Datebase Desktop- тың көмегімен кестелер құру
- •InterBase пішімінің кестелер өрісі төмендегідей типтерді қабылдауы мүмкін:
- •Validity Checks (дұрыстықты тексеру) – бұл жазбалар өрісіне қатысты болады және минимал, максимал мәндерін, сонымен қатар келісім бойынша алынған мәндерді анықтайды;
- •Графикалық мәліметтерді баспаға шығару (tPrint объектісі)
- •Printer қасиеті:
- •Қорытынды
Character (Alpha) – кез келген баспалық символдардан тұратын, ұзындығы 1-254 байттық жол;
Float (Numeric) – мәндері оң және теріс болуы мүмкін пішімдегі өлшемі 1-120 байттық сандық өріс. Бұл өте үлкен шамалардан тұрады. Сондықтан бұл өрістермен жұмыс жасаған кезде шамаларды дөңгелектеудің салдарынан болатын қателерді қадағалап отыру керек. Ондық нүктелерден кейінгі цифрлардың саны бүкіл өрістің өлшеміне қарағанда 2-ге кем болу керек;
Number (BCD) – BCD пішіміндегі деректерден тұратын өлшемі 1-20 байттық сандық өріс. Сандық өлшемдерге қарағанда бұл өрістің есептеу жылдамдығы бірнеше төмен болғанымен, нақтылығы біршама жоғары. Ондық нүктелерден кейінгі сандардың саны бүкіл өрістің өлшеміне қарағанда 2-ге кем болу керек;
Date – ұзындығы 8 байттық даталар өрісі. Келісім бойынша қысқа даталар пішімі қолданылады (Short Date Format);
Memo – ұзындықтарының жалпы қосындысы 255 байттан аспайтын және символдарды сақтау үшін қажетті өріс. Өріс кез келген ұзындықты қабылдауы мүмкін. Бұл өріс жеке файлдарда сақталады. DateBase Desktop-тың деректерді Memo типті өріске қоюға мүмкіндігі жоқ;
OLE - өзінің өңделуі кезінде өзін құраған қолданбаларды шақыратын дыбыс, бейне, құжаттардан, яғни OLE деректерінен тұратын (Object Linking and Embedding) тұратын өріс. Бұл өріс те жеке файлдарда сақталады және кез келген ұзындықты қабылдауы мүмкін;
Binary – кез келген екілік мәліметтерден тұратын өріс. Берілген өріс DBT кеңейтілуіндегі жеке файлдарда сақталады және кез келген ұзындықты қабылдауы мүмкін. Бұл InterBase-тегі Blob өрісінің толық аналогы;
InterBase пішімінің кестелер өрісі төмендегідей типтерді қабылдауы мүмкін:
Short – тек қана -32768-ден 32767-ге дейінгі диапазонындағы бүтін сандардан тұратын ұзындығы 4 байттық сандар өрісі;
Long – -2147483648-ден 2147483648-ге дейінгі диапазонындағы бүтін сандардан тұратын, ұзындығы 4 байттық сандар өрісі;
Float – мәндері оң және теріс болуы мүмкін, ұзындығы 4 байттық сандар өрісі. Сандар диапазоны 3.4*10
-нен
1.7*10
-не
дейінгі мәні 7 символдық сандарды
қамтиды;
Double – мәндері оң және теріс болуы мүмкін, ұзындығы 8 байттық сандар өрісі. Бұл өрістің ұзындығы пиктограммаға байланысты және сандар диапазоны 1.7*10 -нен 1.7*10 -не дейінгі мәні 15 символдық сандарды қамтиды;
Array – деректер жиымдарынан тұратын өріс. InterBase 16-лық өлшемдегі жиымдарды анықтауға мүмкіндік береді. Өріс кез келген ұзындықты қабылдауы мүмкін. DateBase Desktop-тың Array типті өрістерді редакциялауға, сонымен қатар оларды құруға да мүмкіншілігі жоқ;
TextBlob – тек қана мәтіндік мәліметтерден тұратын Blob өрісінің бағыныңқы типті өрісі. Өріс кез келген ұзындықты қабылдауы мүмкін. DateBase Desktop-тың TextBlob типті өрісті редакциялауға мүмкіншілігі бар.
Сонымен, Delphi үшін «туысқан» болып табылатын өрістердің барлық типтерімен таныстық. Ал, кестені құрып болғаннан кейін, оны кесте пішіміне байланысты болатын тізімдер қасиеттерімен байланыстыруға болады. Сондықтан Paradox пішімді кесте үшін келесідей тапсырма беруге болады:
Validity Checks (дұрыстықты тексеру) – бұл жазбалар өрісіне қатысты болады және минимал, максимал мәндерін, сонымен қатар келісім бойынша алынған мәндерді анықтайды;
Table bookup (қадағалау кестесі) кестеге басқа кестеге енгізіліп қойылған мәндерді пайдаланып, мәліметтерді енгізуге мүмкіндік береді;
Secondary Indexes (екілік индекстер) бірлік кілтпен жөн сілтелінген реттегі деректерге қатынауға мүмкіндік береді;
Referential Integrity (сілтемелік тұтастық) кестелер арасындағы байланысқа тапсырма беруге және осы ядро деңгейіндегі байланыстарды қолдауға мүмкіндік береді;
Table language (кестелер тілі) кестенің тілдік драйверлері үшін тапсырма беруге мүмкіндік беру;
dBase кестелерінде бірлік кілттер болмайды. Сондықтан бұл жағдайдан бірегей ( Unique) және көтермелеу (Maintained) индекстерді (Indexes) анықтау жолы арқылы шығуға болады. Одан басқа dBase кестесі үшін және тілдер кестесі үшін (Table Language) символдық деректер көрінісін және сұрыптауын басқаратын тілдік драйверлерді анықтауға болады. Барлық пішімдегі кестелердің қосымша қасиеттерін анықтау үшін терезенің оң жақ жоғарғы бұрышында (Table Properties) орналасқан «Define» түймесін басу керек. InterBase үшін берілген түйме «Define Index» деп аталады және бірлік кілттерді емес, тек қана индекстерді анықтауға мүмкіндік береді. Бұл әрекеттердің барлығы тек қана кесте құру үшін ғана емес, сонымен қатар құрылып қойылған кестелер үшін де орындалады. Бұл үшін Table /Restructure Table (дәл сол уақыт мезетінде ашық тұрған кестелер үшін) және Utilities/ Restructure (кестелерді таңдау мүмкіншілігімен бірге) командалары қолданылады.
Егер де сіз дәл сол уақыт мезетінде басқа да қолданбаларды пайдаланып отырған кестелердің құрылымын өзгерткіңіз келсе немесе ол кестеге басқа да жаңа қасиеттер енгізгіңіз келсе, берілген іс- әрекет кестеге қаншалықты дара өрістік қатынауды талап еткенімен, DateBase Desktop сізге келісім бермейді. Бірақ та барлық туындылар өзгерту құрылымында жедел түрде жұмыс істей бастайды. Егер сіз бірнеше кестелердің сілтемелік тұтастығын анықтасаңыз, онда бастапқы кестеде жоқ деректерді туынды кестеге қою әркетін орындағанда Delphi- де ерекше жағдай пайда болады.
Delphi ортасының графикалық мүмкіндіктері. Сурет салу. Сурет салу аумағы
Delphi ортасының графикалық мүмкіндіктерін пайдалану үшін Windows- тың графикалық құралдарымен жұмыс атқаруды айтарлықтай жеңілдететін келесі кластар қолданылады. TPaintBox – кез келген бейнені салуға лайықты және арқаумен қамтылған терезе, TCanvas – суретті салуға лайықты аумақ- арқау, TPen – қалам, TBrush – бояу жаққыш, TPicture – бейненің контейнері, TGrafic – графикалық объектінің, бейненің негізі, TBitmap – растрлық бейне, TIcon – пиктограмма, TMetafile – метафайл және т.с.с.
Қарапайым геометриялық фигураларды сызу үшін Additional парағының Shape компоненті қолданылады. Осы компонент арқылы бейнелеу әрекеттерін орындау - графикалық редакторда жұмыс атқарумен бірдей болып келеді. Shape- пен анықталатын фигураның түрі компоненттің Shape қасиеті арқылы анықталады және оның қабылдайтын мәндері келесі:
StCircle – шеңбер;
StEllipse – эллипс;
StRectangle – төрт бұрыш;
StRoundRect – жұмырланған төрт бұрыш;
StRoundSquare – жұмырланған квадрат;
StSquare – квадрат;
Delphi ортасындағы Windows- тың TCanvas (арқау- сурет салуға лайықты аумақ), TFont (қаріп), TPen (қалам), TBrush (бояу жаққыш) құралдары арқылы программаларда графиканың мүмкіндіктерін қолдануға, яғни әртүрлі бейнелерді программаның орындалу барысында форманың бетіне орналастыруға, сызуға болады.
Осы сәтте графикалық бейне қарапайым фигуралар жиынынан (нүкте, шеңбер ,төрт бұрыш немесе мәтіннен) құрылады. Сурет салу үшін TCanvas класының туындысы Canvas компоненті қолданылады. Осы компоненттің бетіне бейнесін сызу мүмкіндігімен қамтылған басқа объектілер салынады. Стандартты басқару терезелері (мысалы, Memo немесе List) арқауды қажет етпейді, себебі олар Windows арқылы сызылады.
Canvas объекті келесі қасиеттер, оқиғалар және әдістермен қамтылған:
Қаріп, қалам, бояу жаққышты қолдану арқылы бейнелерді сызу;
Фигура және сызықтарды салу және оларды бояу;
Мәтінді шығару;
Графикалық бейнелерді шығару;
Ағымдағы бейнелердің өзгеруіне сәйкес сезіндіру үзіндісін бағдарламалау.
Canvas объектісінің қасиеттерін және әдістерін қолдану арқылы әртүррлі суреттерді, көпбұрыштыларды және мәтінді шығаруға болады, бірақ бағдарлама құрамында арқаудың OnPaint – оқиғасын өңдеуші үзіндісі міндетті түрде болуы керек.
Canvas объектісінің TBrush түрінің Brush қасиетті келесі параметрлерімен анықталады:
Bitmap (түрі – Tbitmap) – мөлшері 8*8 сурет, осы суретпен экрандағы аумақ толтырылады немесе боялады;
Color (түрі – Tcolor) – бояудың түсін анықтайды;
Handle (түрі - Tbrush) – Windows-тың API процедураларын тікелей шақырғандағы бояу жаққышты қолдануға мүмкіндік береді;
Style (түрі – TbrushStyle) – бояудың түрін анықтайды. Бұл параметр Bitmap қасиетімен бәсекелеседі: екеуінің қайсысы соңғы болып анықталса, бояудың түрін сол қасиет анықтайды.
ClipRect (түрі – Trect) қасиеті – тек қана оқуға тағайындалған. Ол графикалық бейнені шығаруға арналған төртбұрышты анықтайды.
CopyMode (түрі – Tcopy Mode) қасиеті арқылы көшірменің түрін, яғни өзгеріссіз немесе екі есе үлкейту, бейненің түсін инверсия арқылы көшіру және т.с.с анықтайды.
Font (түрі – Tfont) Canvas бетіне шығарылатын мәтіннің қарібін анықтайды. Осы параметрдің келесі қасиеттерін ажыратады:
Color (Tcolor) – мәтіннің түсін анықтайды;
Height (Integer) – қаріп мөлшерін пиксель өлшемінде анықтайды;
Name (TfontName) - қаріптің атын анықтайды (мысалы, Ariel, Times New Roman т.с.с.);
Size (түрі Integer) – қаріп мөлшерін пункт (1 пункт- 1/72 дюйм) өлшемінде анықтайды; Бұл параметр Height қасиетімен тікелей байланысқан: екеуінің біреуі өзгергенде екіншісі автоматты түрде өзгеріп отырады;
Style (түрі - TfontStyle) – қаріптің түрін анықтайды (курсив, жуандылығын, асты сызылған және т.с.с.).
1-мысал:
k
+1
функциясының диаграммасын құру керек:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart;
type
TForm1 = class(TForm)
Chart1: TChart;
Series1: TBarSeries;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var k:integer;
begin
for k:=-5 to 5 do
if k>0 then begin
chart1.SeriesList [0].AddXY(k,(k*k*k+1));
end;end;
end.
7-сурет k +1 функциясының диаграммасы
2-мысал: Бұл есеп бойынша арқауда көпбұрыштың, паралеллограммның, үйдің бейнелері салынады.
Бағдарлама:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
p:array[1..9] of TPoint;
begin
with canvas do
begin
brush.color:=clred;
brush.style:=bsDiagCross;
pen.color:=clblack;
Polygon([Point(50,40),point(100,40),point(130,70),point(130,100),point(100,130),point(50,130),point(20,100),point(20,70)]);
begin
Brush.color:=clyellow;
pen.color:=clblue;
Polygon([Point(230,40),point(350,40),point(310,130),point(190,130),point(230,40)]);
polygon([point(230,40),point(310,130)]);
polygon([point(350,40),point(190,130)]);end;
begin
Brush.Style:=BsSolid;
polygon([point(430,40),point(400,40),point(400,170),point(550,170),point(550,40),
point(520,40)]);
begin
Brush.Style:=BsSolid;
Brush.color:=clgreen;
Polygon([point(400,70),point(475,10),point(550,70),point(400,70)]);
begin
Brush.color:=clred;
Polygon([point(435,90),point(515,90),point(515,140),point(435,140),point(435,90)]);
Polygon([point(435,110),point(515,110)]);
Polygon([point(475,90),point(475,140)]);
end; end; end;end;end;
end.
8-сурет Арқауда салынған көпбұрыштың, паралеллограммның, үйдің бейнелері
Мәтіндік режимде баспаға шығару
Берілген форманы баспаға шығару
Егер сізге баспа құрылғысында мәтіндік режимдегі құжатты баспаға шығару керек болса, онда ол келесі үлгі бойынша іске асырылады. Баспа құрылғысымен жұмыс жасаған кезде мәтіндік файлдардағы сияқты қарапайым түрде жұмыс жасай беруге болады, тек AssignFile процедурасының орнына AssignPrn процедурасы қолданылады.
Мысал ретінде баспа құрылғысынан мынадай бір мәтіндік жол шығарылсын:
Бұл жерде бір айта кететін жәйт, BP.7.0- мен салыстырғанда Delphi- де System модулінің кейбір процедуралары мен айнымалылары өзгерген:
Assign-ның орнына AssignFile;
Close- дің орнына CloseFile;
Text- тің орнына TextFile;
Кейде программада экрандық пішіннің көшірмесін алу талап етіледі. Ал бұл, Delphi- де TForm объектісінде керек кезде шақыруға болатын Print әдісі арқылы жүзеге асырылады.
