Подключение "хитрой" DLL к проекту - VB

Узнай цену своей работы

Формулировка задачи:

Всем привет! Нашел тему в соседней ветке (Как автоматически определить кодировку при открытии текстового файла?) листинг правда для NET
Листинг программы
  1. Function GetStreamReader(ByVal path) As StreamReader
  2. Dim stream As FileStream = Nothing
  3. Try
  4. stream = File.OpenRead(path)
  5. Dim fileEncoding As Encoding = Encoding.UTF8
  6. Dim detector As New CharsetDetector
  7. detector.Feed(stream)
  8. detector.DataEnd()
  9. If detector.Charset IsNot Nothing Then
  10. fileEncoding = Encoding.GetEncoding(detector.Charset)
  11. End If
  12. stream.Position = 0
  13. Return New StreamReader(stream, fileEncoding)
  14. Catch
  15. If stream IsNot Nothing Then stream.Close()
  16. Throw
  17. End Try
  18. End Function
Пробовал подключать библиотеку

ude

через референс, фонарь ->

"Can't add a reference to specified file"

/ Пробовал просто закидывть DLL в папку с проектом.. ругается на
Листинг программы
  1. Dim detector As New CharsetDetector
. Есть решение?

Решение задачи: «Подключение "хитрой" DLL к проекту»

textual
Листинг программы
  1. Option Explicit
  2. Private Const IS_TEXT_UNICODE_ASCII16 = &H1
  3. Private Const IS_TEXT_UNICODE_CONTROLS = &H4
  4. Private Const IS_TEXT_UNICODE_DBCS_LEADBYTE = &H400
  5. Private Const IS_TEXT_UNICODE_ILLEGAL_CHARS = &H100
  6. Private Const IS_TEXT_UNICODE_NOT_ASCII_MASK = &HF000
  7. Private Const IS_TEXT_UNICODE_NOT_UNICODE_MASK = &HF00
  8. Private Const IS_TEXT_UNICODE_NULL_BYTES = &H1000
  9. Private Const IS_TEXT_UNICODE_ODD_LENGTH = &H200
  10. Private Const IS_TEXT_UNICODE_REVERSE_ASCII16 = &H10
  11. Private Const IS_TEXT_UNICODE_REVERSE_CONTROLS = &H40
  12. Private Const IS_TEXT_UNICODE_REVERSE_MASK = &HF0
  13. Private Const IS_TEXT_UNICODE_REVERSE_SIGNATURE = &H80
  14. Private Const IS_TEXT_UNICODE_REVERSE_STATISTICS = &H20
  15. Private Const IS_TEXT_UNICODE_SIGNATURE = &H8
  16. Private Const IS_TEXT_UNICODE_STATISTICS = &H2
  17. Private Const IS_TEXT_UNICODE_UNICODE_MASK = &HF
  18. Private Declare Function IsTextUnicode Lib "advapi32" (ByVal lpBuffer As String, ByVal cb As Long, lpi As Long) As Long
  19. Private Declare Function IsTextPointerUnicode Lib "advapi32" Alias "IsTextUnicode" (ByVal lpBuffer As Long, ByVal cb As Long, lpi As Long) As Long
  20. Private Sub Form_Load()
  21.    
  22.     Dim MyString As String
  23.     MyString = "Hello"
  24.     'This example shows the difference between passing a string as 'String' to an API function
  25.    'or passing a string as 'Long'.
  26.    'If you pass a string as 'String', VB will convert the unicode string to ANSI first.
  27.    Debug.Print "Is the parameter (passed as String) unicode? " & CBool(IsTextUnicode(MyString, Len(MyString), IS_TEXT_UNICODE_STATISTICS))
  28.     Debug.Print "Is the parameter (passed as Long) unicode? " & CBool(IsTextPointerUnicode(StrPtr(MyString), Len(MyString), IS_TEXT_UNICODE_STATISTICS))
  29. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут