| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3455 人关注过本帖, 1 人收藏
标题:MSFlexGrid的计算
取消只看楼主 加入收藏
lzxagy
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-8-28
结帖率:66.67%
收藏(1)
 问题点数:0 回复次数:10 
MSFlexGrid的计算
要实现下图功能,为什么计算结果从25-370开始显示啊,我想要从15-250开始显示啊.是不是循环写的有问题,肯请帮助!
代码如下:
Private Sub Command2_Click()
With MSFlexGrid2
    Dim a, b, c, d, e, n, x, row, col As Integer
   
    x = MSFlexGrid1.Rows
   
    For n = 1 To x - 2
  
   
    a = Val(MSFlexGrid1.TextMatrix(n, 0))
    b = Val(MSFlexGrid1.TextMatrix(n, 1))
    c = Val(MSFlexGrid1.TextMatrix(n + 1, 0))
    d = Val(MSFlexGrid1.TextMatrix(n + 1, 1))
   
    MSFlexGrid2.Rows = c - a + 2
    MSFlexGrid2.Cols = 2
      e = Int((d - b) / (c - a))
        MSFlexGrid2.TextMatrix(0, 0) = "高度"
        MSFlexGrid2.TextMatrix(0, 1) = "容积"
      MSFlexGrid2.TextMatrix(1, 0) = e
    For row = 1 To MSFlexGrid2.Rows - 1
   
   MSFlexGrid2.TextMatrix(row, 0) = a
   
    MSFlexGrid2.TextMatrix(row, 1) = b
     a = a + 1
     b = b + e
     Next row
   
     Next n
   
     End With
     
   
   
   

End Sub

[[italic] 本帖最后由 lzxagy 于 2007-12-26 14:49 编辑 [/italic]]

1.jpg (15.65 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: MSFlexGrid Val col row Integer 
2007-12-26 14:48
lzxagy
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-8-28
收藏
得分:0 
n是要从1开始啊
2007-12-26 15:05
lzxagy
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-8-28
收藏
得分:0 
应该是 For row = 1 To MSFlexGrid2.Rows - 1 中的row错了,但是怎么该呢?
2007-12-26 15:16
lzxagy
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-8-28
收藏
得分:0 
怎么该啊?
2007-12-26 15:53
lzxagy
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-8-28
收藏
得分:0 
怎么每人帮忙啊!
2007-12-27 09:11
lzxagy
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-8-28
收藏
得分:0 
还是不行.我是要显示成这样的.

2.jpg (26.61 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2007-12-27 10:34
lzxagy
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-8-28
收藏
得分:0 
计算公式就是插值法.
a = Val(MSFlexGrid1.TextMatrix(n, 0))
b = Val(MSFlexGrid1.TextMatrix(n, 1))
c = Val(MSFlexGrid1.TextMatrix(n + 1, 0))
d = Val(MSFlexGrid1.TextMatrix(n + 1, 1))
e = Int((d - b) / (c - a))

3.jpg (2.95 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2007-12-27 10:51
lzxagy
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-8-28
收藏
得分:0 
For n = a To Val(MSFlexGrid1.TextMatrix(iRows - 1, 0))中的n=a不对吧
再看看
在文本中输入数,MSFlexGrid1的rows是要变的.如输入5,则就是5行.

[[italic] 本帖最后由 lzxagy 于 2007-12-27 11:14 编辑 [/italic]]

3.jpg (4.51 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2007-12-27 11:12
lzxagy
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-8-28
收藏
得分:0 
谢谢
谢谢!
2007-12-27 11:36
lzxagy
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-8-28
收藏
得分:0 
这样啊!
怎么还是这样可能代码错了.
 Dim a, b, c, d, e, n, m, x, row, col As Integer
    Dim lngCount    As Long
    Dim iRows       As Long

    With MSFlexGrid2
   
    x = MSFlexGrid1.Rows
   
    For m = 1 To x - 2
   
    a = Val(MSFlexGrid1.TextMatrix(m, 0))
    b = Val(MSFlexGrid1.TextMatrix(m, 1))
    c = Val(MSFlexGrid1.TextMatrix(m + 1, 0))
    d = Val(MSFlexGrid1.TextMatrix(m + 1, 1))
   
    e = Int((d - b) / (c - a))
        
        iRows = MSFlexGrid1.Rows
        
        lngCount = 1
        .Rows = lngCount
        .Cols = 2

        MSFlexGrid2.TextMatrix(0, 0) = "高度"
        MSFlexGrid2.TextMatrix(0, 1) = "容积"
   
     For n = a To Val(MSFlexGrid1.TextMatrix(iRows - 1, 0))
            
            lngCount = lngCount + 1
            .Rows = lngCount
            
            
            .TextMatrix(lngCount - 1, 0) = n
            
            .TextMatrix(lngCount - 1, 1) = (n - a) * e + b

   
     Next n
   

      Next m
     End With

3.jpg (15.29 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2007-12-27 15:17
快速回复:MSFlexGrid的计算
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028924 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved