Şöyle ki Veritabanında üç alan oluşturdum Vize, Final ve HarfNotu diye.
Vize ve Final notlarını veritabanından çekiyorum. Ortalamayı hesaplaptırıp ona göre harf notu belirtiyorum.
Fakat bunu tek tek yapmam gerekiyor. A öğrencisinin bir dersine tıklıyorum vize, final giriyorum hesapla deyince sadece o dersi hesaplıyor, ben istiyorum ki hesapla butonuna tıklayınca o öğrencinin tüm derslerinin harf notunu hesaplasın.
repeat until yapısını kullanırken programı sonsuz döngüye sokuyorum sanırım ya da başka bir şey oluyor program kilitleniyor.
Kod: Tümünü seç
repeat
AdoTable2.Edit;
vize:= AdoTable2.FieldByName('Vize').AsInteger;
final := AdoTable2.FieldByName('Final').AsInteger;
ort := vize * 0.4 + final *0.6;
case trunc(ort) of
0..49 : AdoTable2.FieldByName('HarfNotu').AsString := 'FF';
50..55 : AdoTable2.FieldByName('HarfNotu').AsString := 'DD';
//burası böyle devam ediyor
else
AdoTable2.FieldByName('HarfNotu').AsString := '??';
end;
until (AdoTable2.Eof) ;