Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Count days of month
Message
From
12/08/2006 06:21:21
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Count days of month
Environment versions
Visual FoxPro:
VFP 9
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01145036
Message ID:
01145036
Views:
64
hi all,
is there a way to make all months=31 days, include month 2(Feb).
 if day of .txtstart=01
else
make all months=30 days, include month 2(Feb).


at this code under
Public oForm
oForm = Createobject('myForm')
oForm.Show()

Define Class myForm As Form
  DataSession = 2
  Height = 300
  Width = 480

  Add Object label1 As Label With ;
    Caption = "Principal", Left = 20, Width = 50, Top = 25
  Add Object label2 As Label With ;
    Caption = "Interest", Left = 20, Width = 50, Top = 55
  Add Object label3 As Label With ;
    Caption = "Months", Left = 20, Width = 50, Top = 85
  Add Object label4 As Label With ;
    Caption = "Start", Left = 20, Width = 50, Top = 115
  Add Object txtprincipal As TextBox With ;
    Value = 000000000.000, Left = 80, Top = 25, Width = 100
  Add Object txtinterest As TextBox With ;
    Value = 0, Left = 80, Top = 55, Width = 100
  Add Object txtmonths As TextBox With ;
    Value = 12, Left = 80, Top = 85, Width = 100
  Add Object txtstart As TextBox With ;
    Value = (Date()), Left = 80, Top = 115, Width = 100
  Add Object cmdCalculate As CommandButton With ;
    Top = 145, Left = 80, Caption = "Go"
  Add Object grddistribution As Grid With ;
    Height = 280, Left = 190, Top = 5, Visible = .F., Width = 280
   
Procedure cmdCalculate.Click
    With Thisform
      lnPayment = Payment( .txtprincipal.Value,;
        .txtinterest.Value,;
        .txtmonths.Value)
        
        
      Create Cursor crsDist (From d, To d, Amount Y)
      For ix=0 To .txtmonths.Value
        ldCurrent = Gomonth(.txtstart.Value,m.ix)
        
        ldFrom = Iif(m.ix = 0, m.ldCurrent, ;
          Date( Year(m.ldCurrent), Month(m.ldCurrent), 1))
        ldTo = Iif(m.ix = .txtmonths.Value, m.ldCurrent,;
          Gomonth(m.ldCurrent,1)-Day(Gomonth(m.ldCurrent,1)))
          *************************
      

      Do Case
          Case m.ix = 0
         
            lnLeft = 30 - (Day(m.ldTo)-Day(m.ldCurrent))
      
           lnAmount = m.lnPayment * ((Day(m.ldTo)-Day(m.ldCurrent))/30)
                  
            Case m.ix = .txtmonths.Value
            lnAmount = m.lnPayment * (m.lnLeft/30)
          
          Otherwise
            lnAmount = m.lnPayment
        ENDCASE
        
        
        Insert Into crsDist (From,To,Amount) ;
          values ;
          ( m.ldFrom, m.ldTo,m.lnAmount)
      Endfor
      Locate
      .grddistribution.RecordSource = 'crsDist'
      .grddistribution.Visible = .T.
    Endwith
  Endproc
thanks
Next
Reply
Map
View

Click here to load this message in the networking platform