VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1469|回复: 11

求一段VB源代码,使用call调用,求2010至2050的润年

[复制链接]

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-7 08:00:01 | 显示全部楼层 |阅读模式
求一段VB源代码,使用call调用,求2010至2050的润年
回复

使用道具 举报

0

主题

14

帖子

13.00

积分

新手上路

Rank: 1

积分
13.00
发表于 2020-3-28 22:15:01 | 显示全部楼层
Function a()
    Dim i&, j&, k
    ReDim k((2050 - 2012) \ 4)
   
    For i = 2012 To 2050 Step 4
        k(j) = i
        j = j + 1
    Next
   
    a = k
End Function
回复

使用道具 举报

0

主题

14

帖子

13.00

积分

新手上路

Rank: 1

积分
13.00
发表于 2020-3-28 23:15:02 | 显示全部楼层
已经过调试
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-3-29 09:15:01 | 显示全部楼层
我想使用子程序调用的形式
回复

使用道具 举报

0

主题

14

帖子

13.00

积分

新手上路

Rank: 1

积分
13.00
发表于 2020-3-30 08:00:01 | 显示全部楼层
不可能用CALL调用啦-_-
用call调用的函数无法取得返回值-_-
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-3-30 23:00:01 | 显示全部楼层
Public Sub FindLeap()
n = 0
Y = 2010
Do Until (Y > 2050)
If Y Mod 4 = 0 Then
    If (Y Mod 100) <> 0 Then
    leap = 1
    ElseIf (Y Mod 400) = 0 Then
    leap = 1
        Else
        leap = 0
    End If
Else
leap = 0
End If
If leap = 1 Then
   Print Y;
   n = n + 1
If n Mod 5 = 0 Then
Print
End If
Y = Y + 1
Loop
End Sub

Private Sub cmdleap_click()
Print "2010年至2050年之间的闰年:"
Call FindLeap
End Sub


运行的时候,提示Loop缺少do ????
回复

使用道具 举报

0

主题

11

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-4-3 03:00:01 | 显示全部楼层

Private Sub FindLeap()
    Dim i As Long
   
    For i = 2010 To 2050
        If IsDate(CStr(i) & "-2-29") Then
            Debug.Print i
        End If
    Next
End Sub
回复

使用道具 举报

0

主题

34

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-4-13 10:45:01 | 显示全部楼层
Public Sub FindLeap()
n = 0
Y = 2010
Do Until (Y > 2050)
    If Y Mod 4 = 0 Then
        If (Y Mod 100) <> 0 Then
            leap = 1
        ElseIf (Y Mod 400) = 0 Then
            leap = 1
        Else
            leap = 0
        End If
    Else
        leap = 0
    End If
    If leap = 1 Then
       Print Y;
       n = n + 1
        If n Mod 5 = 0 Then Print'这里有问题,if end if 不配对
    End If
    Y = Y + 1
Loop
End Sub

Private Sub cmdleap_click()
Print "2010年至2050年之间的闰年:"
Call FindLeap
End Sub

回复

使用道具 举报

0

主题

34

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-4-13 11:45:01 | 显示全部楼层
Public Sub FindLeap()
n = 0
Y = 2010
Do Until (Y > 2050)
    If Y Mod 4 = 0 Then
        If (Y Mod 100) <> 0 Then
            leap = 1
        ElseIf (Y Mod 400) = 0 Then
            leap = 1
        Else
            leap = 0
        End If
    Else
        leap = 0
    End If
    If leap = 1 Then
       Print Y;
       n = n + 1
        If n Mod 5 = 0 Then Print'这里改一下
    End If
    Y = Y + 1
Loop
End Sub

Private Sub cmdleap_click()
Print "2010年至2050年之间的闰年:"
Call FindLeap
End Sub

回复

使用道具 举报

0

主题

8

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-4-18 17:30:01 | 显示全部楼层
'TO 运行的时候,提示Loop缺少do ????

If leap = 1 Then
   Print Y;
   n = n + 1
If n Mod 5 = 0 Then
Print
End If


'改为
    If leap = 1 Then
      Print Y;
      n = n + 1
    End If
    If n Mod 5 = 0 Then
      Print
    End If

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表