Главная страница
    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.043 c
2-1213898401
ProofNA
2008-06-19 22:00
2008.07.20
Работа с принтером


2-1214072499
Вован
2008-06-21 22:21
2008.07.20
Нужно открыть окно чужой минимизированной программы


2-1213864974
webpauk
2008-06-19 12:42
2008.07.20
Преобразование переменных


2-1214215947
Alex_C
2008-06-23 14:12
2008.07.20
Отменить и востановить OnResise формы.


2-1213594331
Zonder2008
2008-06-16 09:32
2008.07.20
Как програмно сделать ПринтСкрин?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский