想用MSFlexGrid控键做下面的表格请老师帮忙看看 品名 数量 累加 累减
022 360 输出9也就是(3+6+0的和) 输出3(最大数减最小数)
021 482 14 6
020 869 23 3
依此类推
品名和数量要求调用c:\cc.txt的数据。(最好自己能生成一个txt文件,然后用户将来就可以直接到这个文件进行修改)
数据在cc.txt的书写方式为:
022,360
021,482
020,869
问题:
我可以把
品名 数量 累加 累减 用label来显示
问题一:第一列怎样去读取cc.txt里“,”前面的数然后按顺序向下显示
问题二:第二列怎样去读取cc.txt里“,”后面的数然后按顺序向下显示
问题三:第三列怎样去获取当前行2列的数字,然后进行运算显示在当前单元格
我想这些都是可以整列设置的,但自己不会啊,还有就是让他自己生成一个txt文件,文件名就叫“谢谢恩师”吧,请恩师帮忙看看写出代码来,在这里先谢谢了
022 360 输出9也就是(3+6+0的和) 输出3(最大数减最小数)
021 482 14 6
020 869 23 3
依此类推
品名和数量要求调用c:\cc.txt的数据。(最好自己能生成一个txt文件,然后用户将来就可以直接到这个文件进行修改)
数据在cc.txt的书写方式为:
022,360
021,482
020,869
问题:
我可以把
品名 数量 累加 累减 用label来显示
问题一:第一列怎样去读取cc.txt里“,”前面的数然后按顺序向下显示
问题二:第二列怎样去读取cc.txt里“,”后面的数然后按顺序向下显示
问题三:第三列怎样去获取当前行2列的数字,然后进行运算显示在当前单元格
我想这些都是可以整列设置的,但自己不会啊,还有就是让他自己生成一个txt文件,文件名就叫“谢谢恩师”吧,请恩师帮忙看看写出代码来,在这里先谢谢了
'增加一个MSFlexGrid1的控件
'有一个C:\CC.Txt的文件.
'文件里面的内容:(注意逗号为半角,不是全角)
'022,360
'021,482
'020,869 Option ExplicitPrivate Type DataInfo
PratName As String
PartNumber As String
End Type
Private Sub Form_Load()
Dim i As Long
Dim mData() As Long
Dim NDataInfo() As DataInfo
NDataInfo = OpenFile("c:\cc.txt")
MSFlexGrid1.FixedCols = 0
MSFlexGrid1.FixedRows = 0
MSFlexGrid1.Rows = UBound(NDataInfo)
MSFlexGrid1.Cols = 4
For i = 1 To UBound(NDataInfo)
MSFlexGrid1.TextMatrix(i - 1, 0) = Trim(NDataInfo(i).PratName)
MSFlexGrid1.TextMatrix(i - 1, 1) = Trim(NDataInfo(i).PartNumber)
mData = GetData(NDataInfo(i).PartNumber)
MSFlexGrid1.TextMatrix(i - 1, 2) = mData(1)
MSFlexGrid1.TextMatrix(i - 1, 3) = mData(2)
Next
End SubPrivate Function GetData(ByVal Data As String) As Long()
Dim CData(1 To 2) As Long
Dim i As Long
Dim MaxNum As Long
Dim MinNum As Long
Data = Trim(Data)
GetData = CData
If Len(Data) = 0 Then Exit Function
For i = 1 To Len(Data)
CData(1) = CData(1) + CLng(Mid(Data, i, 1))
Next MaxNum = Mid(Data, 1, 1)
MinNum = Mid(Data, 1, 1)
For i = 2 To Len(Data)
If MaxNum < CLng(Mid(Data, i, 1)) Then
MaxNum = CLng(Mid(Data, i, 1))
End If
If MinNum > CLng(Mid(Data, i, 1)) Then
MinNum = CLng(Mid(Data, i, 1))
End If
Next
CData(2) = MaxNum - MinNum
GetData = CData
End Function
Private Function OpenFile(ByVal FileName As String) As DataInfo()
Dim Data() As DataInfo
Dim Count As Long
Dim CData As String
Dim sData() As String
Open FileName For Input As #1
While Not EOF(1)
Count = Count + 1
ReDim Preserve Data(Count) As DataInfo
Line Input #1, CData
sData = Split(CData, ",")
Data(Count).PratName = sData(0)
Data(Count).PartNumber = sData(1)
Wend
Close #1
OpenFile = Data
End Function
Private Sub Command1_Click()
Dim i As Long
Open "c:\保存.txt" For Output As #1
'Print #1, "品名", "数量", "累加", "累减"
For i = 0 To MSFlexGrid1.Rows - 1
Print #1, MSFlexGrid1.TextMatrix(i, 0), MSFlexGrid1.TextMatrix(i, 1), MSFlexGrid1.TextMatrix(i, 2), MSFlexGrid1.TextMatrix(i, 3)
Next
Close 1
End Sub