怎么用VB提取每行J1=后的数字到MSHFlexGrid1中 CIP Z=-1.923 Y=5.495 K1=-1.973 J1=5.59 CIP Z=-1.799 Y=5.253 K1=-1.86 J1=5.374
时间: 2024-06-17 07:06:41 浏览: 9
您可以使用VB中的字符串处理函数来提取每行J1=后的数字,并将其添加到MSHFlexGrid1中。具体的代码如下所示:
```
Dim s As String
Dim j1 As String
Dim rowIndex As Integer
' 遍历每行文本
For Each line In TextBox1.Lines
' 查找J1=所在位置
s = Mid(line, InStr(line, "J1=") + 3)
' 提取J1后的数字
j1 = Val(s)
' 将J1添加到MSHFlexGrid1中
With MSHFlexGrid1
.Rows = .Rows + 1
rowIndex = .Rows - 1
.TextMatrix(rowIndex, 0) = j1
End With
Next
```
如果您的文本框中有多行数据,上述代码可以逐行遍历并提取J1后的数字,然后将其添加到MSHFlexGrid1中。另外,上述代码中使用了Mid函数和InStr函数来截取字符串,以及Val函数将字符串转换成数字。
相关问题
怎么用VB提取每行J1=后的数字到MSHFlexGrid1中 CIP Z=-1.923 Y=5.495 K1=-1.973 J1=5.59 CIP Z=-1.799 Y=5.253 K1=-1.86 J1=5.374
可以使用VB中的Split函数和Mid函数来提取每行J1=后的数字到MSHFlexGrid1中,具体操作如下:
1. 首先,将文本文件逐行读取到一个字符串数组中。
2. 对于每行字符串,使用Split函数将其按照空格分隔成一个字符串数组。
3. 遍历该字符串数组,查找包含J1=的字符串,并使用Mid函数截取该字符串后的数字。
4. 将得到的数字添加到MSHFlexGrid1中。
以下是VB代码示例:
```
Dim fileNum As Integer
Dim fileName As String
Dim fileContent() As String
Dim row As Integer
' 打开文件并读取内容到数组
fileName = "file.txt"
fileNum = FreeFile()
Open fileName For Input As fileNum
row = 1
Do While Not EOF(fileNum)
Line Input #fileNum, fileContent(row)
row = row + 1
Loop
Close fileNum
' 遍历数组并提取J1后的数字到MSHFlexGrid1
For i = 1 To UBound(fileContent)
Dim strArr() As String
strArr = Split(fileContent(i), " ")
For j = 0 To UBound(strArr)
If InStr(strArr(j), "J1=") > 0 Then
Dim num As Double
num = CDbl(Mid(strArr(j), 4))
MSHFlexGrid1.TextMatrix(i, 1) = num ' 添加到MSHFlexGrid1中
End If
Next j
Next i
vb6.0 mshflexgrid 鼠标滚动
VB 6.0 MSHFlexGrid控件是常用的显示表格数据的控件,在使用时可能会遇到需要滚动查看大量数据的情况。如果希望能够通过鼠标滚轮快速滚动MSHFlexGrid控件,可以通过以下步骤实现:
1. 在窗体中添加一个MSHFlexGrid控件。
2. 在窗体的代码模块中声明一个变量记录鼠标滚轮的滚动值,如下所示:
Private wheelDelta As Long
3. 在MSHFlexGrid控件的MouseWheel事件中处理鼠标滚轮事件,将滚动值累加到当前控件的TopRow属性中,从而实现滚动。代码如下:
Private Sub MSHFlexGrid1_MouseWheel(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single, ByVal Zoom As Integer)
wheelDelta = wheelDelta + Zoom
If wheelDelta > 120 Then
MSHFlexGrid1.TopRow = MSHFlexGrid1.TopRow - 1
wheelDelta = wheelDelta - 120
ElseIf wheelDelta < -120 Then
MSHFlexGrid1.TopRow = MSHFlexGrid1.TopRow + 1
wheelDelta = wheelDelta + 120
End If
End Sub
4. 最后,记得在窗体的Load事件中将MSHFlexGrid控件的MouseWheel事件绑定到上面的代码处理程序,如下所示:
Private Sub Form_Load()
AddHandler MSHFlexGrid1.MouseWheel, AddressOf MSHFlexGrid1_MouseWheel
End Sub
通过以上步骤,就可以实现在VB 6.0 MSHFlexGrid控件上通过鼠标滚轮来快速滚动查看大量数据的功能。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)