Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Агрегатты функциялар 3 страница






then MoveTo(px, py)

else LineTo(px, py);

Form2.Canvas.Pen.Color: = clBlack;

// функция мә ні жә не аргументі

TextOut(px-5, py-15, FloatToStr(y[i]));

TextOut(px-5, y0+2, FloatToStr(x[i]));

MoveTo(px, py); // Қ аламұ шты px, py нү ктелеріне қ айтару

// ө йткені TextOut қ аламұ ш орнын ө згертеді.

end;

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

var

i: integer;

begin

StringGrid1.ColCount: = COLCOUNT;

StringGrid1.Cells[0, 0]: = ' X';

StringGrid1.Cells[0, 1]: = ' Y';

// Ө ң деу: кестені толтыру

for i: =1 to COLCOUNT do

begin

StringGrid1.Cells[i, 0]: = IntToStr(i-1);

StringGrid1.Cells[i, 1]: = IntToStr(i-1);

end;

end;

// Қ ұ ру батырмасын шерту

procedure TForm1.Button1Click(Sender: TObject);

var

i: integer;

begin

// Кестедегі мә ндерді функция мә ндері мен аргументтерінің //жиымы тү рінде қ айта жазу

for i: =1 to COLCOUNT-1 do

begin

x[i]: = StrToFloat(Form1.StringGrid1.Cells[i, 0]);

y[i]: = StrToFloat(Form1.StringGrid1.Cells[i, 1]);

end;

// Графикті шығ ару функциясын Form2 ү шін OnPaint оқ иғ асын //ө ң деу процедурасы шақ ырады

if not Form2.Showing

then Form2.Show // Form2 терезесін бейнелеу

else Form2.Repaint;

end;

 

 

ОСӨ Ж-ді орындауғ а арналғ ан ә дістемелік нұ сқ аулар

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

Студенттер тапсырмалар алып, программасын жазғ аннан кейін, программаны жө ндеуден ө ткізіп, тестілеп, анализ жасап, нә тижелерін дә птерлеріне жазып, оқ ытушығ а тексертулері керек.

Тапсырмаларды орындау барысында Гофман В.Э., Хомененко А.Д. Delphі 7. – СПб.: БХВ- Санкт-Петербург, 2010.-800с: ил.; Глинский Я.Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphі. Учебное пособие.-СПб, 2001; Культин Н. Основы программирования в Delphі 7. -– СПб.: БХВ- Санкт-Петербург, 2003; Архангельский А.Я. Object Pascal в Delphі – М.: ЗАО Изд. «БИНОМң, 2002 – 384 с.; Архангельский А.Я. Язык Pascal и основы программирования в Delphі. Учебное пособие – М.: ООО «Бином-Пресс», 2004 – 496с.; Фаронов В.В. Delphі 5. Учебный курс. –М.: 2001 ә дебиет кө здерін жә не Интернет материалдарын пайдаланың ыздар.

Студенттердің ө здік жұ мыстарына ә дістемелік нұ сқ аулар:

 

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

Ә дістемелік нұ сқ ау: ә р тақ ырып бойынша ө здік жұ мысты орындап отыру. Тапсырмалардың программасын қ ұ рып, компьютерде орындағ аннан кейін, оны тестілеп нә тижесін оқ ытушығ а кө рсетің із.

Тапсырмаларды орындау барысында Гофман В.Э., Хомененко А.Д. Delphі 7. – СПб.: БХВ- Санкт-Петербург, 2000.-800с: ил.; Глинский Я.Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphі. Учебное пособие.-СПб, 2001; Культин Н. Основы программирования в Delphі 7. -– СПб.: БХВ- Санкт-Петербург, 2003; Архангельский А.Я. Object Pascal в Delphі – М.: ЗАО Изд. «БИНОМң, 2002 – 384 с.; Архангельский А.Я. Язык Pascal и основы программирования в Delphі. Учебное пособие – М.: ООО «Бином-Прессң, 2004 – 496с.; Фаронов В.В. Delphі 5. Учебный курс. –М.: 2001, ә дебиет кө здерін жә не Интернет материалдарын пайдаланың ыздар.

 

СӨ Ж-дің кү нтізбелік-тақ ырыптық жоспары

Тапсырмалардың мазмұ ны Сағ ат саны Тапсыру мезгілі Бақ ылау тү рі
1. Тапсырма 1.Университетке тү суемтихандарын тапсырғ ан талапкерлердің тізімі тө менгілерден тұ рады: талапкерлердің аты-жө ні, бағ алары. Университет бойынша орта баллды анық тау жә не орта баллдарды университет бойынша орта баллдан жоғ ары талапкерлердің тізімін шығ ару. Тізімде 1-ші болып емтиханды 5-ке тапсырғ ан студенттер тұ ру керек. Тапсырма 2.Студенттердің оқ у ү лгерімі туралы тізімді қ ұ ру бағ дарламасын жасау. Осы тізімдердің ә р жазбасы тө мендегілерден тұ ру керек: топ нө мері, студенттердің аты-жө ні, соң ғ ы сессия бағ алары. Студенттердің тізімін топ бойынша шығ ару. ә р топта студенттердің аты-жө ні орта балының кемуі бойынша орналасуы керек.       Қ олданба, программа коды
2. Тапсырма1. Файлдан оқ уғ а мү мкіндік жасайтын бағ дарлама қ ұ ру. Тапсырма 2. «Физика пә ні бойынша лабораториялық жұ мыстар» электронды қ абық шасын қ ұ рың ыз. Мысалы: электр тізбегінің кедергісін табу, Ом заң ы, спортсменнің жү гіру жылдамдығ ын есептеу т.с.с.     Қ олданба, программа коды
3. Тапсырма1. Кү ндік температура туралы ақ параттан тұ ратын, мә тіндік файл тү рінде қ ұ рылғ ан “Ауа райы” мә ліметтер қ орына мә лімет қ осатын программа жазың ыз. Датаны енгізу ү шін MonthCalendar компонентін пайдаланың ыз. Тапсырма 2. Жұ лдызша сызатын программа қ ұ рың ыз.     Қ олданба, программа коды
4. Тапсырма1.Тестілеу бағ дарламасын қ ұ рың ыз. Тапсырма2. Біршама ойнауғ а, ө зің нің шалт қ имылың ды кө рсетуге арналғ ан тир ойынының бағ дарламасын қ ұ рың ыз.     Бақ ылау жұ мысы
Барлығ ы:      

 

 

СӨ Ж-ге арналғ ан материалдар

Жиындар деп, бір атауғ а біріктірілген элементтер тобын айтады. Оның элементтерін басқ алармен салыстыра отырып, олардың осы жиынғ а тиістілігін анық тауғ а болады. Бір жиындағ ы элементтер саны 256-дан аспауы тиіс. Жиын былай сипатталады:

Type жиын_аты=set of жиынның _мә ндер_аралығ ы;

Мә ндер аралығ ы ретінде элементтерінің саны 256-дан аспайтын кезкелген типті кө рсетуге болады. Мыс: type TmySet=set of 0..255;

Type TMySet=set of Byte;

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

If шарт then 1-ә рекет else 2-ә рекет;

Мұ ндағ ы if(егер), then(онда) жә не else(ә йтпесе) – қ ызметші сө здер, ал 1-ә рекет немесе 2-ә рекет – операторлардың орындалу нә тижесін білдіретін операторлар. Мұ нда шарт ақ иқ ат болса 1-ә рекет, жалғ ан болса 2-ә рекет орындалады. Шарт логикалық ә рекетке жатады. Бұ л жерде ө рнектер мә ні(оның ішінде логикалық та) салыстырылады, ол ү шін Boolean типті мә нді қ айтаратын функциялар шақ ырылады жә не ол мә ндерді логикалық амалдармен қ оса қ олдана алады.

Амал таң басы Амалдың атауы Логикалық амалдарды мына: and (логикалық ЖӘ НЕ) or (логикалық НЕМЕСЕ) xor (жоқ қ а шығ арушы НЕМЕСЕ) байланыстырушы амалдармен бірге пайдалануғ а болады. Мә ліметтердің кейбір типтері ү шін қ осымша амалдар бар. Мыс, жиын ү шін inоператоры – мә ннің сол жиынғ а тиістілігін тексереді. K жиыны берілсін: K: = [1, 4, 7, 10, 13, 16]; мұ нда 1 in K ө рнегі ақ иқ ат (true мә ніне ие), ал 8 in K ө рнегі жалғ ан (false мә ніне ие), ө йткені 1 К жиынына тиісті, ал 8 мә ні К-да жатпайды.
= тең
< > тең емес
> ү лкен
< кіші
> = ү лкен не тең
< = кіші не тең
not логикалық ЕМЕС – теріске шығ ару

ЖӘ НЕ логикалық амалының орындалу нә тижесі екі операнд бірдей ақ иқ ат болғ анда ғ ана 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 командаларын қ олдануғ а тура келеді.

Бағ дарламалау процесіндегі ең маң ызды жұ мыстың бірі – ол файлдармен жұ мыс болып табылады. Осы жұ мыс нә тижесінде ақ паратты есептеуге, оны сақ тауғ а жә не файлдармен басқ а да ә рекеттерді орындауғ а мү мкіндік аламыз. 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 реестрінде ө з орны сақ талады. Оғ ан да келерміз. ә зірше бұ л кіріспені аяқ таймыз.

Дә рістер кешені

Дә ріс №1. Файлдармен жұ мыс істеуге арналғ ан компоненттер

Дә ріс жоспары:

1. ListBox, ComboBox, Memoкомпоненттері;

2. Ә дістері мен қ асиеттері

 

Кілттік сө здер: ә діс, объект.

Иллюстрациялық материал: слайд

Бағ дарламалау процесіндегі ең маң ызды жұ мыстың бірі – ол файлдармен жұ мыс болып табылады. Осы жұ мыс нә тижесінде ақ паратты есептеуге, оны сақ тауғ а жә не файлдармен басқ а да ә рекеттерді орындауғ а мү мкіндік аламыз. 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 операторының кө мегімен жолдық мә нге айналдыру керек.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.