delphi4arab منتديات دلفي للعرب
كيغية أخذ لرقم بدون فراغات من مكون maskedit - نسخة قابلة للطباعة

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



كيغية أخذ لرقم بدون فراغات من مكون maskedit - ع الحليم - 08-09-2015

كيغية أخذ الرقم بدون فراغات ولا خطوط من مكون maskedit
ووضعه في edit
وهل هناك مكون آخر مثل maskedit في دلفي 7


كيغية أخذ لرقم بدون فراغات من مكون maskedit - I3CT - 09-09-2015

السلام عليكم و رحمة الله

يمكنك كتابة دالة بسيطة مثل TrimIt بهذه الطريقة:

PHP كود :
function TrimIt(const S: string): string;
var
  
str: string;
  
x: byte;
begin
  
for x := 1 to Length(S) do
  
begin
    
if S[x] <> '-' then
      str 
:= str + S[x];
  
end;

  
Result := str;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1
.Text := TrimIt(MaskEdit1.text);
end; 



كيغية أخذ لرقم بدون فراغات من مكون maskedit - ع الحليم - 09-09-2015

بارك الله فيك يا أخي وزادك من علمه لقد نجحت العملية وشكرا
كيف يمكن استخراج قيمة نقدية من نص مثال :
give me 1500 DA
كيف يمكن أخد 1500 DA فقط


كيغية أخذ لرقم بدون فراغات من مكون maskedit - محمد الدرة - 09-09-2015

الفكرة بسيطة حلقات تكرار تقوم تقوم بالمرور على كل حرف في حال كان رقم يتم اضافتة الى متغير ويتم تمريرة كناتج في دالة


كيغية أخذ لرقم بدون فراغات من مكون maskedit - ع الحليم - 09-09-2015

لم أفهم جيدا ممكن مثال؟


كيغية أخذ لرقم بدون فراغات من مكون maskedit - I3CT - 09-09-2015

PHP كود :
function TrimIt2(const S: string): string;
var
  
str: string;
  
x: byte;
begin
  
for x := 1 to Length(S) do
  
begin
    
if S[x] in ['0'..'9', 'D', 'A'] then
      str 
:= str + S[x];
  
end;

  
Result := str;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1
.Text := TrimIt2(Edit2.text);
end; 
لاحظ معي مكان التغيير في الدوال TrimIt و TrimIt2


كيغية أخذ لرقم بدون فراغات من مكون maskedit - ع الحليم - 09-09-2015

شكرا أخي بارك الله فيك ، ذلك ما طلبت لقد نجحت العملية
هل يمكن أن تعلمني أكثر عن لدالة trim أو هل هناك درس مفصل عنها.
وهل يمكن أخذ القيمة المالية فقط إذا كان هناك عدة أرقام مع النص


كيغية أخذ لرقم بدون فراغات من مكون maskedit - I3CT - 10-09-2015

ع الحليم كتب :هل يمكن أن تعلمني أكثر عن لدالة trim
أو هل هناك درس مفصل عنها.
سميتها دالة TrimIt لانها شبيهة لما تفعله دالة SysUtils@Trim
و بالنسبة لعملها فهو واضح، انها تقوم بتمرير معلومات و مقارنتها بقيم ثابتة ثم تحديد ما ترجعه بناءا على ما تم مقارنته.

إقتباس :وهل يمكن أخذ القيمة المالية فقط إذا كان هناك عدة أرقام مع النص
ما يجب ان تعرفه اولا هو انك ما تحاول ان تنجزه يسمى Parsing او syntactic analysis و كتابة اوامره محصورة بين السهل جدا مثل ما تم عمله فوق الى المعقد حسب تنوع ما تريد ان تعالجه.

المعطيات في هذه المشاركات لا تكفي لحصر المهمة (سهلة او معقدة)


كيغية أخذ لرقم بدون فراغات من مكون maskedit - ع الحليم - 10-09-2015

هذا ملف عن ما أريده
أي أخد القيمة المالية فقط من النص الموجود في memo1 ووضعها في edit