
- •Зертханалық жұмыс №1
- •Зертханалық жұмыс №2
- •2. Delphi негізгі терезесі
- •4. Объектілер инспекторы терезесі
- •Зертханалық жұмыс №3
- •Өзіндік жұмыс тапсырмалары
- •Зертханалық жұмыс №4
- •Зертханалық жұмыс №5
- •Зертханалық жұмыс №6
- •Зертханалық жұмыс №8
- •Зертханалық жұмыс №9
- •Зертханалық жұмыс №10
- •Зертханалық жұмыс №11
- •Зертханалық жұмыс №12.
- •Зертханалық жұмыс №13.
- •Зертханалық жұмыс №14
- •Зертханалық жұмыс №15
- •Зертханалық жұмыс № 16
- •Зертханалық жұмыс №17
- •3.Қорғалған блок механизмі.
- •Зертханалық жұмыс №18
- •Зертханалық жұмыс №19
- •Зертханалық жұмыс № 20
- •Зертханалық жұмыс №21
- •Зертханалық жұмыс №22
- •Зертханалық жұмыс №23
- •Зертханалық жұмыс №24
- •Зертханалық жұмыс №25
- •Зертханалық жұмыс №26
- •Зертханалық жұмыс №27
- •Зертханалық жұмыс №28
- •Зертханалық жұмыс № 29
Зертханалық жұмыс №17
Тақырыбы: Ерекше жағдайларды өңдеу
Техникалық жабдық: Дербес компьютер.
Бағдарламалық жабдық: Windows 98/200/XP, Borland Delphi7.
Мақсаты: Программада Try…,Except…,End… операторын қолдануды үйрену. TstringGrid компонетінің негізгі қасиеттерімен танысу.
Негізгі ұғымдар.
TstringGrid компонеті ұяшықтарына еркін текстік жолдар орналасқан таблицаны құруға арналған. TstringGrid компонетінің Cells (ACol, ARow)қасиеті (ACol, ARow) (баған номері, жол номері) таблицалық координатты ұяшық мәнін анықтайды.
Ерекшелікті өңдеу үшін Object Pascal-да блокті қорғау механизмі қарастырылған:
Try
<операторлар>
Except
<ерекшелікті өңдеу>
Else
<операторлар>
End;
1-мысал.
TstringGrid компонетін қолданып қосымша құру. Қосымшада әр студенттің орта балы есептеледі. Бастапқы информация - әр студенттің бағасы таблицаға енгізіледі. Таблицаның соңғы бағанында есеп шешімі – студенттің орта балы бейнеленеді.
Қосымшада қолданылатын компонеттер таблицада көрсетілген.
Компоенттер |
Қасиеттер |
Меншіктелетін мән |
Form1 |
Caption |
Зертханалық жұмыс |
Panel1 |
Caption |
Form1 |
Panel1 |
Align |
alButton |
BitBtn1 |
Kind |
bkClose |
StringGrid1 |
Align |
alClient |
StringGrid1 |
ColCount |
6 |
StringGrid1 |
RowCount |
30 |
StringGrid1 |
Default ColWidth |
100 |
StringGrid1 |
Options I qo Editing |
true |
Программада StringGrid компонетінің OnSet EditText оқиғасы қолданылады. Бұл оқиға қяшықты (ACol,ARow) редакциялауды аяқтағанда пайда болады. Value параметрінде оқиға енгізу нәтижесін немесе текстті редакциялауды алады.
Программада қолданылған TStringGrid компонетінің Cells (ACol, ARow)қасиеті (ACol, ARow) таблицалық координатты ұяшық мәнін анықтайды. Көңіл аударыңыз, бірінші жолда баған номері, екінші орында дол номері орналасқан. А массиві Cells массивіне қатысты транспорленген.
Const nn=30; mm=5;
// Оқушылардың саны)=300.
// Емтихан саны =5.
Var
Form1:Tform1;n:Integer;
a:array[1…nn,1…mm] of real;
ss:Array[1..nn] of real;
// n-оқушының ағымдағы номері. Оқушылар саны.
// а-бағалар массиві.
// ss- оқушылардың орта балына арналған массив.
Implementation
{$ R*.DFM}
procedure Tform1.StringGrid1SetEditText(Sender:TObject; ACol, ARow:Intejer; Const Value:String);
Var b:real; j:byte;
//b – редакциялау жолының нақты мәні
//j – а матрицасының ағымдағы баған номеріне арналған цикл параметрі
Begin
With StringGrid1 Do
Begin
If Value=’’ Then Exit; //егер ештеңе енгізілмесе, онда процедурадан шығу
// Қорғалған блок басы
try b:=strtofloat(Value)
Except ShowMessage(‘символ дұрыс емес!’); b:=0;
End; // Қорғалған блок саны
// Дұрыс енгізілмеген бағаға реакция
if (b<1) or (b>5) then Begin Cells [ACol, ARow]:=’ ‘; Exit;
Cells[ACol, ARow]:=Value; //Бағаны таблицаға белгілеу
a[arow, ACol]:=b; //Бағаны массивке жазу.
// төменде орта балл есептеледі
ss[aRow]:=0; For j:=1 To 4 do
ss[aRow]:= ss[aRow]+ ss[aRow,j];
ss[aRow]:= ss[aRow]/4;
//Орта балды таблицаның 5-ші бағанында бейнелеу.
Cells[5, aRow]:=FormatFloat(‘##.##’,SS[Arow]);
End; end;