procedure
TF_DPP.Btn_ProsesClick(Sender: TObject);
var
w1,w2,w3,w4:double;
min1,max2,max3,max4,c1,c2,c3,c4,hsl:double;
hasilstr: string;
begin
w1:=DM.ADOBobotw1.AsFloat;
w2:=DM.ADOBobotw2.AsFloat;
w3:=DM.ADOBobotw3.AsFloat;
w4:=DM.ADOBobotw4.AsFloat;
DM.ADOHasil.First;
sql:='select min(C1) as min1 from T_Hasil';
CariMin;
min1:=DM.ADOProses.fieldbyname('min1').AsFloat;
sql:='select max(C2) as max2 from T_Hasil';
CariMax;
max2:=DM.ADOProses.fieldbyname('max2').AsFloat;
sql:='select max(C3) as max3 from T_Hasil';
CariMax;
max3:=DM.ADOProses.fieldbyname('max3').AsFloat;
sql:='select max(C4) as max4 from T_Hasil';
CariMax;
max4:=DM.ADOProses.fieldbyname('max4').AsFloat;
repeat
c1:=min1/DM.ADOHasil.fieldbyname('C1').AsFloat;
c2:=DM.ADOHasil.fieldbyname('C2').AsFloat/max2;
c3:=DM.ADOHasil.fieldbyname('C3').AsFloat/max3;
c4:=DM.ADOHasil.fieldbyname('C4').AsFloat/max4;
hsl:=(c1*w1)+(c2*w2)+(c3*w3)+(c4*w4);
hasilstr:=LeftStr(FloatToStr(hsl),6);
sql:='update T_Hasil set
Hasil="'+hasilstr+'" where
Type_Smartphone="'+DM.ADOHasil.fieldbyname('Type_Smartphone').AsString+'"';
DM.ADOCProses.CommandText:=sql;
DM.ADOCProses.Execute;
DM.ADOHasil.Next;
until dm.ADOHasil.Eof;
DM.ADOHasil.Active:=False;
DM.ADOHasil.CommandText:='Select * from
T_Hasil order by No_Hasil';
DM.ADOHasil.Active:=True;
Application.MessageBox('Proses Perhitungan
Selesai','Informasi');
end;

Tidak ada komentar:
Posting Komentar