الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكن عمل تكرار..

مغلق
بدأه ابواحمد في 22 أكتوبر 2002 · 3 رد · 586 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الكرام

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

لدي برنامج يسجل كمبيالات للاقساط والذي اريد معرفة كالتالي:

كيف اجعل البرنامج يقوم بتسجيل بيانات الاقساط موزعه على عدد الاقساط.

فمثلاً اذا كان العميل اشترى بمبلغ 72,000 الف ريال ويحتاج الى ست وثلاثون شهراً اي ثلاث سنوات للتسديد بمعنى كل شهر 2000 ريال المطلوب:

كيف اجعل البرنامج يقوم بعمل الكمبيالات من اول استحقاق للتسديد الى آخر استحقاق مع تغير في التاريخ حسب كل شهر :

لتصبح الكمبيلات كما في الشكل التالي:

رقم الكمبيالة: 1

تاريخ الاستحقاق : 01 -8- 1423

المبلغ : 2000

رقم العميل: 1

الاسم: محمد

---------------------

رقم الكمبيالة: 2

تاريخ الاستحقاق : 01 -9- 1423

المبلغ : 2000

رقم العميل: 1

الاسم: محمد

---------------------

رقم الكمبيالة: 3

تاريخ الاستحقاق : 01 -10- 1423

المبلغ : 2000

رقم العميل: 1

الاسم: محمد

---------------------

رقم الكمبيالة: 4

تاريخ الاستحقاق : 01 -11- 1423

المبلغ : 2000

رقم العميل: 1

الاسم: محمد

---------------------

رقم الكمبيالة: 5

تاريخ الاستحقاق : 01 -12- 1423

المبلغ : 2000

رقم العميل: 1

الاسم: محمد

--- ملاحظه : هنا اريد ان يتغير تاريخ السنة بمجرد وصول الشهر الى 12

--

رقم الكمبيالة : 6

تاريخ الاستحقاق : 01 -1- 1424

المبلغ : 2000

رقم العميل: 1

الاسم: محمد

---------------------

حتى.....

رقم الكمبيالة: 36

تاريخ الاستحقاق : 01 - 7 - 1426

المبلغ : 2000

رقم العميل: 1

الاسم: محمد

---------------------

شاكرين حسن تعاونكم ودمتم

#2

:'(

#3

اخي الكريم ابو احمد

السلام عليكم ورحمة الله وبركاته ، وبعد

ابتسم من فضلك !

يمكنك عمل ذلك كالتالي :

اولا انشي هذه الادوات عدد 4 EditBox وواحد Memo وزر كالتالي حتى يعمل معك المثال :

object Form1: TForm1

  Left = 192

  Top = 109

  Width = 544

  Height = 375

  BiDiMode = bdRightToLeft

  Caption = 'Form1'

  Color = clBtnFace

  Font.Charset = DEFAULT_CHARSET

  Font.Color = clWindowText

  Font.Height = -11

  Font.Name = 'MS Sans Serif'

  Font.Style = []

  OldCreateOrder = False

  ParentBiDiMode = False

  PixelsPerInch = 96

  TextHeight = 13

  object Label1: TLabel

    Left = 481

    Top = 48

    Width = 48

    Height = 13

    Caption = 'اسم العميل'

  end

  object Label2: TLabel

    Left = 480

    Top = 80

    Width = 49

    Height = 13

    Caption = 'مبلغ القسط'

  end

  object Label3: TLabel

    Left = 474

    Top = 112

    Width = 55

    Height = 13

    Caption = 'عدد الاقساط'

  end

  object Label4: TLabel

    Left = 220

    Top = 48

    Width = 69

    Height = 13

    Caption = 'تاريخ اول قسط'

  end

  object Memo1: TMemo

    Left = 40

    Top = 136

    Width = 433

    Height = 137

    ScrollBars = ssVertical

    TabOrder = 0

  end

  object Edit1: TEdit

    Left = 328

    Top = 48

    Width = 121

    Height = 21

    TabOrder = 1

  end

  object Edit2: TEdit

    Left = 328

    Top = 80

    Width = 121

    Height = 21

    TabOrder = 2

  end

  object Edit3: TEdit

    Left = 328

    Top = 112

    Width = 121

    Height = 21

    TabOrder = 3

  end

  object Edit4: TEdit

    Left = 80

    Top = 48

    Width = 121

    Height = 21

    TabOrder = 4

  end

  object Button1: TButton

    Left = 384

    Top = 288

    Width = 75

    Height = 25

    Caption = 'احسب'

    TabOrder = 5

    OnClick = Button1Click

  end

End

وثم اضف هذا الكود عند حدث Button1Click

procedure TForm1.Button1Click(Sender: TObject);

var

i : Integer;

MyDate : TDate;

installment : Double;

begin

i :=1;

installment := StrToFloat(Edit2.Text)/StrToInt(Edit3.Text);

Memo1.Lines.Add('رقم السند:' + IntToStr(i));

Memo1.Lines.Add('اسم العميل :' + Edit1.Text);

Memo1.Lines.Add('تاريخ القسط :' + Edit4.Text);

Memo1.Lines.Add('مبلغ القسط :' + FloatToStr(installment));

Memo1.Lines.Add('------------------------');

while i< StrToInt(Edit3.Text) do

begin

MyDate := IncMonth(StrToDate(Edit4.Text),i);

i:=i+1;

Memo1.Lines.Add('رقم السند:' + IntToStr(i));

Memo1.Lines.Add('اسم العميل :' + Edit1.Text);

Memo1.Lines.Add('تاريخ القسط :' + DateToStr(MyDate) );

Memo1.Lines.Add('مبلغ القسط :' + FloatToStr(installment));

Memo1.Lines.Add('------------------------');

end;

end;

[code]

وقد جهزت لك مثال على ذلك ويمكنك تحميله من هذا الرابط

http://abohany.topcities.com/MyFiles/Tst.zip

#4

مشكووووووووور اخوي ابو هاني وجزاك الله الف خير .

هذا الموضوع مغلق.

مواضيع مشابهة