Kod: Tümünü seç
cevap:='ADCECBEDEABCABCCDBECEAADEDCDEE EDDADEADBC BBB A E E CABDCACDABB E E A B C ';
anahtar:='AACEDDBDEBECAABBCBECECADBDCAEDCEBDAAEADBDCEBBDADCDDACABDCEECAEBEEAEBCDBACDEBDDBABEEAEBCABDDBACABDECEBADDBBCACDAEACADEDBCEBEABDCAECCDBCDAEBBCEBAECCBEADDAECBBABDAEECCBEEADEDAEBCEABACABBCBBDDDCBBDCBDDABCCAEDCDEECCABEBCACBDCDEABEBDDCEAEEDCABECD';
for j:=1 to anahtar_edit.GetTextLen do
begin//**1
cevap:=copy(cevap,j,1);
anahtar:=copy(anahtar,j,1);
if anahtar<>'X' then begin
if cevap <> ' ' then begin
if cevap=anahtar then begin
ders_d[i][DersNo[j]]:=ders_d[i][DersNo[j]] + 1;
alan_ders_d[i][AlanNo[j]]:=alan_ders_d[i][AlanNo[j]] + 1;
end else begin
ders_y[i][DersNo[j]]:=ders_y[i][DersNo[j]] + 1;
alan_ders_y[i][AlanNo[j]]:=alan_ders_y[i][AlanNo[j]] + 1;
end;
end;
end;
end; //**1
Yukarıdaki kodda öğrencinin derslerinin ve alanlarının doğrusunu ve yanlışını hesaplayan procedure'un hesaplama kısmı var. Burada Eğer anahtar stringinin j. karakteri 'X' değilse ve Cevap değişkeninin j. karakteri boş değilse devam eden işlemi yap diyorum. ama cevap değişkenin j. karakteri boş olduğunda bile boşmuş gibi görüyor ve derslerin ve alanların Yanlış sayılarını bir arttırıyor. Benim anlamadığım nedenböyle bir hatayı bazen veriyor bazen vermiyor. Acaba delphi bir ayar mı yapmam gerekiyor.
Acele yadımlarınızı bekliyorum. Şimdiden teşekkürler. Kolay gelsin.