Delphi — визуалды программалау жүйесі


Дилогты терезелер. Open Dialog, Save Dialog, Font Dialog, ColorDialog



бет7/7
Дата27.11.2019
өлшемі0,65 Mb.
#52548
1   2   3   4   5   6   7
Байланысты:
konspekt Delphi


Дилогты терезелер. Open Dialog, Save Dialog, Font Dialog, ColorDialog.
Windows ОЖ-сі файлдарды ашуда, шрифт және түс параметрлерін таңдауда стандартты диалогты терезелерді пайдаланады. Delphi программасы да стандартты диалогты терезелерді қолданады. Бұл компоненттер «Дилоги» тақтасында орналасады. Оларды пішінге орналастырғанда олар көрінбейді. Оларды шақыру үшін « *.execute » процедурасы қолданылады. М/лы: OpenDialog1.Execute, SaveDialog1.Execute, ColorDialog1. Execute, FontDialog1. Execute.


  1. Open Dialog – ашуға тиісті файл атын таңдауда қолданылады. (Фильм 2)

Негізгі қасиеттері:

FileName

Таңдалған файл атын қайтарады.

InitialDir

Таңдалған файл орналасқан каталогты анықтайды

Filter

Фильтрде көрсетілген файлдарды таңдауға мүмкіндік береді.

Default

Үнсіз келісім бойынша файл затын бекітеді.

Ескерту: Бұл диалогты терезе файлды ашуға емес тек файл атын таңдауға мүмкіндік береді.




  1. Save Dialog – сақтауға тиісті файл атын таңдауда қолданылады. (Фильм 3)

Open Dialog терезесінен айырмашылығы тек «Открыть» батырмасының орнына «Сохранить» батырмасы орналасқан.


  1. FontDialog – шрифті таңдау терезесі. (Фильм 4)

Негізгі қасиеттері:

Font

ОЖ-де орнатылған шрифтерді таңдауға және оның параметрін өзгертуге мүмкіндік береді

Device

Шрифтің қай құрылғыға арналғанын анықтайды

fdScreen

Экранға арналған

fdPrinter

Принтерге арналған

fdBoth

Экран мен принтерге арналған




  1. ColorDialog1- түсті таңдау терезесі.

Негізгі қасиеті : Color – таңдалған түсті қайтарады.

Сабақ тақырыбы: Memo басқару элементі
Сабақ мақсаты: Memo басқару элементінің қасиеттерін және әдістерін программалау.

Теориялық бөлім:

Memo компоненті көп қатардан тұратын тексті енгізу, редактрлеуге арналған. Текст Lines қасиетінде сақталады және ол 0-ден бастап нөмірленеді.

BorderStyle, CanUndo, HideSelection, MaxLentgh, Modified, OEMConvert, OnChange, Readonly, SelLength, SelStart и SelText қасиеттері TEdit қасиеттеріне ұқсас. WordWrap қасиеті TLabel -дің дәл осы қасиетіне ұқсас.

Компонент қасиеттері:

TBorderStyle =

bsNone..bsSingle;

property BorderStyle: TBorderStyle;


Қоршау стилін көрсетеді:

bsNone –қоршау жоқ; bsSingle - компонент

бір сызықпен қоршалады.


property MaxLength: Integers;

Текстің макисмал ұзындығын анықтау.

property Modified: Boolean;

True, егер текст өзгеріске ұшыраса

property Readonly: Boolean;

True болса тексті өзгерте алмайсыз

property SelLength: Integers;

Айрықшаланған текст ұзындығы

property SelText: Strings-

Айрықшаланған текст

property Text: String;

Барлық текст

Компонент әдістеріне мысалдар:

Memo1.Сlear;

Memo1-дегі тексті тазалау

Memo1.lines.add(edit1.text);

edit1.text-дегі тексті Memo1-ге енгізу

Memo1.SelStart:=5;

Курсорды 5 позицияға орналастыру. Программа орындалу барысында іске асырылады және курсор көрінбей кетеді.

Memo1.SelLength:=10;

Курсор орналасқан жерден бастап 10 символды айрықшаландыру. Ескерту:

Memo1.HideSelection:=false болуы керек.



Memo1.Lines.Delete(3);

Memo1-дің 4 қатарында орналасқан тексті өшіру.

Memo1.Lines.LoadFromFile(OD1.FileName);

Диалогты терезеде көрсетілген текстік файлды Memo1-ге жүктеу.

memo1.Lines.SaveToFile(SD1.FileName);

Memo1-де орналасқан тексті диалогты терезеде көрсетілген файлға сақтау.



Практикалық жұмыс
Тексті өңдеуге арналған төмендегідей программа құр.



procedure TForm1.N2Click(Sender: TObject);

begin


if SD1.Execute then

begin


memo1.Lines.SaveToFile(SD1.FileName);

end;


end;



procedure TForm1.N3Click(Sender: TObject);

begin


if OD1.Execute then

Memo1.Lines.LoadFromFile(OD1.FileName);

end;
procedure TForm1.Button1Click(Sender: TObject);

var k: integer;

begin

k:=pos(edit1.Text,Memo1.text);



Memo1.SelStart:=k-1;

Memo1.SelLength :=Length(Edit1.Text);

end;
procedure TForm1.Button2Click(Sender: TObject);

begin


Memo1.Lines.Add(edit1.Text);

end;
procedure TForm1.Button4Click(Sender: TObject);

begin

memo1.ClearSelection;



end;
procedure TForm1.Button3Click(Sender: TObject);

begin


memo1.Clear;

end;
procedure TForm1.FormActivate(Sender: TObject);

begin

k1:=0;


end;
procedure TForm1.Button5Click(Sender: TObject);

var i,s: integer;

begin

for i:=1 to length(memo1.Text) do



if copy(memo1.Text,i,length(edit2.Text))=edit2.Text then s:=s+1;

label2.Caption:=inttostr(s)+' рет';

end;
procedure TForm1.Button6Click(Sender: TObject);

var i,s: integer;

x: string;

begin


x:=memo1.Text;

i:=1;


while i<= length(x) do

begin


if copy(x,i,length(edit3.Text))=edit3.Text then

begin


delete(x,i,length(edit3.Text));

i:=i-length(edit3.Text);

insert(edit4.Text,x,i);

end;


i:=i+1;

end;


memo1.Clear;

memo1.Text:=x;

end;
procedure TForm1.Button7Click(Sender: TObject);

var i,s: integer;

y,x: string;

begin


x:=memo1.Text;

y:='';


for i:=1 to length(x) do

y:=y+x[i]+x[i];

memo1.clear;

memo1.Text:=y;

end;
procedure TForm1.Button8Click(Sender: TObject);

var i,s: integer;

y,x: string;

begin


x:=memo1.Text;

y:='';


for i:=1 to length(x) do

y:=x[i]+y;

memo1.clear;

memo1.Text:=y;

end;
procedure TForm1.Button9Click(Sender: TObject);

var i,s: integer;

y,x: string;

begin


x:=memo1.Text;

y:='';


for i:=1 to length(x) do

begin


s:=ord(x[i])+2;

y:=y+chr(s);

end;

memo1.clear;



memo1.Text:=y;

end;
procedure TForm1.Button10Click(Sender: TObject);

var i,s: integer;

y,x: string;

begin

x:=memo1.Text;



y:='';

for i:=1 to length(x) do

begin

s:=ord(x[i])-2;



y:=y+chr(s);

end;


memo1.clear;

memo1.Text:=y;

end;
procedure TForm1.N7Click(Sender: TObject);

begin


FD1.Execute;

Memo1.Font:=FD1.Font;

end;
procedure TForm1.N8Click(Sender: TObject);

begin


CD1.Execute;

Memo1.color:=CD1.color;

end;
end.

Delphi тілінде тексті өңдеуге айнымалының келесі типтері қолданылады:

Қысқа жолдар ShortString немесе string[N], мұндағы N<=255;

Ұзын жолдар string;

Жалпақ жолдар WideString;

Нөл-терминалды жолдар Pchar;

Жолдар бір өлшемді символдық жиым сыяқты сақталғандықтан әр символдың нөмірі болады. Жолдарды циклдік алгоритм комнадалары арқылы өңдеуге ыңғайлы.

Жолдарды өңдеуге арналған процедуралар мен функциялар



Function AnsiLowerCase(const S: String): String;

Барлық бас әріптер кіші әріптермен алмастырылған S жолын қайтарады.

Function AnsiUpperCase(const S: String ): String;

Барлық кіші әріптер бас әріптермен алмастырылған S жолын қайтарады.

Function Concat(Sl [, S2, ..., SN]: String ): String;

S1, S2, ... , SN жоларын біріктіру

Function Copy(St: String; Index, Count: Integer): String;

St жолынан count символдар тізбегін Index символ нөмірнен бастап көшіру

Procedure Delete(St: String;

Index, Count:: Integer);



St жолынан count символдар тізбегін Index символ нөмірнен бастап өшіру

Procedure Insert(SubSt:

String; St, Index: Integer);



St жолына SubSt жолын Index нөмірінен бастап кірістіру.

Function Length(St: String): Integer;

St жолының ұзындығын қайтарады.

Тапсырмалар


1. Тапсырма батырмасын басып, бағдарламамен жұмыс істеп көр.

Тапсырмалағы бағдарламаны өзің құрастыр.

2. Memo өрісіне енгізілген тексті әр келесі қатарға 1 символдан қысқартып отырып шығар


  1. Memo өрісіне енгізілген тексте неше сөз бар екенін анықта.

  2. Memo өрісіне енгізілген текстегі бірінші немесе соңғы символ жиі кездесе ме екенін анықта.

  3. Берілген тексте «о» символы жұп нөмірлі орында неше рет кездесетінін анықта.

  4. Берілген текстегі әр түрлі әріптер санын анықта..

  5. Берілген текстегі әр 3-ші әріпті өшіретін бағдарлама құр.

  6. Берілген текстегі 3 сөздің ұзындығын анықта.

  7. Берілген текстегі екінші сөздің бастапқы және соңғы әріптерінің орнын ауыстыр.

  8. Берілген текстегі 3 сөзді керсінше алмастыр.

  9. Берілген текстегі ең қысқа сөзді керсінше алмастыр.

  10. Берілген текстегі кіші әріптерді үлкен әріптермен алмастыр.


Сабақ тақырыбы: TStringGrid – жолдар кестесі. (Дополнительно тақтасында )

TStringGrid компоненті ұяшықтарында тексттік ақпарат орналасатын кестелер жасауға арналған. Кесте 2 бөліктен тұрады: бекітілген және жұмыс. Бекітілген бөлігі қатарлар мен бағандардың атын жазуға, көлемін өзгертуге арналған. FixedCols и FixedRows қасиеттері арқылы бекітілген бөліктегі бағандар немесе қатарлар санын анықтауға болады. Кестеге ақпаратты енгізу үшін Options – goEditing қасиетінің мәнін true қылып қою керек. Кестедегі әр ұяшықтың нөмірі бар, ол 2 сан арқылы анықталады. Мысалы StringGrid1.Cells [1,2] := 'текст'; 2-ші баған мен 3 қатар қиылысуында орналасқан ұяшықта «текст» сөзі шығады. Өйткені қатарлар мен бағандар нөлден бастап нөмірленеді. Кестедегі бағандар санын Colcount, қатарлар санын RowCount қасиеті анықтайды.

Компоненттің негізгі қасиеттері


property Col: Longint;

Ағымдағы ұяшықтың баған нөмірін қайтарады.

property Row: Longing;

Ағымдағы ұяшықтың қатар нөмірін қайтарады.

property FixedColor: TColor;

Бекітілгін бөліктің түсін анықтайды

property GridHeight: Integers;

Кесте биіктігі

property GridLineWidth: Integers;

Кесте сызықтарының қалыңдығы

property GridWidth: Integers;

Кесте ені

property Options: TGridOptions;

Кесте параметрлерін анықтайды

type TScrollStyle = (ssNone,

ssHorizontal, ssVertical,

ssBoth) ;


Айналдыру жолақтарын анықтайды: ssNone -жоқ; ssHorizontal – кестеде көлденең айналдыру жолағы пайда болады.

goRangeSelect

Бірнеше ұяшықты ерекшелеуге мүмкіндік береді. Егер goEdit = true болса онда істемейді.

TstringGrid компоненті екі өлшемді жиымдарды өңдеуге өте ыңғайлы.

Мысал 1.

X[5,4] жиымы берілген. 5-тен кіші элементтердің бәрін 1-мен алмастыратын бағдарлама құр.


Бізге 5-қатар және 4-бағаннан тұратын кесте керек. Пішінге TStringGrid компонентін орналастырып қасиеттерін төмендегідей қылып қой:

Қасиеттері

Мәні

name

S1

FixedCols

0

FixedRows

0

Colcount

4

RowCount

5

Options – goEditing

true

Батырманы шерту оқиғасына жазылатын программа коды:

procedure TU12_1.Button1Click(Sender: TObject);

var x: array[0..4,0..3] of integer; {жиымды хабарлау}

i,j : integer;

begin


for i:=0 to 4 do

for j:=0 to 3 do

x[i,j]:= strtoint(s1.Cells[j,i]); {кестеге енгізілген сандарды жиымға түсіру.}

{назар аударыңыз, жиымда бірінші қатар, екінші баған жазылса, кестеде бірінші баған, екінші қатар жазылады. }

for i:=0 to 4 do

for j:=0 to 3 do

if x[i,j]<5 then x[i,j]:=1; { 5-тен кіші сандарды 1-мен алмастыру. }
for i:=0 to 4 do

for j:=0 to 3 do

s1.Cells[j,i]:=inttostr(x[i,j]); {жиымдағы сандарды кестеге түсіру.}
Тапсырмалар
1. В[1..4, 1..3] жиымы берілген. Әр элементті өзінің квадратымен алмастыратын бағдарлама құр.

2. А[1..5, 1..3] жиымы берілген. Теріс элементтерінің индекстерін Memo өрісіне шығарыңыз.

3. С[1..5, 1..3] жиымы берілген. Әр баған және әр қатар элементтерінің қосындысын анықта.

4. В[1..5, 1..5] квадраттық матрицасы берілген. Бас диагоналда орналасқан элементтер көбейтіндісін анықта.

5. С[1..5, 1..5] квадраттық матрицасы берілген. Бас диагоналдың үстінде орналасқан элементтер қосындысын анықта.

6. D[1..5, 1..5] квадраттық матрицасы берілген. Бас диагоналдың астында орналасқан элементтер қосындысын анықта.

7. Әр элементі өз нөмірінің қосындысына тең C[1..5, 1..5] кестесмін жаса.

8. А[1..4, 1..5] жиымы берілген. Әр бағанның арифметикалық ортасын анықта.

9. B[1..5,1..6] жиымы берілген. Бірінші және соңғы баған элементтерінің орнын ауыстыр.

10. C[1..5,1..6] жиымы берілген. Әр қатардың макисмал элементтерінің минималын анықта.





Достарыңызбен бөлісу:
1   2   3   4   5   6   7




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

    Басты бет