真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net文字識別的簡單介紹

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

Option?Explicit

十余年的古冶網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整古冶建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“古冶網(wǎng)站設(shè)計”,“古冶網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

'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這幾種編碼文本

'##?編譯預(yù)處理常數(shù)?#########################################

'==?全局常數(shù)?===============================================

'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,表示使用系統(tǒng)當前代碼頁??梢岳迷搮?shù)實現(xiàn)讀取其他代碼編碼的文本,比如想在?簡體中文平臺下?讀取?繁體中文平臺生成的txt,就將它設(shè)為950

Public?UEFCodePage?As?Long

'判斷BOM

'返回值:BOM所占字節(jié)

'dwFirst:[in]文件最開始的4個字節(jié)

'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所占字節(jié)

'fmt:[in]編碼類型

'dwFirst:[out]文件最開始的4個字節(jié)

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

'關(guān)閉文件

Call?CloseHandle(hFile)

End?Function

'讀取文本文件

'返回值:讀取的文本。返回vbNullString表示文件無法打開

'FileName:[in]文件名

'fmt:[in,out]使用何種文本編碼格式來讀取文本。為UEF_Auto時表示自動判斷,且在fmt參數(shù)返回文本所用編碼格式

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)

'恢復(fù)文件指針

If?fmt?=?UEF_Auto?Then?'自動判斷

fmt?=?CurFmt

'cbBOM?=?cbBOM

Else?'手動設(shè)置編碼

If?fmt?=?CurFmt?Then?'若編碼相同,則忽略BOM標記

'cbBOM?=?cbBOM

Else?'編碼不同,那么都是數(shù)據(jù)

cbBOM?=?0

End?If

End?If

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

cbTextData?=?nFileSize?-?cbBOM

'讀取數(shù)據(jù)

UEFLoadTextFile?=?""

Select?Case?fmt

Case?UEF_ANSI,?UEF_UTF8

'判斷應(yīng)使用的CodePage

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

VB.net如何提取textbox中部分內(nèi)容?(需要提取的文本是固定位置的)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

TextBox2.Text = Mid(TextBox1.Text, 11, 2) ’第十一位開始算起的2個字符

End Sub

VB窗口截圖并將圖片上文字識別成文字。

為何要采用截圖功能去取窗口的句柄呢,可以用窗口標題去取句柄呀。

vb.net怎么做中文語音識別程序

首先添加一個系統(tǒng)的語音COM組件的引用microsoft speech object library然后在程序中聲明一個語音類dim RC As SpeechLib.SpSharedRecoContext這個類有一些事件,如果你要處理它的一些事件,可以用withevent來聲明然后在窗體LOAD事件或你需要的地方先創(chuàng)建一個實例RC = New SpeechLib.SpSharedRecoContext當一個RC被實例化后,系統(tǒng)就會運行語音識別程序.前提是你的系統(tǒng)已經(jīng)正確安裝這個功能.一般默認就已經(jīng)安裝好的.其次提醒一下,WIN7的語音識別比XP的好N倍.從閱讀到偵聽都好很多.然后就可以在你需要閱讀的地方使用RC.Voice.Speak("hello 我", 11)11那里是一些枚舉,用來標識系統(tǒng)用前臺還是后臺或其他方式來閱讀文字,簡單的來說就是閱讀的時候不會卡住你的程序.你可以選其他的枚舉來試試作用.以上為閱讀部分.如果需要程序聽你說話,則需要聲明一個偵聽類dim RG As SpeechLib.ISpeechRecoGrammar在初始化時將之與上面的RC建立關(guān)系,此時則必須要用withevent來聲明上面的RC,因為涉及電腦聽到你的語音后,會觸發(fā)一個事件,并將聽到的內(nèi)容傳遞到該事件.其次,要讓系統(tǒng)聽到的解析為命令,就必須準備一個XML結(jié)構(gòu)的文件來保存那些固定的命令.如果電腦在XML文件中找不到那些固定命令或同時不屬于系統(tǒng)命令,電腦將會將其解釋為聽寫.RG = RC.CreateGrammar '(0)

RG.CmdLoadFromFile("聽到.xml", SpeechLib.SpeechLoadOption.SLODynamic)

RG.CmdSetRuleIdState(0, SpeechLib.SpeechRuleState.SGDSActive)然后寫一個過程來處理聽到的事件Private Sub 聽到命令(ByVal StreamNumber As Integer, ByVal StreamPosition As Object, ByVal RecognitionType As SpeechLib.SpeechRecognitionType, ByVal 話語 As SpeechLib.ISpeechRecoResult) Handles RC.Recognition RC.Voice.Speak("我聽到了" 話語.PhraseInfo.GetText, 11)End Sub以上為偵聽部分.下面列一個XML的例文?xml version="1.0" encoding="gb2312"?

GRAMMAR LANGID="804"

RULE NAME="命令" TOPLEVEL="ACTIVE"

L

P打開播放器

P上我的QQ

P關(guān)閉你自己 /L

/RULE

/GRAMMAR要讓系統(tǒng)正確地偵聽到你說的話,前提你必須運行語音識別程序并讓其激活到"正在聆聽"狀態(tài).并且你必須有一個能正常使用的話筒而且保證話筒已經(jīng)打開.(廢話-_-|||)以上就是用VB.NET語音識別的最基本的一些操作.希望對你有幫助.更深入的內(nèi)容有興趣的話可以和我一起研究.

vb.net怎樣定義定長字符串?急?。。。。?/h2>

摘自幫助文檔,我也不是很理解

估計只有在Visual Basic 文件輸入和輸出才有用

示例

Visual Basic 復(fù)制代碼

Structure Person

Public ID As Integer

Public MonthlySalary As Decimal

Public LastReviewDate As Long

VBFixedString(15) Public FirstName As String

VBFixedString(15) Public LastName As String

VBFixedString(15) Public Title As String

VBFixedString(150) Public ReviewComments As String

End Structure

注意

VBFixedStringAttribute 是信息性的屬性,不能用于將可變長度字符串轉(zhuǎn)換為固定長度字符串。此屬性的作用是修改那些識別 VBFixedStringAttribute 的方法或 API 調(diào)用(如 Len 和 FilePut 函數(shù))使用結(jié)構(gòu)中的字符串以及非局部變量的方式。請記住,此屬性不會更改字符串本身的實際長度。

備注

默認情況下,Visual Basic 字符串為可變長度的字符串。在使用 Visual Basic 文件輸入和輸出函數(shù)(如需要固定長度字符串的 FileGet 和 FilePut)時,該屬性非常有用。

注意

VBFixedStringAttribute 屬性以字節(jié)而不是字符為單位指定字符串長度。


網(wǎng)頁標題:vb.net文字識別的簡單介紹
本文網(wǎng)址:http://weahome.cn/article/doopjeh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部