![]() |
|
فيما يخص تحويل المبالغ الرقمية إلى كتابة حرفية - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : فيما يخص تحويل المبالغ الرقمية إلى كتابة حرفية (/showthread.php?tid=185) الصفحات:
1
2
|
فيما يخص تحويل المبالغ الرقمية إلى كتابة حرفية - medreg - 09-05-2008 السلام عليكم ورحمة الله تعالى وبركاته لقد وجدت في أحد المواقع كود تفقيط كيف يمكنني إستدعائه داخل QuickRep وإضافة العملة الجزائرية به ('الدينار' و' السنتيم') لأن حسب ما تبين لي أن هذا الكود معمول على أن يستعمل داخل فورم وليس داخل الكويكريب وشكرًا جزيلاً أنا بحاجة إلى هذا الكود فيما يخص تحويل المبالغ الرقمية إلى كتابة حرفية - merouane - 09-05-2008 و عليكم السلام و رحمة الله تعالى و بركاته الأمر بسيط عند quickReport التي سنسميها QuickReport3 ستستعمل QRDBText نسميه QRDBText4 حيث Field سيأخذ قيمة MT_NET استعملت في المثال جدول آخر لكنها نفي الطريقة اذهب إلى Events أو Evènements وبالضبط عند OnPrint اضغط بالفأرة ثم اكتب كود : implementation
uses unit2; [color=Blue]wordsالوحدة التي تتضمن الإجراء [/color]
procedure TQuickReport3.MTQRDBTextPrint(sender: TObject; var Value: String);
begin
Value:=words(StrToFloat(Value),'سنتيم', 'سنتيم', 'سنتيم','دينار', 'دينار', 'دينار' , false);
end;فيما يخص تحويل المبالغ الرقمية إلى كتابة حرفية - medreg - 10-05-2008 إعادة صياغة هذا الكود على ان يعمل بالكويكريب بالطريقة التقنية المعروفة لديكم كثرجمة اي مبلغ يجده في الكويكريب والسلام عليكم ورحمة الله تعالى وبركاته فيما يخص تحويل المبالغ الرقمية إلى كتابة حرفية - medreg - 10-05-2008 يا صديق لقد عدت لك مرة أخرى وارفقت لك مثال آخر حتى تفهم ما اقصده بترجة المبالغ فيما يخص تحويل المبالغ الرقمية إلى كتابة حرفية - merouane - 10-05-2008 حسنا مع أن الرد الأول في نظري كاف ، واعذرني إذا قلت لك أنك ربما تعب من العمل بحيث تريد بالضبط ما تريد أولا لا تضع المجموع العام في الجدول : لأنه خاص بجميع سطور الجدول ثانيا سأريك أن الرد الأول كافي لكن التغيير الذي سأقوم به هو نسخ الأجراء بدل استدعائه تحسب المجموع - توجد طرق عدة - لكنني سأعدل فقط على برنامجك DB,StrUtils تضافان إلى Uses حاولت التبسيط قدر الإمكان كود : unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, QRCtrls, QuickRpt, ExtCtrls,[color=Blue] DB,StrUtils[/color];
type
TForm2 = class(TForm)
. . . . . . . . . . . .
procedure QRLabel2Print(sender: TObject; var Value: String);
Function words(D : Double; F1 : String = 'واحدة'; F2 :String = 'واحدتين' ; F3 : String = 'واحدات'
; D1 : String = 'جزء' ; D2 : String = 'جزئين'; D3: String = 'أجزاء'; SayJust : Boolean = True) : String;
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
Function TForm2.words(D : Double; F1 : String = 'واحدة'; F2 :String = 'واحدتين' ; F3 : String = 'واحدات'
; D1 : String = 'جزء' ; D2 : String = 'جزئين'; D3: String = 'أجزاء'; SayJust : Boolean = True) : String;
[color=Blue]. . . . . . . . . words أنقل هنا محتوى الإجراء [/color]
End;
procedure TForm2.QRLabel2Print(sender: TObject; var Value: String);
[color=Blue]حساب المجموع[/color]
Function MT: Real;
var Book: TBookMark;
MT0: Real;
begin
MT0:=0;
Book:=Form1.Table1.GetBookmark;
try
Form1.Table1.DisableControls;
Form1.Table1.First;
while not Form1.Table1.Eof do
begin
MT0 := MT0+
(Form1.Table1.FieldByName('PRIX').AsFloat * Form1.Table1.FieldByName('QTE').AsFloat);
Form1.Table1.Next;
end;
Form1.Table1.GotoBookmark(Book);
finally
Form1.Table1.FreeBookmark(Book);
Form1.Table1.EnableControls;
end;
Result:=MT0;
end;
[color=Blue]-------------------------------[/color]
begin
Value:=words(MT),'سنتيم', 'سنتيم', 'سنتيم','دينار', 'دينار', 'دينار' , false);
end;
end.الإجراء QRLabel2Print تتحصل عليه من خلال الحدث OnPrint ستجده في Evènements (évents) الخاص بـ QRLabel2 لتتأكد الصورة المرفقة تبين النتيجة فيما يخص تحويل المبالغ الرقمية إلى كتابة حرفية - medreg - 10-05-2008 شكرً جزيلاً على هذا التعديل والإرشاد اعذرني يا صديقي فأنا مبتدئ في مجال البرمجة ولهذا اثقلت عليكم بأسئلة هل بامكانك اعطائ درس في تفقيط الأرقام بالدلفي وليكن البداية من واحد إلى عشرة مثلاً حتى اتمكن من برمجته بنفسي فيما يخص تحويل المبالغ الرقمية إلى كتابة حرفية - merouane - 10-05-2008 يا أخي medreg لا تعتذر ، بل لك كل الحق في السؤال والمشاركة وكذلك الإجابة في حال تيقنك منها وإنما كل ما نطلبه ان يبذل السائل جهدا لاستيعاب الأجوبة، لأنه مهما كانت كفاءة المجيب فلن يستطيع الإجابة 100/100 وإذا صادف ووجدت ما تريده بالضبط فلا زال امامك مشوار الفهم الذي ممرنا ولا زلنا نمر به أما بخصوص درس التفقيط فلا أعدك بالسرعة في طرحه ، إذا سبقني أحد الإخوة فله الأجر والدعاء من عندنا وإذا لم يطرحه أحد سأضعه إن شاء الله .. تقبل تحياتي
فيما يخص تحويل المبالغ الرقمية إلى كتابة حرفية - مهدي - 10-05-2008 و عليكم السلام و رحمة الله و بركاته مصدر برنامج التفقيط موجود على الرابط التالي http://www.delphi4arab.net/forum/showthread.php?tid=299 فيما يخص تحويل المبالغ الرقمية إلى كتابة حرفية - medreg - 11-05-2008 شكرً جزيلاً يا أخ مهدي ويا اخ مروان جزاكم الله عنا كل خير إنني لم أطلع على المرفق لكنني حملته وساطلع عليه إنشاء الله كل ما استطيع قوله لكم اطلب من الله العلي القدير أن يجعل كل حرف من هذه الحروف بعشر حسنات وان يضعهم لكم في ميزان حسناتكم وجعلكم الله ذخرًا للأمة العربية المسلمة جمعا ووفقكم الله لما فيه خير للبلاد والعباد إنشاء الله لي طلب اخر وهو يا اخ مهدي هل بامكانك ان تعطيني المتغيرات والثوابت والوظائف والتعليمات التي تستعمل في تفقيط الأرقام مرفوقين بشرح لكل متغير وثابت ووظيفة وتعليمة لما تستعمل واين يجب ات تكون في الكود ولماذا وضعت مع مثال لتفيط ارقام من واحد الى عشرة وتوضيح كيف ابدأ بصنع كود للتفقيط والبداية تكون مالصفر من فضلك على ان ينون لعدد محدود مثلا ال عدد عشرة فقط حتى اتمكن م ن ان اصنع كود بنفسي وحتى اعرف كيف اضع الصيغة المناسبة وكما قلت لك انا مبتدئ في البرمجة فيما يخص تحويل المبالغ الرقمية إلى كتابة حرفية - مهدي - 11-05-2008 أهلا و مرحبا بك أخي الكريم أما فيما يخص شرح طريقة التفقيط فأقول أنه ليس للتفقيط قاعدة عامة حيث بإمكانك تغيير الأساليب و الطرق. أنصحك بأن تركز مع المصدر الذي قمت برفعه كي تفهم الأسلوب و الطريقة لتحاول إنجاز كود مع عندك و بمجرد أن تنجح إنتقل إلى أشياء و مواضيع جديدة لأن لغة الدلفي كبيرة جدا و ليست مقتصرة على جزء معين. بالتوفيق. |