Главная страница
Контакты

    Басты бет


Бексарыұлы Мұратбек delphi визуалды бағдарламалау жүйесі әдістемелік оқу құралы

жүктеу 1.27 Mb.



жүктеу 1.27 Mb.
бет4/10
Дата22.10.2017
өлшемі1.27 Mb.

Бексарыұлы Мұратбек delphi визуалды бағдарламалау жүйесі әдістемелік оқу құралы


1   2   3   4   5   6   7   8   9   10

ЖӘНЕ логикалық амалының орындалу нәтижесі екі операнд бірдей ақиқат болғанда ғана true –ге тең. НЕМЕСЕ логикалық амалының орындалу нәтижесі әйтеуір бір операнд ақиқат болғанда true мәнге ие болады. Егер операндтар бір-біріне тең болмаса, онда жоққа шығарушы НЕМЕСЕ амалының нәтижесі ақиқат болады.
Цикл операторлары әрекеттердің бір ғана ізбен бірнеше рет қайталануын ұйымдастыруға мүмкіндік береді. Delphi-де бұл мақсатты орындайтын үш оператор бар. Олар:

  • циклдің «жай» операторы

  • циклдің шартты операторы

  • қайталаудың шартты операторы.


Циклдің «жай» операторы, оның қайталау саны алдынала белгілі болған жағдайда қолданылады және ол былай жазылады:

For санауыш:=1-өрнек to 2-өрнек do әрекет;

Санауыш-бұл цикл операторы орналасқан логикалық блоктың алдында жариялануға тиісті айнымалы және оның типі саналатын типтердің біріне, әдетте Integer-ге тиесілі болуы тиіс. Мұндағы 1-өрнек пен 2-өрнек тұрақты немесе идентификатор бола алады. Әрекет – Delphi-дің бір немесе бірнеше операторларын білдіреді. Оператор жұмысы басталғанда айнымалы-санауыш 1-өрнектің мәнін қабылдайды. Егер мұнда санауыш мәні 2-өрнек мәнінен кем не оған тең болса, онда әрекет құрамына енетін операторлар орындалады. Міне осы бір цикл «жай» деп саналады. Содан соң айнымалы-санауыш ағымдағы келесі мәнді қабылдап, жаңа цикл басталады, яғни ол 2-өрнекпен санауышты салыстырады, әрекетті орындайды. Осылайша айнымалы-санауыштың мәні 2-өрнек мәнінен асқанға дейін цикл жалғаса береді.

Цикл операторының жұмысында айнымалы-санауыш өсу орнына кемитін жағдай да болуы мүмкін. Ондай жағдайда оператор былай жазылады:

For санауыш:=1-өрнек downto 2-өрнек do әрекет;

Мұнда 1-өрнектің мәні 2-өрнектен үлкен не оған тең болуы тиіс.

Циклдің қайталану саны алдынала белгісіз болған жағдай үшін мына түрде жазылатын циклдің шартты операторын пайдаланған жөн:

While шарт do

цикл денесі;

Бұл цикл шарт ақиқат болып тұрған кездің барлығында орындалады. Мұнда шарт бірден жалған болса, онда цикл денесі бір рет те орындалмайды. Мұндай циклдің шарты мен циклдің аяқталуын жазуда өте мұқият болу керек, әйтпесе while циклі шексіз рет қайталанып, бағдарламаның орындалмай тұрып қалуына әкеліп соқтырады.

Қайталаудың шартты операторы алдымен цикл денесін орындайды, сонан соң барып шарттың орындалуын тексереді. Бұл оператор былай жазылады:

Repeat

Цикл денесі



Until шарт;

Циклдің бұл түрі оның ең болмағанда бір рет орындалуын ұйымдастырады. Мұнда цикл шарт ақиқатқа айналғанша орындалуын жалғастырады және цикл денесі логикалық begin/end жақшасына алынбай жазылады. Цикл денесінің бас-аяғы repeat және until түйінді сөздерімен анықталады.

Цикл операторларымен қоса арнайы командалар да қолданылады, олар:


  • циклді үзу командасы

  • циклді жалғастыру командасы

Бірінші команда цикл денесі операторларының орындалуы кезінде оны аяқтау қажет болғанда пайдаланылады және ол былай жазылады: Break;

Осы команда орындалғанда басқару цикл операторынан кейінгі бірінші операторға беріледі.



Continue; командасы цикл денесіндегі басқа операторларды аттап өтіп бірден циклдің орындалуын жалғастыруға мүмкіндік жасайды.

Бағдарламаның орындалу ретін өзгертуге мүмкіндік беретін тағы бір оператор бар, ол көшу операторы: goto белгі;

Мұнда белгі ретінде кезкелген жарамды идентификатор немесе 0 мен 9999 аралығынан алынған сандар пайдаланылады. Белгіні алдынала айнымалыларды сипаттау бөлімінде var көмегімен емес, label түйінді сөзі арқылы сипаттау керек:

Label белгі; немесе label белгілер тізімі;

Бағдарлама бойынша көшу жоғары және төмен қарай да орындала береді. Мұнда белгі көшу жүргізілетін оператордан қос нүкте(:) арқылы ажыратылады. Көшу операторының қолданылу мысалын қарастырайық:


 var X, Y: Integer;
   label A, B;
   begin
    A: X:=5 ;
       . . .
    бағдарлама операторлары
    goto B;
       . . .
    B: Y:=25;
    goto A;
   end;

Осы мысалдағы бағдарламаны аяқтауға тиіс end операторы ешқашан орындалмайды, мұнда бағдарлама көшу операторларының жұмысы нәтижесінде шексіз қайталана береді. Сондықтан goto операторын программистер көп қолданбауға тырысады. Бағдарламада оның орнына шартты не циклдік операторларды пайдалану әлдеқайда тиімді.



Goto операторын тек бірнеше қабаттасқан циклдерден шығу кезінде қолданған дұрыс, әйтпесе одан шығу үшін бірнеше рет break командаларын қолдануға тура келеді.
8. Файлдармен жұмыс істеуге арналған компоненттер.
Бағдарламалау процесіндегі ең маңызды жұмыстың бірі – ол файлдармен жұмыс болып табылады. Осы жұмыс нәтижесінде ақпаратты есептеуге, оны сақтауға және файлдармен басқа да әрекеттерді орындауға мүмкіндік аламыз. Delphi-де: файлдарды

құруға, іздеуге, оқып-жазуға, атын өзгертуге және директорийге өзгеріс енгізуге толық болады. Сонымен файлдармен жұмыс істей алатын компоненттерге Delphi-дің басты бетінде орналасқан ListBox, ComboBox, Memo компоненттері жатады. ListBox пен ComboBox үшін компоненттердің әр жолы Items[i]-тің, ал Memo үшін Lines[i]-тің обьектісі болып табылады, мұндағы i – нөлден бастап саналатын жол нөмірі.

Компоненттерге жолды Add және Insert әдістері арқылы қосуға болады:
begin
 Memo1.Lines.Add('Бірінші жол');
 ComboBox1.Items.Add('Бірінші жол');
 ComboBox1.Items.Add('Екінші жол');
 ListBox1.Items.Add('Бірінші жол');
 ListBox1.Items.Add('Екінші жол');

end ;

Add әдісі арқылы жолды соңына,ал Insert-тің қосымша параметрлерін пайдаланып өзіміз қалаған жолдан кейін қосуға болады. Ол былай жүзеге асады:

ComboBox1.Items[0] := 'Бірінші жол өзгерді' ;


   ListBox1.Items[1] := 'Екінші жол өзгерді' ;

ComboBox компонентінде (Edit компонентіндегі сияқты) енгізілген мәтін сақталатын қосымша Text қасиеті бар:

ComboBox1.Text := ' Енгізілетін мәтін ';

Енді Enter пернесін басу арқылы осы компонентке қажет ақпаратты енгізу және оны Escape пернесімен жоюды қарастырайық. Ол үшін: Пішіндегі ComboBox-ты белгілеңіз және обьектілер инспекторындағы Events астарына көшіңіз. Осындағы өңдегіш onkeypress-ті екі рет шертіңіз. Delphi жүйесі өңдеуші жобасын дайындады, енді осында былай деп жазыңыз:


begin
   if Key=#13 then
      ComboBox1.Items.Add(ComboBox1.Text);
   if Key=#27 then
      ComboBox1.Items.Delete(ComboBox1.Items.Count-1);
end ;
Мұндағы Key – басылған перненің коды бар өңдеуіштің қандай да бір айнымалысы, ал #13 пен #27 – Enter мен Escape пернелерінің сәйкес кодтары. Items.Count – компонентте тұрған жолдар саны. Мұнда жолды есептеу 0-ден басталатындықтан, одан 1-ді кемітуіміз керек. Сонда Items.Count-1 әрдайым соңғы жолды көрсетіп тұрады. Escape пернесін біртіндеп басу арқылы барлық жолды жоюымызға болады. ComboBox1.Items.Delete(0) командасымен де сол жұмысты орындауға болады, бірақ мұнда тек бірінші жолдар ғана жойылады. Бірден барлығын жою үшін Clear әдісін қолданады.

Енді файлдағы бар нәрсені сақтау жағдайын қарастырайық. Ол үшін мына команданы орындайық:

   ListBox1.Items.SaveToFile(' файл_аты.txt ') ;

Мұнда txt кеңейтілімінің орнына басқа өзіңіз қалаған кеңейтілімді жазуыңызға немесе оны тіпті жазбауыңызға да болады. Алайда txt кеңейтілімі Блокнотты пайдаланып бағдарлама жазуда барынша қолайлы.

Файлды жүктеу қызметін LoadFromFile әдісі атқарады:

Егер Сіз бағдарламаңызда ComboBox, ListBox немесе Memo компоненттерімен жұмыс істемейсіз, ал ақпараттарды сақтауыңыз қажет болды делік, ол жағдайда не істейсіз? Ондайда компоненттердің бірін алып оны көрінбейтін етеміз. Ол үшін обьектілер инспекторында оның Visible қасиетіне False мәнін береміз. Одан компоненттің қызметі өзгермейді, бірақ компонент көрінбейтін болады.

Енді экранда оны жабарда өз қалпын сақтайтын және сол орында ашылатын бағдарлама құрайық. Мұнда бізге Пішіннің экранның сол жақ шеті мен жоғарғы жиегінен қашықтығын анықтайтын Left және Top қасиеттерінің мәнін сақтауымыз қажет. Олардың мәні пиксельмен өрнектеледі және ол Integer. Осы мәндерді IntToStr операторының көмегімен жолдық мәнге айналдыру керек.

Сонымен Пішінге көрінбейтін ListBox орнатып, пішіндегі оның көрінбей тұрған орнын шертіңіз, сонда обьектілер инспекторында оның қасиеттері көрінетін болсын және Events астарына көшіңіз. Осындағы OnClose өңдеуішін шертіп, шыққан кодтар терезесіне мынаны жазыңыз:


begin
   ListBox1.Items.Clear;
 ListBox1.Items.Add(IntToStr(Form1.Left));
 ListBox1.Items.Add(IntToStr(Form1.Top));
   ListBox1.Items.SaveToFile('MyFormPos.txt');
  end ;
Міне осы өңдеуіш пішіннің экрандағы орнын сақтайды.

Енді бағдарлама жүктелген кезде пішінді орнына орналастыратын өңдеуіш жазайық. Өңдеуіш жобасының oncreate оқиғасын құрыңыз. Бұл оқиға ОЖ арқылы пішінді құру сәтінде пайда болады. Міне осы сәтте оған қажетті қасиеттерді меншіктеу қажет. Соның бағдарламасын жазайық:


begin
   if FileExists('MyFormPos.txt') then
    begin
     ListBox1.Items.LoadFromFile('MyFormPos.txt');
     Form1.Left:=StrToInt(ListBox1.Items[0]);
     Form1.Top:=StrToInt(ListBox1.Items[1]);
    end ;
end
;

Мұнда 1-жолда файлдың бар-жоқтығына тексеру жүргізіледі, егер ол жоқ болса, онда қате туралы хабарлама шығады. Дегенмен ескертпеден соң да пішін жобалаған орында ашылады, ал жабылар кезде қажетті файл қайта қалпына келеді. Мұндағы логикалық жақшада MyFormPos.txt файлы бағдарламасы бар бумада жатқанда ғана орындалатын кодтың өзі болады, өйткені мұнда салыстырмалы орын көрсетілген. Нақты, мыс, C:\Program Files\MyProg\MyFormPos.txt. орналасу орнын көрсетуге де болады.

Файлдың бар-жоқтығын ерекше жағдайларды бақылаудың көмегімен де орындауымыз мүмкін. Арнаулы оператордың көмегімен оны ұстап алып, бағдарламада қате кетірмеуге болады. Кәсіби бағдарламалардың Windows реестрінде өз орны сақталады. Оған да келерміз. әзірше бұл кіріспені аяқтаймыз.
9. Файлдармен тікелей жұмыс.
Delphi жүйесіндегі файлдармен жұмыс технологиясы әрекеттердің белгілі бір ретін орындауды талап етеді:


  1. Ең алдымен файл ашылуы тиіс. Жүйе басқа қолданбалар-дың файлдармен жұмыс істеуге кедергі келтірмеуін бақылайды. Осы кезде файл қандай режимде – ақпараттар-ды өзгерту немесе оны тек есептеу үшін ғана ашыла ма, сол бірге анықталады. Файл ашылған соң бағдарламаға өңдеу-дің барлық процедураларында осы файлды көрсетуге қолданылатын оның идентификаторы орнына қайтарылады.

  2. Файлмен жұмыс басталады. Ол файлды жазу, есептеу, іздеу және басқа да операциялар болуы мүмкін.

  3. Файл жабылады. Енді ол басқа қолданбалар үшін тағы да шектеусіз қол жетімді болады. Файлдың жабылуы оған енгізілген барлық өзгерістердің сақталуына кепілдік береді.

Delphi-де файлдармен жұмыстың бірнеше тәсілдері жүзеге асырылады. Қазір біз файлдық айнымалыны пайдалануға байланысты стандартты тәсілмен танысамыз.

Файлдық айнымалы файлды көрсету үшін енгізіледі. Ол File түйінді сөзінің көмегімен жасалады:



Var F: File;

Осылайша сипатталған файлдық айнымалы типтелмеген деп саналып, файлдың белгісіз құрылымдармен жұмыс істеуіне мүмкіндік береді. Мәліметтер файлды ашқан кезде блок бойынша мөлшері 1 байттан бастап есептеледі және жазылады.

Алайда көбінесе бірыңғай жазбалардан тұратын файлдар пайдаланылады. Мұндай файлдарды сипаттау үшін жоғарыдағы сипаттамаға жазбаның типі көрсетіліп, былай толықтырылады

Var F: File of жазба_типі;

Тип ретінде базалық типтерді немесе өзіндік типтерді қолдануға болады. Мұнда тип үшін байтпен алынған дәл мөлшер болуы маңызды. Өйткені осыдан бұрын айтылғандай, String типі таза түрінде емес, тек String[N] түрінде ғана қолданыла алады.

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

Сондықтан бағдарламада алдымен қажетті типті сипаттап алып, сонан соң барып осы типтегі файлдық және кәдімгі екі айнымалыны енгізейік:




Файлды ашу үшін, оның орны көрсетілуі қажет. Ол үшін файлдық айнымалы оның адресі бойынша анықталатын тиісті файлмен байланысты болуы тиіс. Файл адресі дискі мен каталогы көрсетілген('C:\Мои документы\Мои рисунки\FileName.ini') – абсолютті немесе салыстырмалы болуы мүмкін. Салыстырмалы адресті тиісті кеңейтілімі бар файлдың аты арқылы көрсету жеткілікті. Оны AssignFile операторы арқылы былай сипаттауға болады:
AssignFile(SaveF, 'C:\Мои документы\Мои рисунки\FileName.ini');
   AssignFile(SaveF, 'FileName.ini');
Енді файл ашылуы тиіс.

Файлдың Rewrite операторы арқылы ашылуы оның қайта құрылуына алып келеді, яғни бұл бұрынғы файл ескертусіз жойылады да, оның орнына берілген типтегі мәліметтерді жазуға дайын жаңа файл құрылады деген сөз. Егер файл жоқ болса, онда ол жаңадан жасалады.

Файлды Reset операторымен ашқанда ол бұрынғы файлды мәліметтерді есептеу немесе оларды жазу үшін ашады және оның көрсеткіші файлдың басына орнатылады:
Rewrite(SaveF);
  Reset(SaveF);
Осы операторлардың әрқайсысының типтік емес файлдар үшін мағынасы болатын міндетті емес екінші параметрлері болуы мүмкін және ол мұндай файлдың жазба ұзындығын байтпен былай көрсетеді:
Rewrite(SaveF, 1);
   Reset(SaveF, 1);

Файлды оқу Read операторымен жүргізіледі:

   Read(SaveF, SaveV);
Файлға жазу Write операторы арқылы орындалады:

Write(SaveF, SaveV);

Файлды оқу мен оған жазу көрсеткіштің ағымдағы позициясынан бастап жүргізіледі де, содан соң көрсеткіш келесі жазбаға барып орналасады. Керекті файлдың бар-жоқтығын FileExists операторы арқылы тексеруге болады:
   if FileExists('FileName.ini')
      then Read(SaveF, SaveV);

Керекті жазбаға көрсеткішті Seek(SaveF,N) операторымен мәжбүрлеп орнатуға болады, мұндағы N – нөлден бастап саналатын жазба нөмірі. Мысалы, көрсеткішті 50-жазбаға орнату үшін былай жазады:    Seek(SaveF, 49);

Файлды біртіндеп оқу кезінде көрсеткіш файлдың соңына жетеді де, әрі қарай оқу кезінде «қате» туралы хабарлайды. Осы қате шықпау үшін, файлдың соңына жеткен-жетпегенін тексеруге EOF операторын пайдалануға болады:
while (not EOF(SaveF)) do
      Read(SaveF, SaveV);
Файлдағы барлық жазбаны (көрсеткіштің тұрған жерінен файлдың соңына дейін) Truncate(SaveF) операторы қиып тастауға(өшіруге не қажет болса, жоюға) мүмкіндігі бар.

Файлмен жұмыс істеп болған соң оны жабу керек. Оны CloseFile(SaveF) ; операторы атқарады.

Енді тақырыптың бірінші бөліміндегі экрандағы өз орнын сақтайтын бағдарламаны өзгертуімізге болады. Мұнда жоғарыдағы суретте келтірілгендіктен, сипаттауды қалдырамыз.

Пішіннің OnCreate оқиғасын өңдеушіні құрайық:


procedure TForm1.FormCreate(Sender: TObject) ;
begin
   AssignFile(SaveF, 'Init.ini') ;
   if FileExists('Init.ini') then
     begin
       Reset(SaveF) ;
       Read(SaveF, SaveV) ;
       Form1.Left := SaveV.X ;
       Form1.Top := SaveV.Y ;
       Form1.Caption:=SaveV.Caption ; //осы //айнымалылар Пішіннің тақырыбын қосымша сақтайды

end ;
end ;

Енді OnClose оқиғасын өңдеушіні құрайық:


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction) ;
begin
Rewrite(SaveF) ; //мұнда файлдың бар-жоқтығын

//тексерудің қажеті жоқ, оны қайта құрамыз.


   SaveV.X := Form1.Left ;
   SaveV.Y := Form1.Top ;
   SaveV.Caption := Form1.Caption ;
   Write(SaveF, SaveV) ;
   CloseFile(SaveF) ;
end ;

Файл осы жағдайда есептеледі де, өзіміз көрсеткен орынға жазылады. Алайда бұл жерде жұмыс істейтін бағдарламадан керекті файлды таңдап ала білу қажет. Ол туралы тақырыптың соңғы бөлігінде айтатын боламыз.


10. Файлдарды ашудың және сақтаудың диалогтары
Алдыңғы тақырыптарда біз бағдарлама мәтінінде жазылған адресі бар файлдармен жұмыс істеуді үйрендік. Әрине, біз қалауымызға қарай кез-келген файлды қарастырғымыз келеді. Delphi бізге мұндай мүмкіндік бере алады. Жұмыс істеп тұрған бағдарламада файлдарды таңдауды жүзеге асыратын компоненттерді қарастырайық. Delphi –дің файл таңдау диалогы бағдарламаға қандай файлмен жұмыс істеуге болатынын көрсетуге мүмкіндік жасайды.

Компоненттер палитрасының Dialogs астарында OpenDialog және SaveDialog компоненттері бар. Осы астарда орналасқан диалогтардың барлығы тек жобалау кезеңінде ғана көрінетін, ал жұмыс істеп тұрған бағдарламадағы Пішінге көшірілген кезде көрінбейтін компоненттер.



OpenDialog компоненті бағдарламалық стандарт терезесін ашуды, ал SaveDialog компоненті – сақтау терезесін ашуды ұйымдастырады.

Мұнда файл таңдау диалогы өздігінше ештеңе атқармайды, тек тұтынушының файл таңдау кезінде жасаған баптау жағдайын ұсынады.

Диалогтың ең басты әдісі – Execute. Ол файл таңдау терезесіндегі « ашу» немесе « сақтау» батырмаларын басу кезінде жұмыс істейді. Мысал ретінде Memo редакторына жүктеу үшін файл таңдауға мүмкіндік беретін және оны редакциялағаннан кейін сақтауды енгізейік.

Кәне, Пішінге екі диалогты , Memo мәтіндік редакторын және үш Button батырмаларын орналастырайық. Біреуінің Caption қасиетіне « Открыть», екіншісіне «Сохранить», үшіншісіне «Сохранить как» деп жазайық.


работа с диалогами выбора файла
Onсlick өңдеуіштің « открыть » бағдарламасын қосып, жазамыз:
if OpenDialog1.Execute then Memo1.     Lines.LoadFromFile('OpenDialog1.FileName');

Файл таңдау нәтижесінде OpenDialog компонентінің FileName қасиеті таңдалған файдың толық адресінің мәніне ие болады., ал ол мәнді біз Memo компонентін жүктеу жайлы функциясына енгізген болатынбыз.

Әрине, бұл жазылған өрнектер тек бір жолға жазылғанда ғана дұрыс болады. Ал егер бағдарлама OpenDialog өрнегін бірнеше рет қолданса, онда оны қайта-қайта жазудан жалығатын боласың. Бұл жағдай үшін Delphi-де «with – біріктіруші оператор» дейтін оператор бар. Ол осындай қайталап жазуға тура келетін кез-келген объектілер үшін қолданылады.

Ол былай жазылады: with Объект do


      begin
...
      end;

Логикалық жақша ішіне объект қасиетін бірден жазып көрсетуге болады, егер жақша ішінде бір ғана оператор болса, онда ол міндетті емес. Файлды жүктеу үзіндісін « біріктіру операторын» пайдаланып, қайта жазайық:


   with OpenDialog1 do
      if Execute then
     Memo1.Lines.LoadFromFile('FileName');

OpenDialog пен SaveDialog компоненттерінің қасиеттері бірдей болғандықтан, мәтінді сақтау да сондай ұқсас. « Сохранить как » батырмасын басудың өңдеуішін құрайық, ол үшін былай жазамыз:


with SaveDialog1 do
      if Execute then
        begin
           Memo1.Lines.SaveToFile('FileName');
    OpenDialog1.FileName:=FileName; // Жөнделген //мәтін бастапқы мәтінді өшірмес үшін
        end;
Соңынан « Сохранить» батырмасы үшін жазайық:

Memo1.Lines.SaveToFile('OpenDialog1.FileName'); //қайдан бастап санады, сонда сақтайды ;


Осындай үзінділермен жұмыс істеу кезінде барлық файлдар ішінен қажетті директориядан ғана таңдауға болатынын байқаймыз.

Сонда, мысалы, мәтіндік файлдарды немесе өзіміз қалаған басқа файлдар типін көрген ыңғайлы. Ал ол үшін сүзгілер, яғни біздің компоненттердің Filter қасиеті қолданылады. Ол объектілер редактор фильтров

инспекторында бапталады. Оны таңдау кезінде сүзгілер редакторына көшуіміз мүмкін. Мұнда FilterName бағанына сүзгілер аттарын, ал Filter бағанына – файлдар маскаларының тізімін жазамыз.

Біздің жағдайда файл маскасы мына түрде болады:


*. файл_кеңейтілімі ;
Мұндағы  * – кеңейтілімге жарайтын кез-келген аты бар файл таңдалатынын білдіреді.

Title диалогының қасиеті бізге тақырыпқа қажетті сөзді жазу мүмкіндігін береді. Егер оны бос қалдырсақ, онда тақырыпта стандартты « открыть » немесе « сохранить » жазбалары тұрады. InitalDir қасиеті оны ашқан сәтте өзімізге қажет директорияда тұруға мүмкіндік жасайды. Мұны біз жобалау кезеңінде де, бағдарламалау бойынша да атқара аламыз.


11. Қосымша пішіндермен жұмыс.
Delphi –де де қосымша Пішіндермен жұмыс істеуге мүмкіндік бар. Мұнда біз тұтынушымен сұхбат жүргізуге және қажетті ақпаратты қабылдауға және оны шығаруға мүмкіндік беретін

список auto-create форм

қосымша пішіндерді оңай құра аламыз. Біз мұнда Delphi –дің негізгі пішініне қосымша бірнеше пішіндерді құрып үйренеміз.

Бағдарламаға жаңа пішін енгізу басты беттегі батырманы (New Form) басу арқылы, соған қоса тиісті командаларды : File -» New -» Form орындау арқылы жүзеге асырылады.

Пішін оның жұмысын сипаттайтын жаңа модульмен бірге құрылады. Оны бағдарламадан жоюға болады: ол үшін батырма бар және мына меню командасы: Project -» Remove from project.... қолданылады. Пішін модульмен бірге құрылатындықтан, көрінген терезеден жойылуға тиісті модульді таңдау керек. Ал егер Unit 1 модулінің өзін жойғымыз келсе не болады, сонда не қалады?



Project -» View Sourse командасын орындайық. Код редакторында (Бас терезенің коды бейнелетін пішіннің емес) жаңа астар пайда болады. Мұнда Бас терезе көрінбейді, бірақ барлық жобаны басқарады және жалпы пішінсіз де жұмыс істей алады. Оған өз кодыңды орналастырып және Паскальдағы сияқты бағдарлама жазуымызға болады.

Барлық жаңа жобалар бірден өзі жасалатындар қатарына енгізіледі, яғни олар бағдарламаның жұмысын бастаған кезден жобаның Бас пішінімен бірге құрылып көбейе береді.



список available форм

Бағдарламада біз мұнымен айналыспаймыз, алайда бір уақытта бірнеше пішіннің жасалуы бағдарламаның орнын азайтады және қаншама уақыт алады. Сондықтан да қажетті сәтте ғана тиісті пішінді жасауды үйренуді ұсынамын.

Біріншіден, пішіннің өздігінше жасалуын тоқтату керек. Ол үшін Project Options командасын орындаңыз. Көрінген терезеде: Main Form(Бас Пішін), Auto-create (өздігінен жасалатын) және AvaiLable(қол жетімді) түріндегі жоба пішіндері бейнеленеді. Мұнда бізге пішінді өздігінше жасалатын түрден қолжетімді түрге көшіруіміз қажет. Ол: “>” батырмасын (керісінше амал – “<”) басу арқылы орындалады.

Сонымен Form1 Бас пішіні өзі жасалады, ал қосымша Form2 пішінін біз бағдарламада қажетіне қарай өзіміз құрамыз. Егер біз осы айтылғанды жасамаған болсақ, онда экранда жаңа пішін шығару үшін былай деп жазсақ жеткілікті :

Form2.Show; // жай пішін үшін
Form2.ShowModal; // модальды пішін үшін
Егер біз қосымша пішіндерді қолжетімді түрге көшірген болсақ, онда осындай пішінді шақыру алдында, оның бар-жоқтығын былайша тексеру қажет:

1   2   3   4   5   6   7   8   9   10


жүктеу 1.27 Mb.