delphi4arab منتديات دلفي للعرب
عدم السماح بادخال اكثر من رقمين بعد الفاصلة - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : عدم السماح بادخال اكثر من رقمين بعد الفاصلة (/showthread.php?tid=4477)

الصفحات: 1 2


عدم السماح بادخال اكثر من رقمين بعد الفاصلة - hakimrahal - 22-08-2012

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


عدم السماح بادخال اكثر من رقمين بعد الفاصلة - hakimrahal - 22-08-2012

عدرا اقصد لايسمح بادخال اكثر من رقمين بعد الفاصلة


عدم السماح بادخال اكثر من رقمين بعد الفاصلة - hakimrahal - 22-08-2012

طرحت هذا البرنامج لأستفيد من حلول اخرى مختصرة من تجاربكم...


عدم السماح بادخال اكثر من رقمين بعد الفاصلة - justnick - 22-08-2012

جرب هذا الكود

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; 



عدم السماح بادخال اكثر من رقمين بعد الفاصلة - S.FATEH - 22-08-2012

السلام عليكم

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

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; 



عدم السماح بادخال اكثر من رقمين بعد الفاصلة - Agmcz - 22-08-2012

السلام عليكم
ابحث في المنتدى سبق وطرح مثل هده الأسئلة

استعمل
FormatFloat
كود :
ShowMessage(FormatFloat('0.00', 1.23456));



عدم السماح بادخال اكثر من رقمين بعد الفاصلة - hakimrahal - 22-08-2012

شكرا للجميع .....


عدم السماح بادخال اكثر من رقمين بعد الفاصلة - cargem - 23-08-2012

كود :
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



عدم السماح بادخال اكثر من رقمين بعد الفاصلة - cargem - 23-08-2012

كود :
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



عدم السماح بادخال اكثر من رقمين بعد الفاصلة - cargem - 23-08-2012

كود :
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