Лабораторлық жұмыс №2
Сабақтың мақсаты: Delphi тілінің мүмкіндіктерімен
таныстыру. Labeled Edit, Mask Edit, Memo, Riche Edit компоненттерін қолдануды үйрету.
Мысал №1 «Көпжолдық текст».
Қосымша текстті жолдық түрге келтіреді. «Добавить» батырмасы Labeled Edit жазылған текстті соңғы жол ретінде көпжолдық текстке қосады, яғни Memo компоненттіне. “Очистка” көпжолдық тексттің мазмұнын тазартады.
№ |
компонент |
Қасиеті |
Мәні |
1 |
TForm |
Caption |
Көпжолдық текст |
2 |
TMemo (көпжолдық текстті енгізу) |
Name ScrollBars Lines |
Memo1 ssVertical (бос) |
3 |
TEdit |
Name |
Edit1 |
4 |
TPanel |
Caption |
Добавить |
5 |
TPanel |
Caption |
Очистка |
// «Добавить» батырмасы
procedure TForm1.Panel1Click(Sender: TObject);
begin
if edit1.Text<>' ' then memo1.Lines.Add(Edit1.Text);
edit1.Text:='';
Panel1.BevelOuter:=bvLowered;
end;
// «Очистка» батырмасы
procedure TForm1.Panel2Click(Sender: TObject);
begin
Edit1.Text:=' ';
Memo1.Text:=' ';
Panel2.BevelOuter:=bvLowered;
end;
// текстті тексттік өріске енгізу
procedure TForm1.Edit1Change(Sender: TObject);
begin
Panel1.BevelOuter:=bvRaised;
Panel2.BevelOuter:=bvRaised;
end;
Mысал №2
procedure TForm1.FormCreate(Sender: TObject);
begin
OpenDialog1.Filter := 'Текст|*.txt';
end;
procedure TForm1.Button1Click(Sender: TObject);
var
f: TextFile; // файл
fName: String[80]; // имя файла
buf: String[80]; // буфер для чтения строк
begin
if not OpenDialog1.Execute
then { пользователь закрыл диалог
щелчком на кнопке Отмена }
exit;
// пользователь
выбрал файл
fName := OpenDialog1.FileName;
Form1.Caption := fName;
AssignFile(f,
fName);
try
Reset(f); // открыть для чтения
except
on EInOutError do
begin
ShowMessage('Ошибка доступа
к файлу '+
fName);
exit;
end;
end;
// чтение из файла
while not EOF(f) do
begin
readln(f, buf); // прочитать строку из файла
Memo1.Lines.Add(buf); // добавить строку в поле Memo1
end;
CloseFile(f);
// закрыть файл
end;
Тапсырмалар.
1. Қосқыштарды (переключатели) белсенді түрге келтіргенде
жазбаның түсі өзгеретін, ал жалаушаны (флажок) таңдағанда
шрифт атрибуттары ауыстырылатын қосымшаны құрыңдар.
Мысалы:
case RadioGroup1.ItemIndex of
0:
memo1.Font.Color:=clBlack;
1:
memo1.Font.Color:=clBlue;
2:
memo1.Font.Color:=clred;
2. Edit1 және Edit2 өрістеріне
сандарды енгізгенде, олармен қосу, алу, көбейту, бөлу
амалдарын орындайтын қосымшаны құрыңдар. Нәтижесі
Edit3 өрісінде орнатылады. Амалдардың типі Label4 компонентінде көрсетіледі, амал өзгертілген
сайын.
Амалдарды орындау қажет тек операндалар бос болмаса. Бөлу
амалын орындамау, егер екінші операнд нөлге тең болса.
3. Енгізу көпжолдық
өрісінде текстпен жұмысты басқаратын қосымшаны құрыңдар.
Екі жалауша алмастыру буферімен және шрифт түсін өзгерту мүмкіндіктерін
рұқсат етеід/рұқсат бермейді. Бастапқы жұмыста фрагменттермен жұмыс
рұқсат беріледі.
«Копировать» және «вырезать» батырмаларына қатынауға
болады, егер текстте ерекшеленген текст болса. «Вставить» батырмасы, егер
алмастыру буферінде мәндер бар болса. Ал, барлық батырмалар
белсенді болмаған жағдайда, алмастыру буфері бос болу қажет.
Радиобатырмарлар белсенді, егер шрифт текстінде белгі болса.
Алмастыру буферімен жұмысты Memo объектінің әдісі арқылы жасауға болады:
CopyToClipboard - ерекшеленген фрагментті буферге көшіру
CutToClipboard - ерекшеленген фрагментті буферге өшіру (вырезка)
PasteFromClipboard - ерекшеленген
фрагментті буферге қою
Текст фрагменттің ерекшеленгенін Memo
объектінің OnMouseUp қасиеті арқылы білуге болады. Берілген әдісті
тексеруге болады SelLength – ерекшеленген фрагменттің ұзындығы
қасиеті арқылы.
4. Енгізу көпжолдық
өрісінде текстпен жұмысты басқаратын қосымшаны құрыңдар.
Қандай батырма басылса,
соған байланысты тексттің бейнесі және өлшемі өзгереді
(taRightJustify).
if
SpeedButton5.Down=True then
memo1.Alignment:=taCenter