| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1519 人关注过本帖, 1 人收藏
标题:[求助]怎么读取txt文件并进行计算?
只看楼主 加入收藏
linvv
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-6-4
收藏(1)
 问题点数:0 回复次数:12 
[求助]怎么读取txt文件并进行计算?

有个1.txt文件如下:
100 20.36 3.26 700 20 20
500 50.63 50.65 80 10 700
800 70 60 20.2 60 50
1200 ``````
(文件规律:第行六个数值,第一列是判断条件用的,第一列的下行总比上行的数值大)
现在想读取此文件,然后存在一个数组dadt(),然后根据变量k来判断提取哪两行的数值来进行计算

比如k=600时,提取的两行是500及800那两行的数值,其它行的数值就不管了,然后计算v=(70-50.63)/(20.2-50.65),
o=(700-50)*k,

或者先教一下要让p=第二行,第三个数值要怎么写?

不知哪位高手肯出手相助,先谢过了!

[此贴子已经被作者于2007-6-6 23:36:30编辑过]

搜索更多相关主题的帖子: txt文件 数值 变量 dadt 
2007-06-06 21:34
ouzhiguang
Rank: 1
来 自:湖南长沙
等 级:新手上路
威 望:1
帖 子:240
专家分:0
注 册:2007-5-18
收藏
得分:0 
能不能再描述清楚一点,你这样 很难明白~~~~~
是不是 只要算一个数啊
2007-06-06 23:03
linvv
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-6-4
收藏
得分:0 
已修改,不知是否能明白?

要不先教一下要让p=第二行,第三个数值要怎么写?

谢谢 !
2007-06-07 08:22
黑暗公爵
Rank: 1
等 级:新手上路
威 望:1
帖 子:46
专家分:0
注 册:2007-5-31
收藏
得分:0 

还是看不明白,不知道你要干身么啊


头发遮住眼睛,身心坠入冥冥,世间万千烦扰,我自成竹在胸。
2007-06-07 08:40
linvv
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-6-4
收藏
得分:0 

那先告诉我怎么让:

p=data(一个10*7数组)的第二行,第三个数值

要怎么写吧?

2007-06-07 10:40
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
收藏
得分:0 

按行读取!然后split到一个动态数组里面,最后就进行数组的分析,应该很简单了


2007-06-07 11:09
linvv
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-6-4
收藏
得分:0 
是整个文件split 到一个数组吗?

但是,要怎么提取某个数值呢?(比如第4行第3个数值),然后跟其它数值进行运算。

哪位高手帮写个提取的语句吧?先谢过了!
2007-06-07 12:03
ouzhiguang
Rank: 1
来 自:湖南长沙
等 级:新手上路
威 望:1
帖 子:240
专家分:0
注 册:2007-5-18
收藏
得分:0 


Private Sub Command1_Click()
Dim strfilename As String
Dim strline As String
Dim filenum As String
CommonDialog1.Filter = "所有文件(*.*)|*.*"
CommonDialog1.FilterIndex = 1
CommonDialog1.ShowOpen
strfilename = CommonDialog1.FileName
Text1.Text = ""
filenum = FreeFile
If strfilename <> "" Then
Open strfilename For Input As filenum
Do While Not EOF(filenum)
Line Input #filenum, strline

Text1.Text = Text1.Text + strline + Chr(13) + Chr(10)
Loop
Close filenum
End If
End Sub

Private Sub Command2_Click()


Dim a(1000) As String


strfilename = CommonDialog1.FileName
Text1.Text = ""
filenum = FreeFile
If strfilename <> "" Then
Open strfilename For Input As filenum
Do While Not EOF(filenum)
Line Input #filenum, strline
n = LTrim(strline)

s1:
For i = 1 To Len(n)

If Mid(n, i, 1) = " " Then
k = k + 1

a(k) = Mid(n, 1, i - 1)


n = LTrim(Mid(n, i))

GoTo s1
End If

Next i
For j = 1 To Len(RTrim(strline))
If Mid(RTrim(strline), Len(RTrim(strline)) - j, 1) = " " Then
k = k + 1
a(k) = Mid(RTrim(strline), Len(RTrim(strline)) - j + 1, Len(RTrim(strline)))

Exit For
End If
Next j


Text1.Text = Text1.Text + strline + Chr(13) + Chr(10)
Loop
Close filenum
End If
For i = 1 To k
Text2.Text = Text2.Text & " " & Trim(a(i))
If i Mod 6 = 0 Then
Text2.Text = Text2.Text & Chr(13) & Chr(10)
End If
Next i
If Text3.Text = "" Then
MsgBox "请输入要比较的值!"
Text3.SetFocus
Exit Sub
End If
Dim o, v As Single
Dim m As Single
m = Val(Text3.Text)
k = Val(Text3.Text)
For i = 1 To k - 5 Step 6
If Val(a(i)) > m Then
Exit For
End If
Next i
If i = 1 Then Exit Sub
v = (Val(a(i + 1)) - Val(a(i - 6 + 1))) / (Val(a(i + 3)) - Val(a(i - 6 + 3)))
o = (Val(a(i - 1)) - Val(a(i + 5))) * m

Text4.Text = Str(v) & Str(o)
End Sub

帮你弄了几个小时,终于搞定了....是按照你上面的要求改的......你看看有什么地方错了没?

2007-06-07 13:15
linvv
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-6-4
收藏
得分:0 
兄弟,辛苦了
先谢谢了,我试下先
2007-06-07 15:33
linvv
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-6-4
收藏
得分:0 
兄弟,有点问题,不知是不是我哪里操作错了,我的操作和显示结果是这样的:
1.按Command1后,在text1显示读入的文本串,(无换行,不知你是不是)
2.先text3中输入20,按Command2,在text2显示跟text1一样的内容,text3还是20,txet4空空
我不懂问题在哪了,因为很多语句读不懂啊,能不能加多一点注释,我是个新手,基础较差。
你操作的结果应该不一样吧?那些控件的属性不用设置吧?

[此贴子已经被作者于2007-6-7 16:34:38编辑过]

2007-06-07 16:05
快速回复:[求助]怎么读取txt文件并进行计算?
数据加载中...
 
   



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

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