عدم السماح بادخال اكثر من رقمين بعد الفاصلة
#1
السلام عليكم
كيف عدم السماح بادخال اكثر من رقمين بعد الفاصلة عند ادخال مبلغ ما لايسمح بادخال رقمين بعد الفاصلة خصوصا ان كانت مثلا العمولة بالدينار الجزائري


الملفات المرفقة
.rar   accept_deux_chifre_apre_vergule.rar (الحجم : 1.47 ك ب / التحميلات : 64)
الرد
#2
عدرا اقصد لايسمح بادخال اكثر من رقمين بعد الفاصلة
الرد
#3
طرحت هذا البرنامج لأستفيد من حلول اخرى مختصرة من تجاربكم...
الرد
#4
جرب هذا الكود

PHP كود :
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not CharInSet(key,['0'..'9','.',#8]) then
   
Key:=#0;
   
if (pos('.',Edit1.Text) > 0 ) and (length(Edit1.Text) - pos('.',Edit1.Text) > 1)
   and 
not( CharInSet(key,[#8]))
    
then
       Key 
:= #0;
end; 

اذا ارت ان تمنع المستخدم من ان يكتب الكثر من فاصلة واحدة اضف الكود التالى
PHP كود :
if CharInSet(Key,['.'])and( pos('.',Edit1.Text) > 0) then  key:=#0; 
الرد
#5
السلام عليكم

محاولة بنفس الطريقة التي تريدها انت في مثالك....

PHP كود :
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
  
s: string;
  
Maxi: Integer;
begin
  s 
:= Edit1.Text;
  if 
not(Key in ['.', '0'..'9', Char(VK_BACK)]) then Key := #0;
  
if key = '.' then
  
if Pos('.', s) > 0 then
  key 
:= #0;
  
if Pos('.', s) > 0 then
  Maxi 
:= Length(Copy(s, Pos('.', s) + 1, Length(s))) else maxi :=0;
  if (
Maxi > 1) and not(key = char(VK_Back))then key := #0;
end; 
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#6
السلام عليكم
ابحث في المنتدى سبق وطرح مثل هده الأسئلة

استعمل
FormatFloat
كود :
ShowMessage(FormatFloat('0.00', 1.23456));
سبحان الله وبحمده سبحان الله العظيم
الرد
#7
شكرا للجميع .....
الرد
#8
كود :
Example code : Display numbers as financial values var amount1 : Extended; begin amount1 := 1234.567; // Display in a Currency format CurrencyString := '? '; ShowMessage('Using 8,4 = '+FloatToStrF(amount1, ffCurrency, 8, 4)); ShowMessage('Using 4,4 = '+FloatToStrF(amount1, ffCurrency, 4, 4)); ShowMessage('Using 4,2 = '+FloatToStrF(amount1, ffCurrency, 4, 2)); ShowMessage('Using 2,4 = '+FloatToStrF(amount1, ffCurrency, 2, 4)); end;

/////Result
كود :
Using 8,4 = ? 1,234.5670 Using 4,4 = ? 1,235.0000 Using 4,2 = ? 1,235.00 Using 2,4 = 1.2E0003
الرد
#9
كود :
Example code : Display numbers with Scientific formatting var amount1 : Extended; begin amount1 := 1234.567; // Display in a Scientific format ShowMessage('Using 8,4 = '+FloatToStrF(amount1, ffExponent, 8, 4)); ShowMessage('Using 4,4 = '+FloatToStrF(amount1, ffExponent, 4, 4)); ShowMessage('Using 4,2 = '+FloatToStrF(amount1, ffExponent, 4, 2)); ShowMessage('Using 2,4 = '+FloatToStrF(amount1, ffExponent, 2, 4)); end;

// Result
كود :
Using 8,4 = 1.2345670E+0003 Using 4,4 = 1.235E+0003 Using 4,2 = 1.235E+03 Using 2,4 = 1.2E+0003
الرد
#10
كود :
Example code : General display of numbers var amount1 : Extended; begin amount1 := 1234.567; // Display in Fixed format ShowMessage('Fixed formatting :'); ShowMessage(''); ShowMessage('Using 8,4 = '+FloatToStrF(amount1, ffFixed, 8, 4)); ShowMessage('Using 4,4 = '+FloatToStrF(amount1, ffFixed, 4, 4)); ShowMessage('Using 4,2 = '+FloatToStrF(amount1, ffFixed, 4, 2)); ShowMessage('Using 2,4 = '+FloatToStrF(amount1, ffFixed, 2, 4)); // Display in General format ShowMessage(''); ShowMessage('General formatting :'); ShowMessage(''); ShowMessage('Using 8,4 = '+FloatToStrF(amount1, ffGeneral, 8, 4)); ShowMessage('Using 4,4 = '+FloatToStrF(amount1, ffgeneral, 4, 4)); ShowMessage('Using 4,2 = '+FloatToStrF(amount1, ffGeneral, 4, 2)); ShowMessage('Using 2,4 = '+FloatToStrF(amount1, ffGeneral, 2, 4)); // Display in Number format ShowMessage(''); ShowMessage('Number formatting :'); ShowMessage(''); ShowMessage('Using 8,4 = '+FloatToStrF(amount1, ffNumber, 8, 4)); ShowMessage('Using 4,4 = '+FloatToStrF(amount1, ffNumber, 4, 4)); ShowMessage('Using 4,2 = '+FloatToStrF(amount1, ffNumber, 4, 2)); ShowMessage('Using 2,4 = '+FloatToStrF(amount1, ffNumber, 2, 4)); end;

result///
كود :
Fixed formatting : Using 8,4 = 1234.5670 Using 4,4 = 1235.0000 Using 4,2 = 1235.00 Using 2,4 = 1.2E0003 General formatting : Using 8,4 = 1234.567 Using 4,4 = 1235 Using 4,2 = 1235 Using 2,4 = 1.2E0003 Number formatting : Using 8,4 = 1,234.5670 Using 4,4 = 1,235.0000 Using 4,2 = 1,235.00 Using 2,4 = 1.2E0003
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم