| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 166 人关注过本帖
标题:VB读取txt中的文章段落 显示在 text1里
只看楼主 加入收藏
tieguanyin
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-1-7
结帖率:0
  已结贴   问题点数:20  回复次数:4   
VB读取txt中的文章段落 显示在 text1里
VB读取txt中的文章段落 显示在 text1里
提前已经准备好了文章 每篇文章都有数量不等的段落,特点就是每个段落之间都有1-2的空行,(如果只能1个空行才能实现也可以 我手动改txt倒也行)我需要 点击 按钮 就从文本中读取 随机3个段落 显示在 text1 和text2,text3里面注意 文本里可能有几百个段落 不一定的
附件: 您没有浏览附件的权限,请 登录注册
2019-01-07 13:35
wds1
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:33
帖 子:342
专家分:1799
注 册:2016-3-10
  得分:10 
给你个思路。
1、把文章读取到内存A1,A1数组为vbcrlf
Public Sub Load_Txt(ByVal Txt_Filename, A1)
  Dim by As String
  Open Txt_Filename For Binary As #1
  by = Space(LOF(1))
  Get #2, , by
  A1 = Split(by, vbCrLf)
  DoEvents
  Close #1
End Sub
2、转换为不空段落数组A2
dim a2
index1=1
redim a2(1)
for i= 0 to ubound(a1)
 if a1(i)<>"" then
   a2(0)=index1'a2(0)记录不空段落总数,a2(1-index1)记录对应的index1个段落
   redim preserve a2(index1)   
   a2(index1)=index1
   index1=index1+1
 end if  
next
3、生成1-index之间的3个不同随机数
Randomize
for i=1 to 3
  rnd1=int(rnd(0)*index1+0.005)'产生1-index之间的随机数
  temp=a2(index1):a2(index1)=a2(rend1):a2(rnd1)=temp:将产生的随机数放到最后,为下次index-1个随机数不重复做准备
  text1(i)=a2(index1)'text1(1-3)为需要随机显示的3个不同段落  
  index=index-1
next
2019-01-07 14:41
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:233
帖 子:4343
专家分:26502
注 册:2008-10-15
  得分:10 
Public Sub Load_Txt(ByVal Txt_Filename, A1)
  Dim by As String
  Open Txt_Filename For Binary As #1
  by = Space(LOF(1))
  Get #2, , by
  A1 = Split(by, vbCrLf)
  DoEvents
  Close #1
End Sub

在这句  A1 = Split(by, vbCrLf) 之前,加几个处理命令
by = Replace(by, vbCrLf & vbCrLf, vbCrLf)       '把二个段落标记换成一个

懒的计算最多有几个空行,那就把这行命令到这里写上几遍,如写三遍,可以干掉最多连续8个空段。

去掉了空段后,直接就分解得数组,可以不再判断是否空段,然后取内容。





[此贴子已经被作者于2019-1-7 17:08编辑过]


授人于鱼,不如授人于渔
早已停用QQ了
2019-01-07 17:07
tieguanyin
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-1-7
  得分:0 
回复 2楼 wds1
已经实现了 谢谢你
2019-01-07 21:05
tieguanyin
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-1-7
  得分:0 
回复 3楼 风吹过b
已经搞定了谢谢你
2019-01-07 21:05







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

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