powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как лучше записать кириллические имена файлов в TStrings?
18 сообщений из 18, страница 1 из 1
Как лучше записать кириллические имена файлов в TStrings?
    #39543348
ziper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема такая: результат OpenDialog.Files надо записать в строки ListBox, а позже потом по ним обратиться к файлам. Так как имена могут оказаться уникодовыми, например, кириллицей, то в TStrings, разумеется, идут вопросительные знаки.
Есть ли какая-нибудь хорошая функция Delphi или WinAPI, чтобы сконвертить названия файлов во что-нибудь универсальное, не зависящее от кодировки клиента, типа как кириллические URL кодируются?
Заранее спасибо!
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543363
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делфи какая? 7?
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543367
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziper,

Скажи, как ты эти имена файлов получаешь.
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543370
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТак как имена могут оказаться уникодовыми, например, кириллицей, то в TStrings, разумеется, идут вопросительные знаки.
Это не в TStrings идут вопросительные знаки. Используй юникодную Delphi, и проблемы не будет. Или хотя бы Lazarus, у которого LCL юникодный, а в TStrings ему без разницы, какая кодировка будет.
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543372
ziper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Delphi 5, upgrade невозможен
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543373
ziper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас работает просто так
Код: pascal
1.
2.
if odAttach.Execute then
lbFails.Items.AddStrings(odAttach.Files);
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543376
ziper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть JCL/JVCL, Synapsis библиотеки
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543385
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziperСейчас работает просто так
Код: pascal
1.
2.
if odAttach.Execute then
lbFails.Items.AddStrings(odAttach.Files);


Что за lbFails?
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543390
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

ListBox небось.
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543401
ziper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ListBox и OpenDialog там
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543416
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С каких пор неюникодный TOpenDialog возвращает юникодные строки.
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543424
ziper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OK, логично, т.е. названия режутся уже на opendialoge. И что можете посоветовать? Менять и диалог и листбокс на уникодовые аналоги?
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543433
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziper,

что-то я не верю в такие чудеса.

Создай отдельное крошечное приложение, повторяющее "проблему".
---
И назови версию Windows, пожалуйста.
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543436
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziper,

Используй xxxxxxxW() функции для получения имен файлов. Потом перекодируй их MultiByteToWideChar()/WideCharToMultiByte() в Ansi и пихай свои имена файлов в ListBox. При обращении к файлам из ListBox - перекодируй обратно, получая оригинальное имя файла и обращайся к файлу.

P.S. От твоего TOpenDialog() возможно придется отказаться, и слепить свой аналог.
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543446
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziperDelphi 5, upgrade невозможенИспользовать TNT Unicode Controls не предлагать?
Там есть юникодный аналог TOpenDialog.
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543450
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziper,

Может Вам нужно указать в настройках Windows кодовую страницу для неюникодных программ?
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543452
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ведь за прошедших 18 лет можно было бы и найти время и проапгрейдить проект до юникода.
...
Рейтинг: 0 / 0
Как лучше записать кириллические имена файлов в TStrings?
    #39543460
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

Ну тут могут быть нюансы. У меня есть живой проект на D6, которому скоро 15 или 16 лет будет. Переписать его за вменяемые сроки - нереально. К тому же там кучка библиотек от других производителей, которые давно прекратили поддержку. Вот и приходится раз в полгода вносить туда мелкие изменения и правки, а не перетаскивать все это хозяйство в юникод. Так и живем :(
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как лучше записать кириллические имена файлов в TStrings?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]