normal editte bindelik ayıracını nasıl oluşturabilirim..
örneğin : 12.500 bir sıfır daha ekledğimde 125.000 olmalı...
şimdiden teşekkürler...
edit te bindelik ayıracı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Merhaba,
1. Yol : http://www.delphiturkiye.com/ipobjpas.htm#edit_binlik
2. Yol : TEdit içinde bir arkadaş kod göndermişti. Arama kısmından aratıp bulabilirsin.
Kolay gelsin.
1. Yol : http://www.delphiturkiye.com/ipobjpas.htm#edit_binlik
2. Yol : TEdit içinde bir arkadaş kod göndermişti. Arama kısmından aratıp bulabilirsin.
Kolay gelsin.
Merhabalar
ilk önce FormatSayi Fonksiyonumuzu yazalım normalde bunu formatfloat('###,###',StrToFloat(fiyat)); olarak ta kullanabilirsin ama problem yaratıyor o yüzden aşağıdaki fonksiyonu kullanman daha sağlıklı.
2.nci olarak Edit bileşeninin Change Eventine
Edit te ki noktalı rakamları kaydetmek için ise mesala Button nun Click eventine de aşağıdaki kodu yaz noktalar kalkacaktır kod çok basit o yüzden açıklama yapmıyorum.
Kolay Gelsin...
ilk önce FormatSayi Fonksiyonumuzu yazalım normalde bunu formatfloat('###,###',StrToFloat(fiyat)); olarak ta kullanabilirsin ama problem yaratıyor o yüzden aşağıdaki fonksiyonu kullanman daha sağlıklı.
Kod: Tümünü seç
Function FormatSayi(sayi:string):string;
var s,s1,s2 :string;
x,i,ns :integer;
nokta_sayisi:real;
begin
s:=sayi;
s1:='';
x:=length(s);
for i:=x downto 1 do
begin
insert(copy(s,i,1),s1,x-i+1);
end;
if (x mod 3)=0 then
nokta_sayisi:=(x/3-1);
if (x mod 3)<>0 then
begin
nokta_sayisi:=trunc(x/3);
end;
ns:=strtoint(floattostr(nokta_sayisi));
x:=x+ns;
for i:=1 to x do
begin
if (i Mod 4)=0 then
insert('.',s1,i);
end;
x:=length(s1);
s2:='';
for i:=x downto 1 do
begin
insert(copy(s1,i,1),s2,x-i+1);
end;
result:=s2;
end;
Kod: Tümünü seç
procedure TForm1.Edit1Change(Sender: TObject);
var
i:integer;
Fiyat:String;
begin
Fiyat := Edit1.Text;
for i:=1 to length(Edit1.Text) do
begin
if copy(Fiyat,i,1)='.' then
delete(Fiyat,i,1);
end;
Edit1.Text := FormatSayi(fiyat);
Edit1.SelStart := length(Edit1.Text);
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
Fiyat:String;
begin
Fiyat := Edit1.Text;
for i:=1 to length(Edit1.Text) do
begin
if copy(Fiyat,i,1)='.' then
delete(Fiyat,i,1);
end;
ShowMessage(Fiyat);
end;
En son husonet tarafından 15 Ara 2003 10:39 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
Husunet ben bunu yazarken sen yollamıssın bile
seninkini gördükten sonrada silmedim
sevgiler
seninkini gördükten sonrada silmedim
sevgiler
Kod: Tümünü seç
function TForm1.AklBin(cevir:Real):string;
begin
Result:=FormatFloat('###,###,###',cevir);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.text:=AklBin(strtoFloat(Edit1.text));
end;
Abdulkadir arkadaşım foruma vede soruya katkıda bulunman belki arkadaşımızın değişik bir yol izlemesini sağlayabilir. Herkezin kod yazış stili farklıdır.
İyi Akşamlar.
İyi Akşamlar.
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.