Arsip: Tampilan currency di Tedit

 
user image
more 13 years ago

juandon

kaka delphi, saya mo tanya dong klo mo buat tampilan di editbox atau tedit untuk currency gimana yach, seperti ini 12.000,00. klo pake dbedit bisa karena di setting dari field datasetnya -> displayformat nah klo tedit yang tidak pakai data aware gimana yach, soale dah bingung utak atik :shock: ga nemu2 . Sebelumnya terim kasih.
user image
more 13 years ago

ivan

Kalau pengen ubah format currency berarti tinggal pake function FormatCurr :lol: Selamat mencoba
user image
more 13 years ago

alvonz

di propertis displayFormatnya coba isi seperti ini ###.###.##0,00;-###.###.##0,00;0 tinggal dimodif maunya kaya gimana
user image
more 13 years ago

juandon

Bro @alvonz untuk penggunaan displayformat hanya ada di TEdit yang menggunakan DBAware yang terkoneksi dengan dataset tinggal di set di field2nya, sedangkan saya menggunakan TEdit biasa. Utk @ivan sarannya sudah saya terapkan tetapi selalu muncul error seperti ini : 'xxxx' is not a valid floating point value. Dengan menggunakan coding sebagai berikut : Edit1.Text := FormatCurr('#,#0',StrToCurr(Edit1.Text)); Kira2 kenapa yach bisa muncul seperti itu.
user image
more 13 years ago

ivan

Sebenarnya script yg kamu tulis itu sudah benar: FormatCurr('#,#0',StrToCurr(Edit1.Text)); Penyebab muncul error seperti ini : 'xxxx' is not a valid floating point value. adalah karena permasalahan format floating di PC masing-masing. Ada beberapa PC yg menggunakan simbol , sebagai penanda bilangan real dan ada juga yg menggunakan simbol .. Sekarang permasalahannya adalah PC mu sepertinya tidak menggunakan simbol , sebagai penanda bilangan real. Berdasarkan kode yg kamu tulis: Edit1.Text := FormatCurr('#,#0',StrToCurr(Edit1.Text)); Mungkin input awal tidak ada masalah. Misalnya input awal adalah 10000, ketika diklik akan menjadi 10,000 nah kemudian kamu klik lagi pasti error. Itu karena bilangan 10,000 tidak dianggap sebagai bilangan real. Saran saya.. mungkin sebaiknya gunakan bantuan beberapa variable untuk proses penyimpanan data sementara.
user image
more 13 years ago

mas_kofa

[dr String Ke Integer / Real] yg aku tau conversi standard bawaan delphi tidak ada yang support ThousandSeparator [kalo Decimal Separator Bisa]... untuk keperluan tsb...kita harus bikin function sendiri
user image
more 13 years ago

jeffry

Ni buat yang belon ngerti sediakan 2 edit dan 1 button pada form (edit,edit2,button1) paste function berikut { function MyCurrToStr(AValue: Currency): string; var fs:TFormatSettings; begin fs.CurrencyString:='Rp'; fs.CurrencyFormat:=2; fs.ThousandSeparator:='.'; fs.DecimalSeparator:=','; result:=CurrToStrF(AValue,ffCurrency,2,fs); end; } pada event button1.OnClick ketik { edit2.text:=MyCurrToStr(strtocurr(edit1.text)); } NB : - ThousandSeparator,DecimalSeparator,CurrencyString dapat anda modify sesuai keperluan - CurrencyFormat := 2 --> CurrencyString diletakkan di depan currency (Rp.10,000.00) Misal : 10 USD, maka currencyFormat:= 1 atau 3 (anda coba sendiri)
user image
more 13 years ago

juandon

@jeffry terima kasih atas function yang di berikan. Tetapi jika di lihat kita harus input ke edit1 dahulu baru clik button edit2 berubah, jadi saya coba test pada event on click seperti ini : edit2.text := MyCurrToStr(strtocurr(edit2.text)); pada saat input pertama dan di klik bisa, tetapi pada saat di klik kedua kali muncul error seperti yang saya kemukakan di atas. Maksud saya ingin membuat editbox yang jika dika di input nilai formatnya akan seperti currency, seperti jika kita menggunakan dbedit. Untuk @Ivan saya sudah mencoba merubah regional setting tetapi tampaknya tidak berpengaruh yach.
user image
more 13 years ago

ho2sly


buat function ini
function TForm1.currencyconvert(edt: Tedit): string;
var cyc : Currency;
begin
  Result :='0';
  cyc := StrToCurr(edt.Text);
  Result := Trim(Format('%10.2n',[cyc]));
  edt.Text := Result;
end;
trus di event Tedit on exit pake ini
procedure TForm1.Edit1Exit(Sender: TObject);
begin
  if not (Edit1.Text <> '') then
  exit
  else if Pos(',',Edit1.Text) > 0 then
  exit
  else
    currencyconvert(Edit1);
end;
user image
more 13 years ago

ho2sly

tapi kalo value yang ada tedit mau dimasukkinke db dengan filed type integer/currency ya harus buat function yang mbalikin hasilnya keawal lagi (dari 10.000,00 ke 10000) tinggal balik aja, gampang kok
more ...
  • Pages:
  • 1
  • 2
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com