Kaç tane kod inceledim hatırlamıyorum, çözümde bulamadım.
Örnek:
0,55 -----------> Elli beş kuruş
3,75 -----------> Üç tl yetmiş beş kuruş
14,35 --------->On dört tl otuz beş kuruş
65.500 -------->Atmış beş bin beş yüz tl
84.550,10 ---> Seksen dört bin beş yüz elli tl on kuruş.
Bu para birimlerini edite sayı girildiğinde otomatik olarak yazılmasını ve hesaplamasını nasıl yaptıra bilirim?
Kod: Tümünü seç
procedure ribuan(edit: TEdit);
var
sRupiah: string;
iRupiah: Currency;
begin
sRupiah := edit.Text;
sRupiah := StringReplace(sRupiah, ',', '', [rfReplaceAll, rfIgnoreCase]);
sRupiah := StringReplace(sRupiah, '.', '', [rfReplaceAll, rfIgnoreCase]);
iRupiah := StrToCurrDef(sRupiah, 0);
edit.Text := FormatCurr('#,###', iRupiah);
edit.SelStart := length(edit.Text);
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
ribuan(Edit1);
end;
Kod: Tümünü seç
function MoneyConvert(edit: TEdit): String;
var
Nilai: string;
AngkaRupiah: Currency;
begin
if edit.Text = '' then
Exit;
Nilai := edit.Text;
Nilai := StringReplace(Nilai, ',', '', [rfReplaceAll, rfIgnoreCase]);
Nilai := StringReplace(Nilai, '.', '', [rfReplaceAll, rfIgnoreCase]);
AngkaRupiah := StrToCurrDef(Nilai, 0);
edit.Text := FormatCurr('#,###', AngkaRupiah);
edit.SelStart := length(edit.Text);
end;
procedure TForm1.Edit2Change(Sender: TObject);
begin
MoneyConvert(Edit2);
end;