Srfgsrfgfd


procedure TForm1.Button1Click(Sender: TObject); var



Yüklə 349,5 Kb.
səhifə11/14
tarix13.09.2023
ölçüsü349,5 Kb.
#143119
1   ...   6   7   8   9   10   11   12   13   14
Delphi String grid

procedure TForm1.Button1Click(Sender: TObject);
var
a : array[1..5] of real; // massiv
summ: real; // elementlar summasi
sr: real; // o'rta arifmetik
i: integer; // indeks
begin
// Massivni kiritish
// agar katak bo'sh bo'lsa, ushbu katakka mos keluvchi
// massiv elementining qiymatini nolga teng deb hisoblaymiz
for i:= 1 to 5 do
if Length(StringGrid1.Cells[i-1,0]) <> 0
then a[i] := StrToFloat(StringGrid1.Cells[i-1,0])
else a[i] := 0;

// massivni qayta ishlash


summ := 0;
for i :=1 to 5 do
summ := summ + a[i];
sr := summ / 5;
// Natijani chiqarish
Label2.Caption :=
'Elementlar yig`indisi: ' + FloatToStr(summ) + #13+
'O`rtacha qiymati: ' + FloatToStr(sr);
end;


procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9',#8 : ; // Raqamlar va
#13: //
if StringGrid1.Col < StringGrid1.ColCount - 1
then StringGrid1.Col := StringGrid1.Col + 1
else
begin
if Key <> DecimalSeparator then
Key := DecimalSeparator; // ajratuvchi belgini ruhsat
// etilgan belgiga almashtirish
if Pos(DecimalSeparator, StringGrid1.Cells[StringGrid1.Col,0]) <> 0
then Key := Chr(0); // ikkinchi ajratuvchini
// kiritishni ta'qiqlash
end;
'-': // minusni birinchi belgi sifatida kiritiladi,
if Length(StringGrid1.Cells[StringGrid1.Col, 0])<>0 then
Key := Chr(0) ;
else key := Chr(0); // Qolgan belgilar
end;
end;
end.
Shuningdek, OnkeyPress hodisasini qayta ishlash protsedurasida kasr va manfiy sonlarni kiritish tashkil qilingan. Kasr sonlarni kiritishda sonning kasr qismini ajratuvchi belgi (nuqta yoki vergul) Windows sistemasi sozlanishiga bog’liq bo’ladi. Shuning uchun foydalanuvchi nuqta yoki vergul kiritishidan qat’iy nazar, katakka windowsda belgilangan ajratish belgisi chiqariladi. Buning uchun DecimalSeparator global o’zgaruvchidan foydalanilgan.



Yüklə 349,5 Kb.

Dostları ilə paylaş:
1   ...   6   7   8   9   10   11   12   13   14




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin