Delphi бағдарламалау ортасы



Дата06.01.2022
өлшемі93,5 Kb.
#15006
түріПрограмма




Жалпы бөлім


    1. Delphi бағдарламалау ортасы

Delphi бағдарламалау тілі – кез-келген қосымшаны дайындауға мүмкіндік беретін берілгендер қорымен жұмыс жасауға арналған жоғарғы деңгейлі тіл.

Delphi бағдарламалау ортасындағы терезелер:

1 - Delphi-дiң негiзгi терезесi;

2 - Форма (Form1);

3 - Объект инспекторы терезесi (Object Inspector);

4 - Программалық код терезесi (Unit1.pas).

Delphi-дiң негiзгi терезесiнiң - құрамына негiзгi мәзiр, аспаптар па­нелi және компоненттер палитрасы енгiзiлген. Негiзгi мәзiр пункттерiне Delphi­-де жұмыс iстеу командалары, аспаптар панелiне жиi қолданылатын командаларды орындайтын түй­мелер орналастырылған.

Форма - программаны дайындау алдында ашылатын, програм­ма­ның сұхбаттық терезесi. Delphi алғашқы рет iске қосылған кезде форма Form1 атауымен (тақырыбымен) кіредi. Оның жиектерiне тышқан көрсеткiшiн орналастырып, форманы кеңейту не қысу қиын емес. Кей жағдайларда экранда форма кјрiнбеуi мүмкiн. Оны экранға шығару үшiн View-Forms командасын беру жеткiлiктi.

Форманы не онда орнатылған компоненттi программа құру үшiн дайындау оның кейбiр қасиеттерiнiң мәндерiн өзгертуден бас­талады. Қасиеттер тiзiмi Объект инспекторы (Object Inspector) терезесiне енгiзiлген. Тiзiмдi инспектор терезесiне шығару үшiн сәйкес объектiнi бiр шерту арқылы таңдау керек. Инс­пектор терезесiнiң жоғарғы қатарына таңдалған объект атауы жазылып қойылады. Мысалы, Delphi iске қосылған кезде форманың ашылған қасиеттер терезесi көрінеді. Терезенiң екi қосымша бетi бар: Properties (Қа­сиеттер) және Events (Оқиғалар). Терезе ашылғанда екi бағанға енгiзiлген жазулардан тұратын оның Properties бөлiмi ашылулы тұрады (1-сурет). Бiрiншi бағанда көрiнетiндер – қа­сиет атаулары, екiншi бағанға сәйкес жазылғандар – олар­дың мәндерi. Қасиет - айнымалылардың ерек­ше түрi. Олар объектiнiң түрлi мүмкiн­дiктерiн сипаттап, ағым­дық күйiн анықтайды. Мысалы, форма қасиеттерiнiң мәндерi - форма тақырыбының мәтiнi, өлшемi, экранда орналасуы, түсi т.б. Delphi iске қосылған кезде форма қасиеттерiне алғашқы сәйкес мәндер мен­шiк­телiп қойылады. Программа про­граммалық код деп, ол терiлетiн терезе программалық код терезесi не қысқаша редактор терезесi деп аталады. Delphi iске қосылған кезде ол форма терезесiнiң астында көрiнбей тұрады. Оны экранға шығару тәсiлдерi:


Код терезесi ашылғанда, он­да процедура дайындамасы (үлгiсi) көрiнедi. Оның тақырыбы нүкте арқылы бөлiнген класс және процедура атаула­рынан тұрады. Код терезесiне енгiзiлген процедура дайын­дамасы. Оқиғаға байланысты құрылатын процедура оқиға­ны өңде­уiш не оқиғаны өңдеу про­це­дурасы делiнедi.


    1. Типтік файлды қолдану

Файл дегеніміз-атаулы деректер құрылымы,бір типті деректер элементтерінің тізбегі. Ол тізбектегі элементтер саны шексіз. Кез келген бағдарлама деректерінің құрылымы сияқты(айнымалы,массив),файл да айнымалыларды байандау бөлімінде баяандалып кету керек. Файлды баяандаған кезде файл элементтерінің типі көрсетіліп кетіледі.

Файл үш түрде сипатталуы мүмкін: типтік, мәтіндік және типсіз форматта. Сипаттау тәсілдері:



<атау>=Fі1е of <тип>; // типтік

=TextFile; // мәтіндік

<атау>=Fі1е; // типсіз

Мұндағы <атау> - тип атауы, <тип> - Delphi -дің кез келген сәйкес типі.

Көбінесе файлды типтік, кей жағдайларда мәтіндік етіп сипаттайды.

Файлға жазу, файлдан оку операторларымен таныстыру алдында мынадай белгілеулер енгізейік:

f - файлдық айнымалы (файлдық типті айнымалы ретінде программада қолданылатын идентификатор (атау)).

bf - берілгендер файлының атауы (атау меншіктелетін айнымалы. Мысалы, 'В2001' атаулы берілгендер файлы үшін bf:='В2001'. Әдетте файл атауы программа бойынша Edit өрісіне енгізіледі: bf:=Edit1.Text, не ол үшін InputBox функциясы пайдаланылуы мүмкін).

v - файлдық элемент (өpic элементтерінен тұратын жол).
Типтік файл операторлары

AssignFile (f, bf). Ол bf файлын f айнымалысымен байланыстырады да (assign - тағайындау), одан әрі f-пен жұмыс bf мәнімен анықталған файл жұмысына баламалы болады bf орнына файлдың толық атын (іздеудің толық жолын) жазу да мүмкін. Компьютер f-ті саны белгісіз элементтерден тұратын bf-тің атауы ретінде қабылдайды. Ол мәшиненің элементтер санын алдын ала біліп алуының қажетсіздігіне байланысты. Оған қоса, бұл тәсіл бір программа бойынша түрлі БФ-терді өңдеуге мүмкіндік береді.

Rewrite (f) — атауы AssignFile операторында анықталған берілгендер файлын дискіге тиеу үшін файлды ашу операторы (rewrite - жаңадан жазу). Ол f үшін дискіден арнайы орын ашып, көрсеткішті (бастиекті) осы орынның басына орналастырады.

Ескерту. Егер таңдап алынған БФ атауы бұрыннан сыртқы құрылғыда жазулы БФ атауымен бірдей болса, rewrite(f) операторын оқыған соң компьютер алдымен оны өшіріп тастайды. Сондықтан дискіде жазулы файлды қорғау үшін файлға берілетін атауды мұқияттықпен таңдап алу керек.

Write (f, v) — атауы AssignFile операторында f арқылы белгіленген дискілік файлға БФ-тің кезекті элементін (v) тиеу операторы (v орнына мәндері файлға жазылатын үтірлер арқылы бөлінген айнымалылар тізімін енгізуге де болады).

CloseFile (f) - файлды жабу (оператор БФ-ті дискіге тиеу не дискіден оқу аяқталған кезде енгізіледі).

Reset (f) - атауы f арқылы белгіленген файлды ашып, бастиекті осы файлдың басына орналастырады (reset - қайта орнату).

Read (f, n : Longint) — бастиекті файлдың n+1 нөмірлі жолының басына орналастырады. Ол файлдың (n+1) — жолын оқу үшін қажет.

Дискіде файл жолдары 0-ден бастап автоматты түрде ретімен нөмірленеді. Жоғарғы тізімде 1-ден бастап нөмірленген баған өріс элементі ретінде қарастырылған.
Файлды типтік түрде тиеу

Delphi-де типтік файлмен жұмысты екі тәсіл бойынша орындау мүмкін. Біріншісінің дәстүрлі Паскальда қолданылатын тәсілден көп айырмашылығы жоқ. Кітапта осы тәсіл пайдаланылған.

1-Мысал. Типтік файл форматын пайдаланып, жоғарғы тізімді "B2001" атауымен дискіге тиеу керек.

1. Жаңа проект ашып, формада Button1, Button2 компоненттерін орнату. Button1, Button2 компоненттерінің Caption қасиеттеріне Жазу, Оқу сөздерін меншіктеу.

2. Button1 компонентінің Click оқиғасын өңдеуіш процедурасын құру (сандық өрістерді String типті етіп сипаттауға да болады):
Procedure TForm1.Button1Click (Sender: TObject);

type st = record

a1: string [3];

a2: string [20];

a3: string [5];

a4: string [7];

end;

var f: file of st; st: bf; bf: string [8]; k: integer;



begin

bf:=ІпрutВох ('Абайлаңыз', 'БФ-атауы', ");

AssignFile(f, bf);

Rewrite(f);

with v do

for k: =l to 3 do

begin

а1:=ІnрutВох(",'Нөмір - ',");



а2:=ІnрutВох(",'Аты-жөні - ',");

а3:=ІnрutВох(",'Туған жылы - ',");

а4:=ІnрutВох(",'Ұлты - ',");

write (f, v);

end;

CloseFile (f);



end;

3. Программаны іске қосып, енгізу терезесінде берілген сұрақтарға сәйкес жауаптарды енгізу жеткілікті.


Типтік файлды оқу

Дискіде сақтаулы файлды формада орнатылған Memo терезесіне шығаруға болады.

2-Мысал. Дискіге жазылған берілген файлын (мысалы, "В2001"-ті) экранға шығару керек.

Жаңа проект ашып, формаға Button2, Memo1 компоненттерін кірістіру. Button2 компонентінің Click оқиғасын өңдеуіш процедурасын құру:


Procedure TForm1.Button2Click (Sender: TObject);

type st = record

a1: string [3];

a2: string [20];

a3: string [5];

a4: string [7];

end;

var f: file of st; v: st; bf: string [8];



k: integer;

begin


bf: =InputBox (", 'БФ-атауы', ");

AssignFile (f, bf);

Reset (f);

With v do

begin

for k: =l to FileSize (f) do



read (f, v);

Memo1.Lines.Add (a1+"+a2+"+a3+"+a4);

end;

CloseFile(f);



end;

(мұндағы filesize(f) функциясы файл элементтерінің санын анықтайды).

Программаны іске қосу. Көрінген енгізу терезесіне БФ атын енгізіп, Button2 түймесін шерткен кезде форманың Me­mo1 терезесінде БФ көрінеді. Оны редакциялап шығу да мүмкін.

Ескерту. Формаға Button1, Button2 компоненттерін орнатып (4.1-сурет), файлды жазу, файлды оқу процедураларын олардың On Click оқиғаларын өндеуіш ретінде код терезесіне енгізілетін бір программаға жазуға да болады.


Файлды мәтіндік типті түрде тиеу және оқу

Мәтіндік мәліметтерді мәтіндік (Text) типті файл етіп сақтаған жөн. Оның әр жолы түрлі ұзындықты болуы да мүмкін. Мәтіндік файлды тиеу программасында жол String типті етіп сипатталады да, файл элементі түрінде қабылданады. Мұндай файлдарды жүктеу және дискіден оқу олардың жолдары бойынша ретімен орындалады. Мәтіндік файлдың әр жолын тиеу және оқу үшін пайдаланатын операторлар сәйкес - Writeln, Readln.

Мысал. Төрт студент және олардың үш пәннен алған бағалары берілген:
Ысқақова Маржан 5, 5, 5

Мәдіходжаев Сұлтан 5, 4, 5

Имантаева Мәдина 4, 5, 5

Ахметов Марат 3, 4, 4


Жиынтықты мәтіндік файл түрінде қарастырып, дискіге тиеу және дискіден оқып, экранға шығару керек.

Жаңа проект ашып, формаға Memo1, Button1, Button2 компоненттерін орнату және Button1-дің опСlіск оқиғасын өңдеуіш процедура құру (дискіге тиеу процедурасы):


Procedure TForm1.Button1Click (Sender: TObject);

var f: TextFile;

bf: string [8];

S : string; //255 символдық жол

k: integer;

begin


bf:=InputBox(", 'Құрылатын файл аты — ', ");

AssignFile (f, bf);

Rewrite (f);

for k: =l to 4 do

begin

s: =InputBox (",'Keзeктi жол-?',");



writeln (f, s);

end;


CloseFile(f);

end;


Соңында проектіні сақтап, іске қосу және берілетін сұрақтарға ретімен жауап беру керек.

Дискіде сақтаулы мәтіндік файлды экранға шығару үшін (4.2-сурет) жоғарғы процедура соңына Button2 компонентінің OnClick оқиғасын өңдеуіш процедурасын құру жеткілікті:


Procedure TForm1.Button2Click (Sender: TObject);

var f: TextFile;

bf: string [8]; // файл аты

s: string; // оқылатын файл жолы

begin

bf:=InputBox (", 'Файл аты - ?', ");



AssignFile (f, bf);

try


Reset (f);

except


halt;

end;


while not eof (f) do

begin


readln (f, s);

Memo.Lines.Add (s);

end;

CloseFile (f);



end;

мұндағы EOF (f) - көрсеткіштің мәтіндік файл соңына жетуін тексеретін Турбо Паскальдағы сияқты стандартты функция. Көрсеткіш файл соңына жетпесе, оның мәні - False, жетсе -True. Процедураға файлдың (bf) дискіде бар — жоғы try (байқап көру) кілттік сөзі енгізілген бөлім арқылы тексерілді. Егер енгізу терезесіне енгізілген файл дискіде жоқ болса, ерекше жағдай орындалып, экранға 'Файл табылған жоқ' хабарламасы шығады да, программа жұмысы тоқтап қалады. Мұндай ерекше жағдайдың орындалуы үшін Project-Options → Compiler командасы берілген кезде көрінген 1/0 checking (енгізу/шығаруды тексеру) жалаушасы орнатулы болуы тиіс ( ). Ол орнатылмаса, бақылауды программа арқылы жүргізуге болады. Мысалы,


AssignFile (f, bf);

{$I-}


Reset (f);

{$I + ]


if IOResult <> 0 then

ShowMessage ('енгізу/шығару қатесі');


Мұндағы $I нұсқауы қатені бақылау процесін басқарады. Егер IOResult стандартты функциясының мәні нөлге тең болса, программа жұмысы одан әрі жалғасады, әйтпесе тоқтап қалады (мұндай бақылау Турбо Паскальдағы сияқты).Memo терезесінде көрінген нәтижелік мәтіндік файлды редакциялау да мүмкін.

Заключение




Достарыңызбен бөлісу:




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет