procedure TForm1.Button2Click(Sender: TObject);
var
hasil : integer;
begin
hasil := strtoint(edit1.text) + strtoint(edit2.text);
end;
Permasalahannya adalah, strtoint hanya menampung bilangan dengan kapasitas integer. Bagaimana jika digit angkanya terlalu banyak? Memang dalam penggunaannya nanti, kemungkinan digit terlalu banyak ini kecil sekali. Namun apa salahnya kita bermain logika sejenak mengimplimentasikan konsep penjumlah yang dulu pernah dipelajari di sekolah dasar (SD).Langsung saja saya share coding nya.
procedure TForm1.Button1Click(Sender: TObject);
var
ank_1, ank_2 : string;
hasil : string;
pjg,i,tampung,simpan : integer;
begin
{valuenya}
ank_1 := edit1.Text;
ank_2 := edit2.Text;
if length(ank_1) > length(ank_2)
then pjg := length(ank_1)
else pjg := length(ank_2);
for i := 0 to pjg do begin
if length(ank_1) < pjg then ank_1 := '0' + ank_1;
if length(ank_2) < pjg then ank_2 := '0' + ank_2;
end;
hasil := '';
simpan := 0;
for i := pjg downto 1 do begin
tampung := strtointdef(ank_1[i],0)
+ strtointdef(ank_2[i],0)
+ simpan;
hasil := inttostr(tampung mod 10)
+ hasil;
simpan := tampung div 10;
end;
if simpan <> 0 then hasil := inttostr(simpan) + hasil;
edit3.Text := hasil;
end;
Dan berikut adalah tampilan form setelah dijalankan:
Anda dapat melihat bahwa angka dimasukkan melampaui kapasitas integer namun tetap dapat dijumlahkan. Semoga logikanya berguna untuk bermain-main diwaktu senggang.
Untuk menuliskan Syntax: [code] code disini [/code]
Untuk menuliskan Quote: [quote] quote disini [/quote]
Berkomentarlah sesuai topik