VB如何显示给文本框自动排版

waaoo 2014-08-28 02:12:57
作用就是把一篇排版很乱的文章按格式重排版

有一个 text1 和一个 command1
text1中的内容是【每段可能相连,也可能每段之间有一个或多个空行】

张三
李四
王五



张三

李四
王五

点击command1后,text1变为

  张三 【全角空格全角空格张三】
【空行】
  李四

  王五

即每段前面加两个全角空格,每段之间加一个空行。我使用了一种代码,但始终有两个问题:
1.每次文章最后总会加一个空行并且加了两个全角空格
2.假如某行中有全角空格组成,那么这全角空格也会被当成一行【就比如上面我点了command1后再接着点,空行就会越来越多】

其实效果就如这个自动排版的网页http://www.pc354.com/soft/paiban.html 中的效果,但网页使用有限制,想改为程序随时可用的。但这个网页中的排版也存在同样的问题:1.每个空行也会加两个全角空格,2.假如最后一行有空行的话,不会删除,也会加上全角空行出来。

谢谢!平常工作需要,常需要排版,通过网页折腾有点麻烦。
...全文
314 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
waaoo 2014-08-29
  • 打赏
  • 举报
回复
引用 10 楼 Tiger_Zhao 的回复:
Check1 是你原先代码里就有的!
嘿嘿,那个check是我在发这贴时临时加的,搞个代码进去了,把这个给忘了,没想到您这么细心,把这个功能也加上了!
Tiger_Zhao 2014-08-29
  • 打赏
  • 举报
回复
Check1 是你原先代码里就有的!
waaoo 2014-08-29
  • 打赏
  • 举报
回复
引用 8 楼 Tiger_Zhao 的回复:
你重新建工程,窗体上只有 Text1、Check1、Command1, 代码只有我3楼的代码,再试试。
哦,不好意思,没注意到里面还用到了个check,加了,完全就是我要的效果,真的是非常感谢您的热情回复!
Tiger_Zhao 2014-08-28
  • 打赏
  • 举报
回复
你重新建工程,窗体上只有 Text1、Check1、Command1,
代码只有我3楼的代码,再试试。
Tiger_Zhao 2014-08-28
  • 打赏
  • 举报
回复
输入
马上就要开学了,我家却招了贼。偷走了笔记本一台,钱包里钱拿走,卡都留下了,还偷了书包。

估计小偷装笔记本电脑,问题是你偷书包就偷书包,还把暑假作业留下。

Check1 选中时,输出
  马上就要开学了,我家却招了贼。偷走了笔记本一台,钱包里钱拿走,卡都留下了,还偷了书包。

  估计小偷装笔记本电脑,问题是你偷书包就偷书包,还把暑假作业留下。

有什么问题?
waaoo 2014-08-28
  • 打赏
  • 举报
回复
引用 5 楼 Tiger_Zhao 的回复:
哪来空行中的空格?
输入什么、输出什么,用代码格式中的“其他”贴出来。


比如有一个文章:用你的代码排出来后是这样
\\\\\\\\\\\\
马上就要开学了,我家却招了贼。偷走了笔记本一台,钱包里钱拿走,卡都留下了,还偷了书包。

估计小偷装笔记本电脑,问题是你偷书包就偷书包,还把暑假作业留下。

\\\\\\\\\\\\
但正常来说,中文每段前面应该要加两个空格的【全角空格】,所以排版应该是下面这样:
\\\\\\\\\\\\
  马上就要开学了,我家却招了贼。偷走了笔记本一台,钱包里钱拿走,卡都留下了,还偷了书包。

  估计小偷装笔记本电脑,问题是你偷书包就偷书包,还把暑假作业留下。

\\\\\\\\\\\\
实际上就是http://www.pc354.com/soft/paiban.html 这个网址排出来的效果,不过这个网址中排的效果存在一个问题,就是每个用来分割的空行上,也加了两个 全角空格,其实是没必要的。
\\\\\\\\\\\\
  马上就要开学了,我家却招了贼。偷走了笔记本一台,钱包里钱拿走,卡都留下了,还偷了书包。
  
  估计小偷装笔记本电脑,问题是你偷书包就偷书包,还把暑假作业留下。

\\\\\\\\\\\\
Tiger_Zhao 2014-08-28
  • 打赏
  • 举报
回复
哪来空行中的空格?
输入什么、输出什么,用代码格式中的“其他”贴出来。
waaoo 2014-08-28
  • 打赏
  • 举报
回复
引用 3 楼 Tiger_Zhao 的回复:
Visual Basic code
谢谢您的回复,不过 这代码最后的排版每段开头没有加两个全角空格,中文排版时,我想在每个文字段前面两个全角空格,而纯粹用来分割两个段之间添加的空行不要加空格。 aa bb 应该是变成   aa 【全角空格全角空格aa】 【空行】   bb 【全角空格全角空格bb】
Tiger_Zhao 2014-08-28
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
On Error Resume Next
Dim a() As String
Dim bHasContext As Boolean '前面是否已经出现了非空行,决定插入空格'
Dim strPrefix As String '行前空格'
Dim i As Long

bHasContext = False
strPrefix = IIf(Check1.Value, "  ", " ")

a = Split(Text1.Text, vbCrLf)
For i = 0 To UBound(a)
a(i) = LTrim$(a(i)) '先去空格'
Next

For i = 0 To UBound(a)
If LenB(a(i)) <> 0 Then '去了空格就可以直接判断空行了'
a(i) = IIf(bHasContext, vbCrLf & vbCrLf, "") & strPrefix & a(i)
bHasContext = True
End If
Next

Text1.Text = Join(a, "") 'Delimiter 无内容,无论拼多少个空行还是没内容'
End Sub
waaoo 2014-08-28
  • 打赏
  • 举报
回复
我的代码很混乱的 ‘text1为正常文本框 'text2为过渡用的文本框 On Error Resume Next Dim a() As String Dim i, j, n Dim k As Boolean, o() As Boolean a = Split(Text1.Text, vbCrLf) k = True Text2.Text = "" ReDim o(UBound(a)) For n = 0 To UBound(a) o(n) = True Next n For i = 0 To UBound(a) k = True If a(i) = "" Then k = False For j = 1 To Len(a(i)) b = b & " " Next j If a(i) = b Then k = False b = "" If k = False Then o(i) = False If i = UBound(a) Then If o(i) = True Then Text2.Text = Text2.Text & a(i) Else If o(i) = True Then Text2.Text = Text2.Text & a(i) & vbCrLf & vbCrLf End If Next i '仅去掉每一行前面的空格 Dim ary() As String Dim i2 As Long ary = Split(Me.Text2.Text, vbCrLf) Text2 = "" For i2 = LBound(ary) To UBound(ary) Text2 = Text2 & LTrim(ary(i2)) & vbCrLf Next '每行加两个汉字全角空格 Dim s As String s = Text2.Text If Check1.Value = 1 Then s = Replace("  " & s, vbLf, vbLf & "  ") '字符串中,是两个空格 Else s = Replace(" " & s, vbLf, vbLf & " ") '字符串中,是两个空格 End If Text1.Text = s
Tiger_Zhao 2014-08-28
  • 打赏
  • 举报
回复
先把你有问题的代码贴出来。
基于.NET Framework2.0 《风越ASP代码生成器 [FireAsp Creator]》是一款采用.Net FrameWork2.0框架,基于Microsoft SQL Server及Microsoft Access数据库的ASP代码生成软件,可快速建立数据信息的:添加、编辑、查看、列表、搜索页面。 01、支持ASP页面在本机自动发布、调试(需安装IIS) 02、支持Microsoft SQL Server及Microsoft Access数据库 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、支持CSS统一设置页面风格 06、支持多种控件输入方式: 文本框 文本域 UBB文本框(支持UBB文本输入) 密码框 隐藏域 日期选择 单选框 复选框 下拉框 多选列表 单选列表 批量上载 上载文件 上载到库 07、支持多种信息显示方式: 显示文字 前20字符 UBB文本 链接文件 文本框 文本域 显示图片 背景声音 视频播放 显示flash 08、支持检测提交字符的最小、最大输入长度、是否空值/唯一值、文本类型:★ 不检测 非特殊字符 仅单词字符 仅单词字符空格 仅26个字母 仅中文字符 仅允许整数 仅允许小数 仅日期/时间 仅日期+时间 仅日期 仅时间 仅允许邮箱 仅允许网址 仅允许IP 仅身份证号 仅国内电话 仅国内手机 09、支持对用户输入内容进行服务器端与客户端JS双重验证,有效防止SQL注入 ★ 10、支持自动生成多组多级的级联下拉框功能,快速建立如:省、市、县/公司、部门、小组等形式下拉框 ★ 11、支持表单提交超过100KB的文本数据 ★ 12、支持多文件上载、修改、删除记录时同步删除文件 13、支持控件名加密,使输入控件的名称与字段名不同,防止他人从客户端HTML中猜解 ★ 14、支持列表、搜索页面对数据记录进行实时排序、修改、批量删除等功能 15、支持表头/单独表格搜索两种布局方式 16、提供多种灵活翻页方案,用户可设置每页记录条数、上/下页、前/后N页、输入数字跳转到指定页面等,提高海量数据翻页速度 17、提供丰富的建站常用VB、JS函数库 ★ 18、更多扩展功能: 添加、修改页面在保存信息前进行预览功能 添加、修改页面提交后自动跳转并刷新列表页 字段描述批量格式化,可从字段名、描述生成,加强英文字符处理 列表、搜索页面隔行颜色、点击变色设置 根据数据库字段允许空值状态自动设置输入检测代码 页面皮肤模板设置,根据网页模板快速生成页面 ★ 设置指定字段在编辑信息时为只读状态 字段需要二次输入(如输入两次密码,以验证其正确性) ★ 在列表中直接批量编辑字段值,便于管理员维护 列表、搜索文件自动读取链接数据表值的实际信息 发送邮件功能,设置字段为邮件对应信息,可发送附件 ★ (繁、简、英)单语言版本 ★ 多语言页面实时翻译功能(默认:繁、简、英,可增加其它语言) ★ 多语言编码支持(GB2312/UTF8) ★ 生成提交校验码图片 ★ 搜索、列表文件以详细列表页(留言板风格)显示 生成权限,限制用户对指定页面的添加、删除、编辑权 将查询结果导出为CSV、HTML、EXCEL文件 ★ 生成不同选择字段的SQL语句 生成数据库字典 ★ 模板代码生成器,可自定义模板、变量生成代码 ★ 19、提供建站常用辅助工具: 屏幕尺 剪切板,保存最近指定次数的历史记录 常用加解密、编解码(DES、MD5、SHA、BASE64) 批量提取文本,支持正则表达式,可将HTML等文件中指定内容存入数据库 批量查找替换,支持正则表达式 批量文件、文件夹改名,支持正则表达式 正则表达式测试器(可设置、保存常用正则表达式) 获取键盘的按键值 网页隐藏资源下载,可下载无法直接得到URL的SWF、图片、音乐等资源 获取汉字的拼音、五笔编码、笔画数、笔顺名、部首等信息,并可进行汉字繁/简体,GB/BIG转换 代码编排器,CSS排版、JS、ASP、HTML注释清理
《风越.Net代码生成器 [FireCode Creator]》是一款采用.Net FrameWork2.0框架、基于多种数据库的程序代码生成软件,可快速建立数据信息的:添加、编辑、查看、列表、搜索功能。默认提供asp、aspx两种代码框架及多个界面设计模板,均可任意修改管理。通过自定义生成程序的界面风格与输出代码,用户可将其扩展为ASPX/ASP/PHP/JSP等各种程序的代码生成器。内置的.net代码框架,能建立C#语言的.net解决方案,可在VS2005中直接编辑,既能帮助.net初学者快速入门,更可最大限度提高.net程序员的代码编写效率。 01、支持生成的ASPX/ASP/PHP/JSP等页面在本机自动发布、调试(需安装IIS或对应WEB服务器) 02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、支持CSS统一设置页面风格 06、支持多种控件输入方式: 文本框 文本域 UBB文本框(支持UBB文本输入) 密码框 隐藏域 日期选择 单选框 复选框 下拉框 多选列表 单选列表 批量上载 上载文件 上载到库 07、支持多种信息显示方式: 显示文字 链接文件 文本框 文本域 显示图片 背景声音 视频播放 显示flash 08、支持检测提交字符的最小、最大输入长度、是否空值/唯一值、文本类型:★ 不检测 非特殊字符 仅单词字符 仅单词字符空格 仅26个字母 仅中文字符 仅允许整数 仅允许小数 仅日期/时间 仅日期+时间 仅日期 仅时间 仅允许邮箱 仅允许网址 仅允许IP 仅身份证号 仅国内电话 仅国内手机 09、支持对用户输入内容进行服务器端与客户端JS双重验证,有效防止SQL注入 ★ 10、支持自动生成多组多级的级联下拉框功能,快速建立如:省、市、县/公司、部门、小组等形式下拉框 ★ 11、支持表单提交超过100KB的文本数据 ★ 12、支持多文件上载、修改、删除记录时同步删除文件 13、支持控件名加密,使输入控件的名称与字段名不同,防止他人从客户端HTML中猜解 ★ 14、支持列表、搜索页面对数据记录进行实时排序、修改、批量删除等功能 15、支持表头/单独表格搜索两种布局方式 16、提供多种灵活翻页方案,用户可设置每页记录条数、上/下页、前/后N页、输入数字跳转到指定页面等,提高海量数据翻页速度 17、提供丰富的建站常用VB、JS函数库 ★ 18、更多扩展功能: 添加、修改页面在保存信息前进行预览功能 添加、修改页面提交后自动跳转并刷新列表页 字段描述批量格式化,可从字段名、描述生成,加强英文字符处理 列表、搜索页面隔行颜色、点击变色设置 根据数据库字段允许空值状态自动设置输入检测代码 页面皮肤模板设置,根据网页模板快速生成页面 ★ 设置指定字段在编辑信息时为只读状态 字段需要二次输入(如输入两次密码,以验证其正确性) ★ 在列表中直接批量编辑字段值,便于管理员维护 列表、搜索文件自动读取链接数据表值的实际信息 发送邮件功能,设置字段为邮件对应信息,可发送附件 ★ (繁、简、英)单语言版本 ★ 多语言页面实时翻译功能(默认:繁、简、英,可增加其它语言) ★ 多语言编码支持(GB2312/UTF8) ★ 生成提交校验码图片 ★ 搜索、列表文件以详细列表页(留言板风格)显示 生成权限,限制用户对指定页面的添加、删除、编辑权 将查询结果导出为CSV、HTML、EXCEL文件 ★ 生成不同选择字段的SQL语句 生成数据库字典 ★ 模板代码生成器,可自定义模板、变量生成代码 ★ 19、提供建站常用辅助工具: 屏幕尺 剪切板,保存最近指定次数的历史记录 常用加解密、编解码(DES、MD5、SHA、BASE64) 批量提取文本,支持正则表达式,可将HTML等文件中指定内容存入数据库 批量查找替换,支持正则表达式 批量文件、文件夹改名,支持正则表达式 正则表达式测试器(可设置、保存常用正则表达式) 获取键盘的按键值 网页隐藏资源下载,可下载无法直接得到URL的SWF、图片、音乐等资源 获取汉字的拼音、五笔编码、笔画数、笔顺名、部首等信息,并可进行汉字繁/简体,GB/BIG转换 代码编排器,CSS排版、JS、ASP、HTML注
《风越代码生成器 [FireCode Creator]》是一款采用.Net FrameWork2.0框架,基于多种数据库的程序代码生成软件,可快速建立数据信息的:添加、编辑、查看、列表、搜索页面。通过界面模板与代码模板管理功能,可自定义生成程序的界面风格与输出代码,将最大限度提高ASPX/ASP/PHP/JSP等各种程序的编写效率。 01、支持生成的ASPX/ASP/PHP/JSP等页面在本机自动发布、调试(需安装IIS或对应WEB服务器) 02、支持Microsoft SQL Server、Microsoft Access、Oracle、MySql、Excel、FoxPro、FoxBase、Text等数据库连接 03、支持从数据表、视图(Access为查询)中读取数据字段 04、支持通过数据表中的组合主键传递参数 05、支持CSS统一设置页面风格 06、支持多种控件输入方式: 文本框 文本域 UBB文本框(支持UBB文本输入) 密码框 隐藏域 日期选择 单选框 复选框 下拉框 多选列表 单选列表 批量上载 上载文件 上载到库 07、支持多种信息显示方式: 显示文字 链接文件 文本框 文本域 显示图片 背景声音 视频播放 显示flash 08、支持检测提交字符的最小、最大输入长度、是否空值/唯一值、文本类型:★ 不检测 非特殊字符 仅单词字符 仅单词字符空格 仅26个字母 仅中文字符 仅允许整数 仅允许小数 仅日期/时间 仅日期+时间 仅日期 仅时间 仅允许邮箱 仅允许网址 仅允许IP 仅身份证号 仅国内电话 仅国内手机 09、支持对用户输入内容进行服务器端与客户端JS双重验证,有效防止SQL注入 ★ 10、支持自动生成多组多级的级联下拉框功能,快速建立如:省、市、县/公司、部门、小组等形式下拉框 ★ 11、支持表单提交超过100KB的文本数据 ★ 12、支持多文件上载、修改、删除记录时同步删除文件 13、支持控件名加密,使输入控件的名称与字段名不同,防止他人从客户端HTML中猜解 ★ 14、支持列表、搜索页面对数据记录进行实时排序、修改、批量删除等功能 15、支持表头/单独表格搜索两种布局方式 16、提供多种灵活翻页方案,用户可设置每页记录条数、上/下页、前/后N页、输入数字跳转到指定页面等,提高海量数据翻页速度 17、提供丰富的建站常用VB、JS函数库 ★ 18、更多扩展功能: 添加、修改页面在保存信息前进行预览功能 添加、修改页面提交后自动跳转并刷新列表页 字段描述批量格式化,可从字段名、描述生成,加强英文字符处理 列表、搜索页面隔行颜色、点击变色设置 根据数据库字段允许空值状态自动设置输入检测代码 页面皮肤模板设置,根据网页模板快速生成页面 ★ 设置指定字段在编辑信息时为只读状态 字段需要二次输入(如输入两次密码,以验证其正确性) ★ 在列表中直接批量编辑字段值,便于管理员维护 列表、搜索文件自动读取链接数据表值的实际信息 发送邮件功能,设置字段为邮件对应信息,可发送附件 ★ (繁、简、英)单语言版本 ★ 多语言页面实时翻译功能(默认:繁、简、英,可增加其它语言) ★ 多语言编码支持(GB2312/UTF8) ★ 生成提交校验码图片 ★ 搜索、列表文件以详细列表页(留言板风格)显示 生成权限,限制用户对指定页面的添加、删除、编辑权 将查询结果导出为CSV、HTML、EXCEL文件 ★ 生成不同选择字段的SQL语句 生成数据库字典 ★ 模板代码生成器,可自定义模板、变量生成代码 ★ 19、提供建站常用辅助工具: 屏幕尺 剪切板,保存最近指定次数的历史记录 常用加解密、编解码(DES、MD5、SHA、BASE64) 批量提取文本,支持正则表达式,可将HTML等文件中指定内容存入数据库 批量查找替换,支持正则表达式 批量文件、文件夹改名,支持正则表达式 正则表达式测试器(可设置、保存常用正则表达式) 获取键盘的按键值 网页隐藏资源下载,可下载无法直接得到URL的SWF、图片、音乐等资源 获取汉字的拼音、五笔编码、笔画数、笔顺名、部首等信息,并可进行汉字繁/简体,GB/BIG转换 代码编排器,CSS排版、JS、ASP、HTML注释清理

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧