Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Вниз

Русские файлы под игом нерусской Win2K 


yaJohn   (2002-04-02 13:16) [0]

Есть не русская Win2K. Русский язык в системе не установлен. Однако (хоть она и мастдай) русские имена файлов она понимает. Например записанные на CD или флопике под русской Win.
Понимает в смысле нормально отображает, копирует и тд. Но только в проводнике. Ни одно другое приложение с ними работать не желает. Например нежно любимый WindowsCommander. Или, WinAmp. Все отображают на месте русских букв "?".
Как показал эксперимент FindFirst/FindNext русские файлы находят, но опять таки, месте русских букв - "?". Соответственно сделать с таким файлом ничего нельзя.
А теперь внимание - очень хитрый вопрос:
Какие есть идеи? Хоть в какую сторону копать?

Зы. А как называется в АПИ аналог FindFirst/FindNext?



Алексей Петров   (2002-04-02 13:30) [1]

Во первых:
Win2K основана на Unicode, потому с русским все в порядке, а вот тот-же WinComander - уже не unicode - потому ему слабо.

почти у всех WinAPI функций есть 2 варианта с суффиксом "A" - ANSI и с "W" - unicode. причем по умолчанию в Delphi ты используешь только ANSI вариант.

Для FindFirst тебе нужно использовать FindFirstFileW



yaJohn   (2002-04-02 13:36) [2]

Понятно. Спасибо.
Но если можно еще один вопрос. В ответе Алексея Петрова (с) есть интересное слово "по умолчанию", которое позволяет предположить, что это умолчание можно изменить.
А как?



oomneeq   (2002-04-02 14:40) [3]

D5, windows.pas строки 28298..
>function FindFirstFileA; external kernel32 name "FindFirstFileA";
>function FindFirstFileExA; external kernel32 >name "FindFirstFileExA";
>function FindFirstFileW; external kernel32 name "FindFirstFileW";
>function FindFirstFileExW; external kernel32 name "FindFirstFileExW";
>function FindFirstFile; external kernel32 name "FindFirstFileA";
>function FindFirstFileEx; external kernel32 name "FindFirstFileExA";

жирным и выделено то самое умолчание



Алексей Петров   (2002-04-02 14:45) [4]

В Delphi - изменить умолчания нельзя. Только явно указывать, что тебе нужна unicode функция.

Вот в VC++ - там есть глобальный Define с помощью которого указывается умолчание: ANSI или unicode




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.017 c
3-46286           Vitek                 2002-03-26 12:43  2002.04.15  
Database Desktop


3-46217           Alex1111              2002-03-22 14:33  2002.04.15  
Sql


14-46502          Андрей Сенченко       2002-03-05 17:33  2002.04.15  
Компоненты для архивации


1-46323           dymka                 2002-04-03 08:06  2002.04.15  
Нужен совет по проектированию компонент


7-46529           BiJi                  2002-01-21 14:29  2002.04.15  
Как в Delphi сделать меню как в эксплорер по правой кнопки мыши