Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];

Вниз

FindFirst и Unicode   Найти похожие ветки 

 
TOXaKGD   (2008-06-18 22:06) [0]

В коде программы имеется функции FindFirst(MaskStr,faAnyFile,SearchR);
и соотв FindNext(SearchR)

Все бы ничего, только в TSearchRec поле Name имеет тип TFileName (он определен как string). В итоге если находится файл, в имени которого имеются символы в Unicode, то записываются они в SearchR.Name искаженными

Подскажите пожалуйста как решить эту проблему.


 
Riply ©   (2008-06-18 23:10) [1]

> [0] TOXaKGD   (18.06.08 22:06)
> Все бы ничего, только в TSearchRec поле Name имеет тип TFileName (он определен как string).
> В итоге если находится файл, в имени которого имеются символы в Unicode,
> то записываются они в SearchR.Name искаженными

FindFirstFileW ?


 
TOXaKGD   (2008-06-19 00:45) [2]

Из какого модуля эта функция?


 
Riply ©   (2008-06-19 00:48) [3]

> [2] TOXaKGD   (19.06.08 00:45)
> Из какого модуля эта функция?

У меня она живет в Windows.pas  :)


 
Тын-Дын ©   (2008-06-19 09:28) [4]


> В итоге если находится файл, в имени которого имеются символы
> в Unicode


А что, и такие бывают?


 
Игорь Шевченко ©   (2008-06-19 09:41) [5]


> А что, и такие бывают?


бывают


 
Тын-Дын ©   (2008-06-19 09:58) [6]


> Игорь Шевченко ©   (19.06.08 09:41) [5]
>
> > А что, и такие бывают?
>
>
> бывают


Не встречал имён файлов в Unicode.


 
Игорь Шевченко ©   (2008-06-19 10:31) [7]


> Не встречал имён файлов в Unicode.


Расширяй кругозор, посохраняй страничек из тырнета с разными типографскими символами в имени


 
Тын-Дын ©   (2008-06-19 10:43) [8]


> Расширяй кругозор, посохраняй страничек из тырнета с разными
> типографскими символами в имени


Ну, это-то известно. Вот только не думал, что на диске имя записывается в юникоде.


 
Riply ©   (2008-06-19 10:49) [9]

> [8] Тын-Дын ©   (19.06.08 10:43)
> Ну, это-то известно. Вот только не думал, что на диске имя записывается в юникоде.

Например, NTFS хранит имена в Unicode


 
Anatoly Podgoretsky ©   (2008-06-19 13:50) [10]

> Тын-Дын  (19.06.2008 10:43:08)  [8]

Пора перейти с Windows 95 на Windows ХР


 
TOXaKGD   (2008-06-19 21:11) [11]

Я тоже раньше ничего не знал про Unicode в именах, пока не объявился баг в программе, связанный с этой проблемой.

Спасибо за советы. Буду пробовать


 
TOXaKGD   (2008-06-19 21:15) [12]

Кстати, где можно найти описание на FindFirstW?


 
Правильный-Вася   (2008-06-19 21:46) [13]


> Кстати, где можно найти описание на FindFirstW?

в msdn


 
Riply ©   (2008-06-19 21:46) [14]

> [12] TOXaKGD   (19.06.08 21:15)
> Кстати, где можно найти описание на FindFirstW?

Я такой ф-ии не знаю.
Если интересует FindFirstFileW, то как я уже говорила: все сидит в Windows.pas
Вот кусочек оттуда, раз уж тебе самому Crtl + Click тяжело сделать :)

_WIN32_FIND_DATAW = record
   dwFileAttributes: DWORD;
   ftCreationTime: TFileTime;
   ftLastAccessTime: TFileTime;
   ftLastWriteTime: TFileTime;
   nFileSizeHigh: DWORD;
   nFileSizeLow: DWORD;
   dwReserved0: DWORD;
   dwReserved1: DWORD;
   cFileName: array[0..MAX_PATH - 1] of WideChar;
   cAlternateFileName: array[0..13] of WideChar;
 end;

function FindFirstFileW(lpFileName: PWideChar; var lpFindFileData: TWIN32FindDataW): THandle; stdcall;


 
наблюдатель   (2008-06-19 21:57) [15]

http://www.koders.com/delphi/fid28C8CC3E6F678ABFC8C27A384CC63A307D60FD84.aspx?s=tntclasses


 
TOXaKGD   (2008-06-19 23:11) [16]


> то как я уже говорила:

Девушка-кодер-это интересно ))


> Вот кусочек оттуда, раз уж тебе самому Crtl + Click тяжело
> сделать :)
>
> _WIN32_FIND_DATAW = record
>    dwFileAttributes: DWORD;
>    ftCreationTime: TFileTime;
>    ftLastAccessTime: TFileTime;
>    ftLastWriteTime: TFileTime;
>    nFileSizeHigh: DWORD;
>    nFileSizeLow: DWORD;
>    dwReserved0

Спасибо, это я уже посмотрел. Мне интересно было есть ли отличие этой фии от FindFirst и как она работает с FindNext


 
TOXaKGD   (2008-06-19 23:15) [17]


> наблюдатель   (19.06.08 21:57) [15]
> http://www.koders.com/delphi/fid28C8CC3E6F678ABFC8C27A384CC63A307D60FD84.
> aspx?s=tntclasses

Отдельное спасибо



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.053 c
15-1212355196
panov
2008-06-02 01:19
2008.07.20
Автоматическая регистрилка


15-1212376681
Slider007
2008-06-02 07:18
2008.07.20
С днем рождения ! 2 июня 2008 понедельник


15-1212653170
ahp
2008-06-05 12:06
2008.07.20
Что это за -J option


2-1213692159
vint45
2008-06-17 12:42
2008.07.20
Потоки. Нужна ли синхронизация?


6-1190291073
Chaser
2007-09-20 16:24
2008.07.20
WNetAddConnection2





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский