pertama2 nilai2 harus dikonversi ke integer dulu.
tapi delphi itu mengubah format berdasarkan regional setting. jadi supaya aman ya pake ini dulu di OnFormShow:
ThousandSeparator:=',';
DecimalSeparator:='.';
trus buat fungsi konversi ke integer
Code:
function TForm1.tonumber(S: String): int64;
var
DestI: Integer;
SourceI: Integer;
O: String;
begin
if copy(S,length(S)-2,3)='.00' then S:=copy(S,1,length(S)-3);
SetLength(O, Length(S));
DestI := 0;
for SourceI := 1 to Length(S) do
if S[SourceI] in ['0'..'9'] then
begin
Inc(DestI);
O[DestI] := S[SourceI]
end;
SetLength(O, DestI);
if trim(O)='' then O:='0';
result:=strtoint(O);
end;
trus command untuk ambil terbesar
Code:
procedure TForm1.Button1Click(sender: TObject);
var i: integer; dterbesar: string; nterbesar: int64;
begin
nterbesar:=0;
for i:=1 to StringGrid1.RowCount-1 do
if tonumber(StringGrid1.Cells[1,i])>terbesar then
begin
dterbesar:=StringGrid1.Cells[0,i];
nterbesar:=tonumber(StringGrid1.Cells[1,i]);
end;
// set label1 & label2 sebagai namadaerah & nilai yang terbesar
label1.Caption:=dterbesar;
label2.Caption:=formatfloat('#,#.00',nterbesar);
end;
semoga membantu.... |