查看: 1779|回复: 8

用vb编的大文本划分小文本地工具

  [复制链接]
梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
发表于 2009-1-4 04:30:24 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
http://rpg.blue/upload_program/d/sizz123_小说分解工具 sizz123_111443859.rar


工具名称:没有想好
作用:将一个大文件,按每30行,划分成若干个小文件
使用方法:填写文件的完整路径,然后按分解按钮,就会在D:\cs目的下建立小文件;由于程序只是给自己方便的,所以小文件直接用数字代替。

比如:一个大文件有90行字,这个程序就把这个大文件划分成 3个30行的小文本

实际作用:解决手机阅读
    我的手机可以读小说(txt),特别是冬天窝在暖和的被褥中读,那可真是舒服啊。但是功能不完善,没有直接跳到某一页的能力--- 一本书100页,假如退出后,如果接着读,就要把以前的翻阅一次后,才能从上次的部分继续读,所以相当麻烦。
    解决这个问题,是把大文件分成若干个小文件;比如:分成了1,2,3,4 4个小文件,读完了1后,就可以直接选择2号文件进行阅读,而不必把读过的重新翻阅一次。
   但是,“把大文件分成若干个小文件”,也是很麻烦的-----新建立、保存、复制、粘贴,这个过程要重复好多次。有没有办法,让这个过程一次性就完成呢?这就是这个程序的目的
============================================================================
程序的确可以解决问题,但目前还不完善
1,必须手动填写文件地完整路径
2,只能分析txt文件(以我目前的知识还无法分析其他文件)
============================================================================
下面把源程序贴出来,想让大家帮下忙
   Dim fso As New FileSystemObject
   Dim a, b As Integer '定义文本序号
  Private Sub Command1_Click()
'检测文件存在
  If fso.FolderExists("D:\cs") Then
  Else
     fso.CreateFolder ("D:\cs")
  End If
  if text1.text="" then '判断填写
     msgbox "you havn't input url" '如果没有填写
  else '如果填写了
  Set 提取址 = fso.OpenTextFile(Text1.Text) '变量设置
  提取址.ReadAll '读全文本,让指针指向最后一行,这样就可以获得文本总行数
  文本总行数 = 提取址.Line '总共有多少行
  要建立的文本数 = 文本总行数 / 30 '每30行建立一个小文本
  提取址.Close '关闭文本
  Set 提取址 = fso.OpenTextFile(Text1.Text) '重新开启,让指针指向第一行
  '创建并写入

  For b = 0 To 要建立的文本数  '
  For a = 0 To 30 '把30行写入文本
  Open ("D:\cs\" + Str(b) + ".txt") For Append As #1  '把读到的写到文本中
  Print #1, 提取址.ReadLine '这个类型的函数,是自动换行的
  Close #1
  Next
  Next
End Sub
=======================================================================
'  先看看 For b = 0 To 要建立的文本数 和 ("D:\cs\" + Str(b) + ".txt") 这两句
' b表示文件名称(为了图简便,我直接用数字代替),这个循环就表示“执行这个循环过程后,文件名称就改变”
'  2,然后看a = 0 To 30 这个循环
''    表示把从某一行开始,往后读30行,并把这30行的内容写入文本中
'   当30行写完后,循环结束,然后改变文件名称b,继续30行写入地循环
===========================================================================
梦石
0
星屑
50
在线时间
7 小时
注册时间
2006-1-17
回帖
278
发表于 2009-1-4 08:11:04 | 显示全部楼层
喂,我说蓝猫神阁下,

为啥每次你发的东西偶都不知道是啥?{/hx}
偶就是喵呜。=v= 喵呜最近8乖了...
回复

使用道具 举报

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
 楼主| 发表于 2009-1-4 08:39:43 | 显示全部楼层
以下引用喵呜于2009-1-4 0:11:04的发言:

喂,我说蓝猫神阁下,

为啥每次你发的东西偶都不知道是啥?


就是把一个txt文件,按照行数分解成若干个小的txt----比如 一个txt有90行,按照每30行分,
就会分成3个小的txt.
  最近迷上了用手机读小说,于是就写了这个文本分解程序
  只是为了自己读手机小说而写的程序---或者说,这只是针对特定需求而写的程序
不过,bluecat这个代号,我已经把它遗忘在记忆的深处了
回复

使用道具 举报

匿·蹤

梦石
0
星屑
65
在线时间
99 小时
注册时间
2006-3-19
回帖
404
发表于 2009-1-4 08:42:24 | 显示全部楼层
呃……为什么用FSO呢?……

为什么不直接Open文件呢?……

Open文件可以用二进制流来操作啊……那么就可以有多种的选择了……
卐忍 → 解忍 → 元忍 → 隐忍 → 卍忍 → 匿踪(最终)
完全退步到了卐忍阶段
回复

使用道具 举报

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
 楼主| 发表于 2009-1-4 08:48:02 | 显示全部楼层
以下引用OCTSJimmy于2009-1-4 0:42:24的发言:
呃……为什么用FSO呢?……

为什么不直接Open文件呢?……

   还没有那方面的知识。你说的是分析word的doc文件吗?如果可以的话,能否举例?
  
回复

使用道具 举报

梦石
0
星屑
80
在线时间
386 小时
注册时间
2007-7-27
回帖
4075

开拓者

发表于 2009-1-4 22:36:58 | 显示全部楼层
分析doc微软不是给了接口么……
吸吸
回复

使用道具 举报

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
 楼主| 发表于 2009-1-4 23:03:16 | 显示全部楼层
以下引用trentswd于2009-1-4 14:36:58的发言:

分析doc微软不是给了接口么……


怎么一说接口,我就感觉很复杂。
回复

使用道具 举报

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
回帖
6005

烫烫烫开拓者

发表于 2009-1-6 04:09:16 | 显示全部楼层
你好无聊....
open Url for input as #1
b  =  ""
while not eof(1)
  Line input #1,a
  b= a & vbnewline
wend
b= mid(b,1,len(b)-1)
close #1
'-1还是-2忘了
哎呀,蛋疼什么的最有爱了
回复

使用道具 举报

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
 楼主| 发表于 2009-1-6 04:51:30 | 显示全部楼层
  
以下引用yangff于2009-1-5 20:09:16的发言:

你好无聊....
open Url for input as #1
b  =  ""
while not eof(1)
Line input #1,a
b= a & vbnewline
wend
b= mid(b,1,len(b)-1)
close #1
'-1还是-2忘了
[本贴由作者于 2009-1-5 20:09:29 最后编辑]

   这几天我是很无聊。你的代码真是简洁啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部