Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
38 / 38 / 8
Регистрация: 15.08.2014
Сообщений: 612
1

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

24.09.2015, 10:37. Показов 1098. Ответов 7
Метки нет (Все метки)

Всем привет!
Нашел тему в соседней ветке (Как автоматически определить кодировку при открытии текстового файла?)

листинг правда для NET

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 в папку с проектом..
ругается на
Visual Basic
1
Dim detector As New CharsetDetector
.

Есть решение?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.09.2015, 10:37
Ответы с готовыми решениями:

Как подключить "чистую" dll к проекту VB?
Добрый день! На VC++ создал Win32 Dynamic-Link Library - приложение - вобщем dll. Она не является...

"The File "VBA6.DLL" is out of date" - не могу исправить
Привет всем! Visual Basic 6 не запускается выдаёт такое сообщение: "The File "VBA6.DLL" is out...

"Can't find DLL entry point createPolygonRgn in gdi32.dll"
Рисую семи-сегментный индикатор... Нарисовал 1 сегмент Line-ом, потом осознал, что мне потом...

Замена символа на его двухзначный порядковый номер в алфавите (например "а" меняется на "01", "к" на "12")
Нужна помощь

7
Модератор
6772 / 2789 / 527
Регистрация: 24.04.2011
Сообщений: 5,306
Записей в блоге: 10
24.09.2015, 13:43 2
Если бы .NET библиотеки можно было бы подключать к VB6, то кто бы вообще пользовался VB.NET?
Есть API - IsTextUnicode для определения, не ахти что, но иногда работает
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
0
Модератор
8677 / 3213 / 839
Регистрация: 22.02.2013
Сообщений: 4,796
Записей в блоге: 78
24.09.2015, 14:16 3
https://www.cyberforum.ru/post6830151.html
0
38 / 38 / 8
Регистрация: 15.08.2014
Сообщений: 612
24.09.2015, 14:29  [ТС] 4
Цитата Сообщение от The trick Посмотреть сообщение
Программа распознавания кодировки - DOS или WIN
Привет Анатолий!
Пробую с утра разные методологии.. пока проблема там где явно указана кодировка страницы. Но! по факту она другая...Работает некорректно, в частности, парсинг страниц с домена http://aliveit.ru/ с дальнейшим распознаванием, как по чарсет, так и с помощью данного метода (Mlang).

В первом случае благополучно рапознается 1251 (по факту там 1251, UTF8 и еще что-то), во втором случае (Mlang)вероятность распознавания в пределах 50-55% (тоже 1251, 52, 54)...

Вопрос, ты не в курсе, сдесь используют туже tlb (и методологию) что и у тебя (Программа распознавания кодировки - DOS или WIN)? (http://bbs.vbstreets.ru/viewtopic.php?f=1&t=45731) Или, что то более "продвинутое"...
0
Эксперт WindowsАвтор FAQ
17675 / 7515 / 888
Регистрация: 25.12.2011
Сообщений: 11,288
Записей в блоге: 16
24.09.2015, 19:46 5
kreotodr, зачем тебе эти API?
Может я неправильно понял задачу, но на всех нормальных интернет-страничках обычно прямым текстом указывается кодировка.
Миниатюры
Подключение "хитрой" DLL к проекту  
0
Модератор
6772 / 2789 / 527
Регистрация: 24.04.2011
Сообщений: 5,306
Записей в блоге: 10
24.09.2015, 20:23 6
Цитата Сообщение от Dragokas Посмотреть сообщение
но на всех нормальных интернет-страничках обычно прямым текстом указывается кодировка.
Это как раз и проблема
Цитата Сообщение от kreotodr Посмотреть сообщение
пока проблема там где явно указана кодировка страницы. Но! по факту она другая...Работает некорректно
1
Эксперт WindowsАвтор FAQ
17675 / 7515 / 888
Регистрация: 25.12.2011
Сообщений: 11,288
Записей в блоге: 16
24.09.2015, 20:33 7
От чукчи!
Ну, можно выбрать самые популярные codepage. Конвертнуть по очереди. И через ошибку функции определить она или не она.
Или писать свое подобие MLANG. Я где-то о ней уже отзывался плохо.
0
38 / 38 / 8
Регистрация: 15.08.2014
Сообщений: 612
25.09.2015, 07:59  [ТС] 8
Цитата Сообщение от Dragokas Посмотреть сообщение
И через ошибку функции
подробный... можно?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2015, 07:59

Создать раздел меню "Правка" и продумать логику команд "копировать", "вставить"
Здравствуйте! Все никак не могу написать код для раздела меню Правка! Есть главная форма! На этой...

Создать тип "Book" и в нём сделать пункты "автор" и "количество страниц"
нужна задача на наследование, т. е. создать родителя и наследника. создать тип Book (родитель) и в...

Указать для каждого вопроса проценты ответов "да", "нет", "не знаю"
В двухмерном массиве размером nхm хранятся результаты опроса n человек на m вопросов.Ответами на...

Указать для каждого вопроса проценты ответов "да", "нет", "не знаю"
Здравствуйте господа программисты и сисадмины.Помогите пожалуйста начинающему с решением следующей...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.