|
182 / 33 / 3
Регистрация: 28.05.2015
Сообщений: 148
|
||||||||||||||||
Не правильно воспринимается путь Comdlg32.dll28.08.2016, 08:21. Показов 2282. Ответов 11
Метки нет (Все метки)
На самом деле вопроса 2.
Вопрос 1: Модуль: Кликните здесь для просмотра всего текста
Форма: Кликните здесь для просмотра всего текста
Некоторые имена файлов, папок воспринимаются неверно. Но когда я сам вручную пишу то же самое название, воспринимается верно. Пример №1:Best Music Mix 2016 - ♫ 1H Gaming Music ♫ - Dubstep, Electro House, EDM, Trap.mp3. Вместо ♫ будет "d". Пример №2: дейтрейдер.pdf. Воспринимается как "дэи?треи?дер.pdf" Когда встречается неверное название файла, то программа, которая обрабатывает их, не может открыть для чтения и вылетает с ошибкой. Может что в коде неверно? Файлы открываются API CreateFile в режиме "для чтения". Каким образом конвертировать в корректное имя? Вопрос 2: Допустим, имеется простенькая процедура работы с файлом:
0
|
||||||||||||||||
| 28.08.2016, 08:21 | |
|
Ответы с готовыми решениями:
11
Отсутствует gbs32.dll, fbclient.dll или путь к ним Как узнать путь к загруженной DLL из самой DLL?
|
|
|
||||||||
| 28.08.2016, 20:28 | ||||||||
3
|
||||||||
|
182 / 33 / 3
Регистрация: 28.05.2015
Сообщений: 148
|
|||||||||||
| 29.08.2016, 06:24 [ТС] | |||||||||||
|
Подскажите какова разница между.
0
|
|||||||||||
|
182 / 33 / 3
Регистрация: 28.05.2015
Сообщений: 148
|
||||||||||||
| 30.08.2016, 04:40 [ТС] | ||||||||||||
|
Вот пример: *** модуль *** Кликните здесь для просмотра всего текста
*** форма *** Кликните здесь для просмотра всего текста
Для отладки я поместил все символы в массив Arr(). Также в out сидит само название файла. Насколько я вижу, тип String в Visual Basic автоматически преобразовывает все символы в <255. И не может содержать в себе явные символы из таблицы Unicode. Хотя я точно не знаю. Сегодня загрузил на другом компе WinXP и тот же файл автоматически преобразовался в <255. То есть вместо 2012-01-30 План работы дейтрейдера на бирже NYSE ПРОЕКТ.pdf получил 2012-01-30 План работы деи?треи?дера на бирже NYSE ПРОЕКТ.pdf. А в Win7 это название отображается корректно. В общем задача вот какая: необходимо обнаружить, что в имени сидят символы с кодами > 255 и создать новый файл с добавлением постфикса с таким же именем, чтобы содержал Unicode. В данный момент пример, построенный с вашей помощью, уважаемый Dragokas, показывает, что не может ни открыть, ни создать файл с Unicode.:-( Конечно можно было бы ругаться на каждый "чих" и говорить пользователю, что такой файл нужно переименовать. Но хочется, избавить его от таких проблем. Ведь тот же самый WinRar или 7z нормально всё обрабатывает.
0
|
||||||||||||
|
|
|||||||||||||||
| 30.08.2016, 17:32 | |||||||||||||||
Сообщение было отмечено CharlyChaplin как решение
РешениеНе работает, потому что Вы всё еще используете ANSI-версию функции: Добавлено через 1 минуту Вот мой модуль с базовыми файловыми операциями (чтение, запись, листинг, проверка размера, диски, типы, x64 переадресация, проверка на существование файла). Можете воспользоваться в качестве примера из него. Кликните здесь для просмотра всего текста
1
|
|||||||||||||||
|
|
||||||
| 30.08.2016, 17:36 | ||||||
|
Продолжение:
Кликните здесь для просмотра всего текста
1
|
||||||
|
|
|||||||||||||||||||||
| 30.08.2016, 17:36 | |||||||||||||||||||||
|
Продолжение:
Кликните здесь для просмотра всего текста
Примеры: Кликните здесь для просмотра всего текста
Это не Stand-alone модуль, так что если решите просто подключить к проекту, остальные ошибки сами исправите, вроде отсутствия функции отладки ошибок ErrorMsg .
Пример использования чтения / записи м.б. несколько сложен, так что вот он: (хотя в целом он дублирует функции VB Open / Get / Put) Чтение 10 букв из файла в строковую переменную (без доп. проверок на длину файла) (без обработчика ошибок):
Вместо sBuf можно подставлять и другие типы данных (функция GetW сама подстраивается), как и оригинальная VB Get. Также можно читать в массив байт. Синтаксис будет несколько другой:
Запись в файл: PutW hFile, StartPos, lpArray, cbBytes, (bool)doAppend StartPos - начальный байт, куда писать (начинается с 1, как у классического VB Put) lpArray - указатель на массив байт cbBytes - кол-во байт для записи doAppend - (опционально). true - если нужно дописать данные в конец файла. Пример записи в файл текста в формате UTF-16LE (без обработчика ошибок):
1
|
|||||||||||||||||||||
|
182 / 33 / 3
Регистрация: 28.05.2015
Сообщений: 148
|
|
| 31.08.2016, 08:51 [ТС] | |
|
Спасибо большое, Dragokas.
![]() Да... с API-шками я практически не работал. Тут целый массив новой для меня информации.:-)
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||||||||||||||||
| 01.05.2024, 20:49 | |||||||||||||||||
|
Добавлено через 2 часа 52 минуты Итак продолжим спор, я хочу доказать что я прав наглядными примерами. В твоём примере твой код выглядит так:
0
|
|||||||||||||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||
| 01.05.2024, 20:56 | ||
|
Dragokas, я тебе только что ДОКАЗАЛ что не нужно переделывать структуру на As Long, а тем более говорить что структура ансишная или не ансишная это неправильно, они одинаковые на самом деле.
Добавлено через 1 минуту
0
|
||
| 01.05.2024, 20:56 | |
|
Помогаю со студенческими работами здесь
12
[ODBC] Строка '(нет данных)' задает ошибочный путь. Проверьте, что путь задан правильно и имеет Узнать путь к dll из самой dll
COMDLG32.OCX не используется и выдает ошибку Путь поиска dll Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|