成都网站建设设计

将想法与焦点和您一起共享

包含vb.net文本格式的词条

VB.NET如何获取任何格式文件的文字信息

Option Explicit

在株洲等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、成都网站设计、成都外贸网站建设 网站设计制作按需求定制开发,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销推广,成都外贸网站建设公司,株洲网站建设费用合理。

'mTextUTF.bas

'模块:UTF文本文件访问

'作者:zyl910

'版本:1.0

'日期:2006-1-23

'== 说明 ===================================================

'支持Unicode编码的文本文件读写。暂时支持ANSI、UTF-8、UTF-16LE、UTF-16BE这几种编码文本

'== 更新记录 ===============================================

'[V1.0] 2006-1-23

'1.支持最常见的ANSI、UTF-8、UTF-16LE、UTF-16BE这几种编码文本

'## 编译预处理常数 #########################################

'== 全局常数 ===============================================

'IncludeAPILib:引用了API库,此时不需要手动写API声明

'## API ####################################################

#If IncludeAPILib = 0 Then

'== File ===================================================

Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Long) As Long

Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Long) As Long

Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long

Private Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long

Private Const INVALID_HANDLE_VALUE = -1

Private Const GENERIC_READ = H80000000

Private Const GENERIC_WRITE = H40000000

Private Const FILE_SHARE_READ = H1

Private Const FILE_SHARE_WRITE = H2

Private Const Create_NEW = 1

Private Const Create_ALWAYS = 2

Private Const OPEN_EXISTING = 3

Private Const OPEN_ALWAYS = 4

Private Const TRUNCATE_EXISTING = 5

Private Const FILE_ATTRIBUTE_NORMAL = H80

Private Const FILE_BEGIN = 0

Private Const FILE_CURRENT = 1

Private Const FILE_END = 2

'== Unicode ================================================

Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByRef lpWideCharStr As Any, ByVal cchWideChar As Long) As Long

Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByRef lpWideCharStr As Any, ByVal cchWideChar As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByRef lpDefaultChar As Any, ByVal lpUsedDefaultChar As Long) As Long

Private Const CP_UTF8 As Long = 65001

#End If

'###########################################################

'Unicode编码格式

Public Enum UnicodeEncodeFormat

UEF_ANSI = 0 'ANSI+DBCS

UEF_UTF8 'UTF-8

UEF_UTF16LE 'UTF-16LE

UEF_UTF16BE 'UTF-16BE

UEF_UTF32LE 'UTF-32LE

UEF_UTF32BE 'UTF-32BE

UEF_Auto = -1 '自动识别编码

'隐藏项目

[_UEF_Min] = UEF_ANSI

[_UEF_Max] = UEF_UTF32BE

End Enum

'ANSI+DBCS方式的文本所使用的代码页。默认为0,表示使用系统当前代码页。可以利用该参数实现读取其他代码编码的文本,比如想在 简体中文平台下 读取 繁体中文平台生成的txt,就将它设为950

Public UEFCodePage As Long

'判断BOM

'返回值:BOM所占字节

'dwFirst:[in]文件最开始的4个字节

'fmt:[out]返回编码类型

Public Function UEFCheckBOM(ByVal dwFirst As Long, ByRef fmt As UnicodeEncodeFormat) As Long

If dwFirst = HFEFF Then

fmt = UEF_UTF32LE

UEFCheckBOM = 4

ElseIf dwFirst = HFFFE0000 Then

fmt = UEF_UTF32BE

UEFCheckBOM = 4

ElseIf (dwFirst And HFFFF) = HFEFF Then

fmt = UEF_UTF16LE

UEFCheckBOM = 2

ElseIf (dwFirst And HFFFF) = HFFFE Then

fmt = UEF_UTF16BE

UEFCheckBOM = 2

ElseIf (dwFirst And HFFFFFF) = HBFBBEF Then

fmt = UEF_UTF8

UEFCheckBOM = 3

Else

fmt = UEF_ANSI

UEFCheckBOM = 0

End If

End Function

'生成BOM

'返回值:BOM所占字节

'fmt:[in]编码类型

'dwFirst:[out]文件最开始的4个字节

Public Function UEFMakeBOM(ByVal fmt As UnicodeEncodeFormat, ByRef dwFirst As Long) As Long

Select Case fmt

Case UEF_UTF8

dwFirst = HBFBBEF

UEFMakeBOM = 3

Case UEF_UTF16LE

dwFirst = HFEFF

UEFMakeBOM = 2

Case UEF_UTF16BE

dwFirst = HFFFE

UEFMakeBOM = 2

Case UEF_UTF32LE

dwFirst = HFEFF

UEFMakeBOM = 4

Case UEF_UTF32BE

dwFirst = HFFFE0000

UEFMakeBOM = 4

Case Else

dwFirst = 0

UEFMakeBOM = 0

End Select

End Function

'判断文本文件的编码类型

'返回值:编码类型。文件无法打开时,返回UEF_Auto

'FileName:文件名

Public Function UEFCheckTextFileFormat(ByVal FileName As String) As UnicodeEncodeFormat

Dim hFile As Long

Dim dwFirst As Long

Dim nNumRead As Long

'打开文件

hFile = CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, ByVal 0)

If INVALID_HANDLE_VALUE = hFile Then '文件无法打开

UEFCheckTextFileFormat = UEF_Auto

Exit Function

End If

'判断BOM

dwFirst = 0

Call ReadFile(hFile, dwFirst, 4, nNumRead, ByVal 0)

nNumRead = UEFCheckBOM(dwFirst, UEFCheckTextFileFormat)

'Debug.Print nNumRead

'关闭文件

Call CloseHandle(hFile)

End Function

'读取文本文件

'返回值:读取的文本。返回vbNullString表示文件无法打开

'FileName:[in]文件名

'fmt:[in,out]使用何种文本编码格式来读取文本。为UEF_Auto时表示自动判断,且在fmt参数返回文本所用编码格式

Public Function UEFLoadTextFile(ByVal FileName As String, Optional ByRef fmt As UnicodeEncodeFormat = UEF_Auto) As String

Dim hFile As Long

Dim nFileSize As Long

Dim nNumRead As Long

Dim dwFirst As Long

Dim CurFmt As UnicodeEncodeFormat

Dim cbBOM As Long

Dim cbTextData As Long

Dim CurCP As Long

Dim byBuf() As Byte

Dim cchStr As Long

Dim I As Long

Dim byTemp As Byte

'判断fmt范围

If fmt  UEF_Auto Then

If fmt  [_UEF_Min] Or fmt  [_UEF_Max] Then

GoTo FunEnd

End If

End If

'打开文件

hFile = CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, ByVal 0)

If INVALID_HANDLE_VALUE = hFile Then '文件无法打开

GoTo FunEnd

End If

'判断文件大小

nFileSize = GetFileSize(hFile, nNumRead)

If nNumRead  0 Then '超过4GB

GoTo FreeHandle

End If

If nFileSize  0 Then '超过2GB

GoTo FreeHandle

End If

'判断BOM

dwFirst = 0

Call ReadFile(hFile, dwFirst, 4, nNumRead, ByVal 0)

cbBOM = UEFCheckBOM(dwFirst, CurFmt)

'恢复文件指针

If fmt = UEF_Auto Then '自动判断

fmt = CurFmt

'cbBOM = cbBOM

Else '手动设置编码

If fmt = CurFmt Then '若编码相同,则忽略BOM标记

'cbBOM = cbBOM

Else '编码不同,那么都是数据

cbBOM = 0

End If

End If

Call SetFilePointer(hFile, cbBOM, ByVal 0, FILE_BEGIN)

cbTextData = nFileSize - cbBOM

'读取数据

UEFLoadTextFile = ""

Select Case fmt

Case UEF_ANSI, UEF_UTF8

'判断应使用的CodePage

CurCP = IIf(fmt = UEF_UTF8, CP_UTF8, UEFCodePage)

vb.net如何在读取txt文本时,保留原有格式?(空格、换行符)

'教你一个高招(VB.NET 4)

'因为Environment.NewLine.ToString是换行符,所以:

'这是TextBox控件

TextBox1.Text = "字符串" Environment.NewLine.ToString

'这是ListBox1控件

ListBox1.Itmes.add("字符串" Environment.NewLine.ToString)

VB.NET文本框中的文本格式进行相应的设置

太晚了,想不出什么好方法了。

发上来看看吧。

首先建立一个TextBox,我这里名字为TextBox2

然后放一个groupbox,在里头放两个Checkbox,checkbox1为粗体,checkbox2为斜体。

代码:

Dim Bold As Boolean

Dim Italic As Boolean

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged

If CheckBox1.Checked Then

Bold = True

If Italic Then

TextBox2.Font = New Font(TextBox2.Font, FontStyle.Bold Or FontStyle.Italic)

Else

TextBox2.Font = New Font(TextBox2.Font, FontStyle.Bold)

End If

Else

Bold = False

If Italic Then

TextBox2.Font = New Font(TextBox2.Font, FontStyle.Italic)

Else

TextBox2.Font = New Font(TextBox2.Font, 0)

End If

End If

End Sub

Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged

If CheckBox2.Checked Then

Italic = True

If Bold Then

TextBox2.Font = New Font(TextBox2.Font, FontStyle.Italic Or FontStyle.Bold)

Else

TextBox2.Font = New Font(TextBox2.Font, FontStyle.Italic)

End If

Else

Italic = False

If Bold Then

TextBox2.Font = New Font(TextBox2.Font, FontStyle.Bold)

Else

TextBox2.Font = New Font(TextBox2.Font, 0)

End If

End If

End Sub

可以等等别人回答,看看有没有更好的方法。

vb.net都可以读取哪些格式的文件?

基本都能读取,文本类型的完全没问题,高级文本比如DOC等文档需要一些控件、算法支持。理论上来说全都支持,但是如何访问就要看技术。参数等信息一般保存在配置文件、XML文件、注册表中 追问: 配置文件是什么格式的文件 回答: 是以INI为后缀名,但是是TXT 文件格式 ,文 本格 式,可以用记事本打开。于普通文本格式不同的是,INI里面的信息都是有一定规律的存放。便于再次读写

VB.net 读取文本文件?

1、实现上传按钮方法代码。

2、判断图片对象是否为空代码。

3、取得数据库字段 dt.Rows(0)("Pic")方法代码。

4、字节数组转换为Image类型方法代码。

5、处理SQL中操作Image类型方法代码。

6、实现的上传结果。

VB.net每种数据类型特点?

VB.NET数据类型VB.NET中有12种不同的数据类型,可以分成三类:数值类型、文本类型和混合类型。数值类型是VB.NET数据类型的主要类型,共7种。数值类型的数据类型见下表。 数据类型表示方式取 值 范 围说 明整型Integer–2147483648~2147483647用于表示简单整数字节型Byte0~255用于简单算术运算。由于这个类型的变量可以在一个字节中存储,所以运算速度最快短整型Short–32768~32767是整型的一种形式,相对表示范围较小长整型Long–9223372036854775808~9223372036854775807是整型的一种形式,相对表示范围较大单精

度型Single–3.402823E38~–1.401298E-45(对于负数)和1.401298E-45~3.402823E38(对于正数)用于存放单精度浮点数双精

度型Double–1.79869313486232E308~–4.94065645841247E-324(对于负数)和4.94065645841247E-324~1.79869313486232E308(对于正数)用于存放双精度浮点数小数Decimal当小数位为0的时候,为–79228162514264337593543950335~

79228162514264337593543950335;当小数位为28的时候,为–7.9228162514264337593543950335~

7.9228162514264337593543950335常用于存储货币值 数值类型的数据类型 用于存放文本的数据类型有两个。文本类型的VB.NET数据类型见下表。 数 据 类 型表 示 方 式说 明字符串型String用于存放任何形式的字符串,包括一个字符或者多行字符字符型Char用于存放一个字符,它以0~65535之间数字的形式存储文本类型的数据类型 其中需要说明的是: (1) 对于String类型,可以存放任何形式的字符串,它可以是纯粹的文本,也可以是文本和数字的组合或者是数字、日期等。例如"This is a book. "和"12345"都是字符串。对于字符串类型的数据,可以进行相关的字符串操作,例如连接、截断等。 (2) 对于Char类型,可以存储的只是一个字符,注意,这个字符的存储编码必需是一个数字。在计算机系统中,可以显示很多符号(不仅仅是英文字母),为了能够正确地显示,国际上有通用的标准(例如Unicode编码),为每个字符设定了一个标准的数值来表示这个字符。其余的数据类型还有:Date数据类型、布尔数据类型和Object数据类型,其说明见下表。 数 据 类 型表 示 方 式说 明日期型Date必须用mm/dd/yyyy的格式表示,也可以存储时间(可以存储00:00:00~23:59:59之间的任何时间)布尔型Boolean取值为True和False对象型Object 其他数据类型 其中需要说明的是:在VB.NET中,对于Boolean类型的数据,当需要把布尔类型的值转换为数值类型的时候,会把True当成1来处理,把False当作0来处理。当需要把VB.NET数值类型的值转换为布尔类型的时候,会把0转换为False,而把其他的非0数值转换为True。


名称栏目:包含vb.net文本格式的词条
转载源于:http://chengdu.cdxwcx.cn/article/dodijgd.html