当前位置:编程学习 > VB >>

VB 数组 判断 txt

我从txt读取了一个图形的坐标(x,y),存为数组的格式x(i),y(i)。判断两个点(x(i),y(i))和(x(i+1),y(i+1))之间的距离L,当L小于某特定值时,删除点x(i+1),y(i+1),并删除txt中对应的坐标,各位,有办法吗?

数据格式txt

0,0
0,10
5,10
5,8
10,8
10,0
答案:楼上说的不错,你必须要一个参考坐标。如(0,0),那么我以原点为例,给你做一个简短但有效的程序,满足条件的坐标全部输出在D盘的NewSite.txt内。

Private Sub Command1_Click()
Dim Var, Arr
Dim FF As Long
Dim L As Double
Dim StrTemp, TxtPath As String

L = CDbl(InputBox("请输入对比长度L:", "Coo_boi"))
TxtPath = "D:\\1.txt" '改成你存放坐标txt的那个路径
FF = FreeFile
Open TxtPath For Input As #FF
StrTemp = Input(LOF(FF), FF)
Close #FF
Open "D:\\NewSite.txt" For Output As #FF
For Each Var In Split(StrTemp, vbCrLf)
Arr = Split(Var, ",")
If Sqr(Arr(0) ^ 2 + Arr(1) ^ 2) >= L Then Print #FF, Var
'If (Arr(0) - X) ^ 2 + (Arr(1) - Y) ^ 2 >= L ^ 2 Then Print #FF, Var'如果你加入参考坐标(X,Y),请使用这条语句,去掉上面的一条语句
Next
Close #FF
End Sub

上一个:VB中缺少列表分隔符
下一个:求vb上机题库

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,