Подключение "хитрой" DLL к проекту - VB
Формулировка задачи:
Всем привет!
Нашел тему в соседней ветке (Как автоматически определить кодировку при открытии текстового файла?)
листинг правда для NET
Пробовал подключать библиотеку
.
Есть решение?
Листинг программы
- Function GetStreamReader(ByVal path) As StreamReader
- Dim stream As FileStream = Nothing
- Try
- stream = File.OpenRead(path)
- Dim fileEncoding As Encoding = Encoding.UTF8
- Dim detector As New CharsetDetector
- detector.Feed(stream)
- detector.DataEnd()
- If detector.Charset IsNot Nothing Then
- fileEncoding = Encoding.GetEncoding(detector.Charset)
- End If
- stream.Position = 0
- Return New StreamReader(stream, fileEncoding)
- Catch
- If stream IsNot Nothing Then stream.Close()
- Throw
- End Try
- End Function
ude
через референс, фонарь ->"Can't add a reference to specified file"
/ Пробовал просто закидывть DLL в папку с проектом.. ругается на
Листинг программы
- Dim detector As New CharsetDetector
Решение задачи: «Подключение "хитрой" DLL к проекту»
textual
Листинг программы
- Option Explicit
- Private Const IS_TEXT_UNICODE_ASCII16 = &H1
- Private Const IS_TEXT_UNICODE_CONTROLS = &H4
- Private Const IS_TEXT_UNICODE_DBCS_LEADBYTE = &H400
- Private Const IS_TEXT_UNICODE_ILLEGAL_CHARS = &H100
- Private Const IS_TEXT_UNICODE_NOT_ASCII_MASK = &HF000
- Private Const IS_TEXT_UNICODE_NOT_UNICODE_MASK = &HF00
- Private Const IS_TEXT_UNICODE_NULL_BYTES = &H1000
- Private Const IS_TEXT_UNICODE_ODD_LENGTH = &H200
- Private Const IS_TEXT_UNICODE_REVERSE_ASCII16 = &H10
- Private Const IS_TEXT_UNICODE_REVERSE_CONTROLS = &H40
- Private Const IS_TEXT_UNICODE_REVERSE_MASK = &HF0
- Private Const IS_TEXT_UNICODE_REVERSE_SIGNATURE = &H80
- Private Const IS_TEXT_UNICODE_REVERSE_STATISTICS = &H20
- Private Const IS_TEXT_UNICODE_SIGNATURE = &H8
- Private Const IS_TEXT_UNICODE_STATISTICS = &H2
- Private Const IS_TEXT_UNICODE_UNICODE_MASK = &HF
- Private Declare Function IsTextUnicode Lib "advapi32" (ByVal lpBuffer As String, ByVal cb As Long, lpi As Long) As Long
- Private Declare Function IsTextPointerUnicode Lib "advapi32" Alias "IsTextUnicode" (ByVal lpBuffer As Long, ByVal cb As Long, lpi As Long) As Long
- Private Sub Form_Load()
- Dim MyString As String
- MyString = "Hello"
- 'This example shows the difference between passing a string as 'String' to an API function
- 'or passing a string as 'Long'.
- 'If you pass a string as 'String', VB will convert the unicode string to ANSI first.
- Debug.Print "Is the parameter (passed as String) unicode? " & CBool(IsTextUnicode(MyString, Len(MyString), IS_TEXT_UNICODE_STATISTICS))
- Debug.Print "Is the parameter (passed as Long) unicode? " & CBool(IsTextPointerUnicode(StrPtr(MyString), Len(MyString), IS_TEXT_UNICODE_STATISTICS))
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д