Зертханалық жұмыс №1 «Delphi интерфейсінің элементтері»



жүктеу 2,2 Mb.
бет101/118
Дата04.01.2022
өлшемі2,2 Mb.
#36255
1   ...   97   98   99   100   101   102   103   104   ...   118
Зертханалы ж мыс №1 «Delphi интерфейсіні элементтері»

If P=Nil

then MessageBeep(0)

Егерадрес ноөлдік болса (үлгі табылған жоқ), онда дыбыстық дабыл генерацияланады.

else begin

Memo1.SelStart:=P-Buff;

Memo1.SelLength:=Length(FindText)

end;


Әйтпесе, егер үлгі табылса, ол Memo1 – де ерекшеленеді.

FreeMem(FT);

FreeMem(Buff,BuffLen);



end;

end;

Процедура аяқталғанда динамикалық айнымалылар бүлінеді.

Қадам 20. ReplaceDialog1 құрауышы үшін OnFind өңдеуішін FindDialog1 құрауышының оқиғасы ретінде (Object Inspector терезесінде) көрсету керек (сондықтан бұл процедурада FindText іздеу жолы нақты FindDialog1 немесе ReplaceDialog1 құрауыштарынан емес, оқиға көзі Sender – ден алынады.).

Қадам 21. ReplaceDialog1 құрауышы үшін OnReplace оқиға өңдеуішінің мәтінін енгізу.

Өңдеуіштің мәтіні

Түсініктеме

With ReplaceDialog1 do

Repeat

Цикл ұйымдастырылады.

if Memo1.SelText<>FindText

then FindDialog1Find(Sender);

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

if Memo1.SelLength=0 then Break;

Егер үзінді табылмаса, онда цикл жабылады.

Memo1.SelText:=ReplaceText;

Ерекшеленген үзіндіні айырбас үлгісіне айырбастау.

until not (frReplaceAll in Options);

Егер “Заменить все” режимі таңдалмаса, онда циклді тоқтату керек.

Өз беттеріңше: (тәжірибелік жұмыстан 5 деген баға алам деушілер 3 және 6 пункттерін орындаулары қажет)

1. Панельге келесі функцияларды орындауға мүмкіндік беретін батырманы қосу

Вариант

Тапсырма

1, 6, 11, 16, 21, 26

Мәтінді жолдағы сөздер саны бойынша сұрыптау

2, 7, 12, 17, 22, 27

Жолдарды кері ретпен қою

3, 8, 13, 18, 23, 28

Мәтінді жолдағы цифрлар саны бойынша сұрыптау

4, 9, 14, 19, 24, 29

Мәтінді жолдағы бос орын саны бойынша сұрыптау

5, 10, 15, 20, 25, 30

Жолдарды ереже бойынша қою 0-1, 2-3, 4-5,…

2. Панельге ‘proba.txt’ файлына келесілерді сақтауға мүмкіндік беретін батырманы қосу

Вариант

Тапсырма

1, 7, 13, 19, 25

Соңғы K жолды

2, 8, 14, 20, 26

Жұп санды сөздерден тұратын жолды

3, 9, 15, 21, 27

L - ден басталатын K жолды

4, 10, 16, 22, 28

Тура К сөзден тұратын жолды

5, 11, 17, 23, 29

Бірдей сөздер кезігетін жолды

6, 12, 18, 24, 30

Барлық символдары өзгеше жолдарды

K және L сандары панелде орналасқан SpinEdit құрауышына енгізіледі (SpinEdit - тегі мәндер мәтіннің жағдайына сай келуі керек).

3. Панельге файлдан (файлдың аты диалог терезесінде анықталады) 2 – ші тапсырмада (варианта – сіздікінен кейінгі вариант) берілген жолдарды есептеуге мүмкіндік беретін батырманы қосу. Жолдар бар мәтінді ауыстырады немесе оған қосылып жазылады (басына, аяғына, N – ші жолдан кейін – қолданушының таңдауына қарай). Барлық баптау диалогтың уақытында негізгіні айырбастайтын диалог панельінде анықталады. Диалогты болдырмау мүмкіндігін де қарастырыңыздар.

4. Мәтіннің көрінісінің түсін таңдауға тағайындалған батырманы қосу.

5. TMainMenu құрауышының көмегімен жобаның негізгі менюін ұйымдастыру қажет, оған негізгі панельдің барлық батырмаларының функциясын саналы түрде орналастырыңыздар (Әрине, бұл функцияларды қайта жазбай, меню пунктінің OnClick оиғасының дайын өңдеуішін тағайындауға (атын қайта өзгерту) болады).

6. Тәжірибелік жұмыстан 5 деген баға алам деушілер, жобада қосымшаның 2 және 3 пункттерін іске асырулары қажет (төменнен қараңыздар).

Қосымша:

1. Memo - құрауышы қосымшамен жұмыс істегенде ғана қолдануға болатын қасиеттердентұрады.

Қасиет

Мән

SelText

Мәтіннің ерекшеленген үзіндісі

SelLength

Ерекшеленген үзіндінің ұзындығы

SelStart

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

Modified

TRUE, егер мәтін өзгерсе.

2. Келесі бағдарламалық код Memo1 құрауышындағы тышқанның ңұсқағышының орынын анықтауға мүмкіндік береді:

var X,Y : Integer;

begin

Y:=Memo1.Perform(EM_LINEFROMCHAR, Memo1.SelStart, 0);

X:=Memo1.Perform(EM_LINEINDEX, Y, 0);

Y:=Y+1;


X:=Memo1.SelStart-X+1;

end;

3. Memo1 редактіріндегі әрекетті болдырмау үшін келесі бағдарламалық кодты қолдануға болады:

Memo1.Perform(EM_UNDO, 0, 0);

Әрекетті болдырмау мүмкіндігін тексеру үшін функцияның мәнін нөлмен салытыруға болады:

Memo1.Perform(EM_CANUNDO, 0, 0);



жүктеу 2,2 Mb.

Достарыңызбен бөлісу:
1   ...   97   98   99   100   101   102   103   104   ...   118




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

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау