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


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

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






Then begin 5 page





Қадам 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);

3.6 Delphi - дің кескінді құруға тағайындалған кластары мен құрауыштары. Timer – таймер құрауышы

Delphi – де кескінді құру құралдарын анықтайтын бірнеше кластар анықталған. Олардың қатарына қаріп (TFont класы), қарындаш (TPen класы), қыл қалам (TBrush класы) және канва (TCanvas класы) жатады. Бұл кластар кез – келген суретті бейнелеуге, сонымен қатар мәтінді де бейнелеуге қажетті құралдарды береді. Олардың барлығы қандай да бір басқа құрауыштың құрамында қолданылады.

TFont, TPen және TBrush кластарының жалпы ата – тек – TGraphicsObject (Графикалық объект) класы бар, ол өз кезегінде TPersistent класының ұрпақ класы болып келеді, TCanvas класы тікелей TPersistent класының ұрпақ класы болып табылады.

TGraphicsObject класының графикалық объектілері.

TGraphicsObject – абстрактілі класс, ол кескінді де мәтінді де бейнелейтін құралдың ең алғашқысы болып табылады. Ол өзінің ұрпақ кластарында қолданылатын OnChange оқиғасын анықтайды.

property OnChange: TNotifyEvent;

Type

TNotifyEvent = procedure (Sender: TObject) of object;

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

Delрhi – де арнайы графикалық бейнелерді салуға тағайындалған құрауыштар бар:

Image - дайын графикалық файлдарды бейнелеу үшін қолданылатын ыңғайлы құралды көрсетеді.

Shape - пішінде қарапайым геометриялық фигураларды – квадрат, дөңгелек, эллипс және т.б. салу үшін қолданылады.

PaintBox - бағдарламаның орындалуы барысында өзінің канвасы Canvas – та қарапайым суреттерді құруға мүмкіндік береді.


Сонымен қатар біз осы тарауда нақты уақыт интервалын есептеуге тағайындалған Timer құрауышын қарастырамыз. Ол графикалық кескіндерді құруға тағайындалмаған және көмекші құрауыш болып табылады. Бізде ол графикалық құрауыштардан тұратын қосымшаны құрған кезде қолданылады.

TFont класы.

Класс TFont – графикалық құрауыштың мәтіні бейнеленетін қаріптің сипаттамасын береді. Осы кластық типті иемденетін қасиеттер қандай да бір мәтіннен тұратын кез – келген құрауышта болады. TFont класындағы қаріптің сипаттамалары келесі қасиеттердің көмегімен беріледі:

property Charset: TFontCharset nodefault – қаріп символдарының тобын анықтайды. Ол TfontCharset типтен тұрады:

Type

TFontCharset = 0..255;

Кейбір тұрақтылар Charset қасиетінің мәндері ретінде қолданылуы мүмкін:

ANSI-коды үшін (кәдімгі қолданылатын) қасиеттің мәні нөлге тең

(ANSI _ CHARSET тұрақтысы).

Орыс тіліндегі бағдарламалар үшін қасиеттің мәні 1-ге тең (DEFAULT_CHARSET константасы – үнсізідкпен беріледі. Қаріп тек аты Name және өлшемі Size арқылы беріледі. Егер сипатталып отырған қаріпке жүйеде қатынас жоқ болса, онда Windows оны басқа қаріппен ауыстырады) және 204 (RUSSIAN_CHARSET константасы кириллица символдары).

255 мәні (OEM_CHARSET тұрақтысы – символдар тобы операциялық жүйенің кодтық кестесі арқылы анықталады) MS-DOS - тың мәтінін бейнелеуге қолданылады.

property Color: TColor – символдар түсін аықтайды.

property Height: Integer – қаріптің биіктігін пиксельмен анықтайды.

property Name: TFontName; – қаріптің атын береді. Қасиеттің типі – 32 символға дейінгі жол.

Type

TFontName = type string;

property Size: Integer – қаріптің биіктігін пункт бойынша береді.

(1 пункт = 1/72 дюйм).

property Style: TFontStylesTFontStyles типті қасиет.

Type

TFontStyle = (fsBold, fsItalic,fsUnderline, fsStrikeOut);

TFontStyles = set of TFontStyle;

Ол қаріптің типін береді және мән ретінде келесі көптіктің шамаларын қабылдайды:

fsBold – жартылай қою,

fsItalic – курсив,

fsUnderline – асты сызылған,


fsStriceOut – ортасы сызылған.

Мысал 3.6.1 Көптікті қолдану. OnClick оқиғасының өңдеуіші Button1 құрауышы үшін Memo1 құрауышындағы қаріпті – жартылай қою курсивті қылып орнатады.

procedure TForm1.Button1Click(Sender: TObject);

var Styles: TFontStyles;

Begin

Styles:= [];

Styles:= Styles + [fsBold, fsItalic];

Memo1.Font.Style:= Styles;

end;

немесе

procedure TForm1.Button1Click(Sender: TObject);

Begin

Memo1.Font.Style:= [];

Memo1.Font.Style:= Memo1.Font.Style+[fsBold, fsItalic]

end;

Delphi – дегі мәтіндер тек көлденеңінен жазылады.

TPen класы.

TPen класы – қарындаштың сипаттамаларын береді, оның көмегімен әртүрлі сызықты немесе жиектемелі бейнелер салынады.

Осы кластың негізгі қасиеттеріне келесілерді жатқызуға болады:

property Color: TColor – қарындаш арқылы салынатын сызықтың түсін анықтайды. Үнсіздікпен түсі қара.

property Mode: TPenModeTpenMode типті қасиет:

Type

TPenMode = (pmBlack, pmWhite, pmNop, pmNot, pmCopy, pmNotCopy, pmMergePenNot, pmMaskPenNot, pmMergeNotPen, pmMaskNotPen, pmMerge, pmNotMerge, pmMask, pmNotMask, pmXor, pmNotXor);

Ол қарындаш арқылы салынатын сызықтың стильін анықтайды. Келесі мәндерді қабылдай алады:

pmBlack - әрқашан қара сызық бейнеленеді;

pmWhite - әрқашан ақ сызық бейнеленеді;

pmNop - түссіз сызық;

pmNot - экранның түсіне терістік болып табылатын түс;

pmCopy - Color қасиетінің мәні арқылы анықталады;

pmNotCopy - Color қасиетінде берілетін түске терістік болып табылатын түс;

және т.б.

Үнсіздік бойынша сызықтың түсі Color қасиеті арқылы анықталады.

property Style: TPenStyleTPenStyle типті қасиет:

Type

TPenStyle = (psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsideFrame);

Ол қарындаш арқылы салынатын сызықтың түсін анықтайды. Келесі мәндерді қабылдауы мүмкін:

psSolid - тегіс сызық (мәні үнсіздік бойынша);

psDashe - үзік сызықты сызық;

psDot - пунктирная линия;

psDashDot - үзік сызықты пунктирлі сызық;

psDashDotDot - екі пунктирлі үзік пунктирлі сызық;

psClear - невидимая линия;

psInsideFrame - тұйық жақтаудың ішіндегі сызық.

property Width: Integer – салынатын сызықтың қалыңдығын анықтайды. Үнсіздік бойынша қалыңдығы 1 пиксельге тең деп алынады.

TBrush класы.

TBrush класы – тұйық аймақты бояуға арналған қыл қаламның сипаттамасының анықтамасынан тұрады. Қыл қаламның негізгі қасиеттерін қарастырайық.

property Bitmap: TBitmapBitmap қасиеті 8х8 пиксельді өлшемнен тұратын, кескінді биттік бейнелейтін TBitmap типті объектіге нұсқайды. Егер Bitmap бос болмаса, онда толтыру шаблоны Style қасиетінде емес, оның өзімен анықталады. Қарсы жағдайда қасиет nil мәнінен тұруы керек.

Мысал 3.6.2 Келесі бағдарламалық код нүктелік суретті файлдан іске қосады және оның қыл қаламына Form1 құрауышының Canvas қасиетін орнатады.

Var

Bitmap: TBitmap;

Begin

Bitmap:= TBitmap.Create;

Try

Bitmap.LoadFromFile('MyBitmap.png');

Form1.Canvas.Brush.Bitmap:= Bitmap;

Form1.Canvas.FillRect(Rect(0,0,100,100));







Date: 2015-07-01; view: 624; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.027 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию