Лабораторлық жұмыс №2

 

Тақырыбы: Labeled Edit, Mask Edit, Memo, Piche Edit компоненттерін қолдану

Сабақтың мақсаты: 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

 

 



Алдыңғы Л.Ж. Басты Келесi Л.Ж.