PDA

View Full Version : تابع جداکننده سه رقم سه رقم



online_com
چهارشنبه 30 مهر 1393, 14:54 عصر
با سلام
من از یک تابع جداکننده سه رقم اعداد استفاده میکنم و این تابع را در keypress یکmaskedit فراخوانی میکنم .مشکل اینجاست زمانی که مثلا در این maskedit عدد 3.000.000 را تایپ میکنیم بعد زمانی که یک 0 را حذف میکنم عدد به این صورت میشود3.000.00 وقتی کد ها را دنبال کردم متوجه شدم که وقتی یک صفر را حذف میکنم ابتدا تابع کاما را بررسی میکند سپس یک صفر را کم میکند
برای حل این مشکل باید چیکار کنم؟
ممنون میشم اگر زود راهنمایی کنید

fahimi
چهارشنبه 30 مهر 1393, 21:25 عصر
function Set3Digit(StrSource: String): String;
var
i, j: Integer;
begin
Result := '';
StrSource := GetNumber(StrSource);
j := 0;
for i := Length(StrSource) downto 1 do
begin
Result := StrSource[i] + Result;
Inc(j);
if ((j mod 3) = 0) and (i <> 1) then
Result := ',' + Result;
end;
end;

fahimi
چهارشنبه 30 مهر 1393, 21:30 عصر
در رویداد OnChange کد زیر را وارد کنید


Edit1.Text := Set3Digit(Edit1.Text);
Edit1.SelStart := Length(Edit1.Text);