Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Копирование файла


Автор: ZBugz 17.11.2009, 21:44
Привет  smile 
Вопрос такой: Как сделать так, что если в имени файла есть какой нить спец символ, то его все равно копировать ?
Смысл в том, что копируя используя Stream, если он видит в названии файла какой нить ироглиф (умляут какой нить), то все, отказываеться копировать напрочь, т.е. не читает файл.
Может есть какой нить юникод для открытия этого ?

З.Ы. Другие способы копирования не допустимы и не предлогать smile 

Автор: Keeper89 17.11.2009, 22:54
Выход в использовании "Юникодных" функций копирования. Насколько мне известно TStream его до 2009 версии не поддерживает.

Автор: ZBugz 18.11.2009, 09:23
А в 2010 ?

Вообще интересно, когда они юникод вводят, они это тоже исправляют или только тупое отображение текста правят ?!

И что значит
Цитата

Выход в использовании "Юникодных" функций копирования

?

Автор: Keeper89 18.11.2009, 12:47
Цитата(ZBugz @  18.11.2009,  10:23 Найти цитируемый пост)
А в 2010 ?

Должно работать.

Надо код глянуть и точно знать версию Delphi.

Автор: kami 18.11.2009, 13:22
Цитата(Keeper89 @  17.11.2009,  22:54 Найти цитируемый пост)
Насколько мне известно TStream его до 2009 версии не поддерживает.

Ну почему?
получаем хендл файла через CreateFileW и отдаем его в TFileStream (или THandleStream). Всё, от версии Delphi в этом плане не зависим.

Добавлено через 6 минут и 45 секунд
Цитата(ZBugz @  18.11.2009,  09:23 Найти цитируемый пост)
Вообще интересно, когда они юникод вводят, они это тоже исправляют или только тупое отображение текста правят ?!

Ну а как думаешь, если в D2009 string:=WideString и везде используется именно string?

Автор: ZBugz 18.11.2009, 15:14
Цитата(kami @ 18.11.2009,  13:22)
Добавлено @ 13:28
Цитата(ZBugz @  18.11.2009,  09:23 Найти цитируемый пост)
Вообще интересно, когда они юникод вводят, они это тоже исправляют или только тупое отображение текста правят ?!

Ну а как думаешь, если в D2009 string:=WideString и везде используется именно string?

А фиг его знает, че они там написали smile 
Ну я в любом случае на delphi 2010 пишу сейчас, но так как тока писать начал, еще не тестировал. Но на 2007 точно не работало. А старый проект к 2010 привентить не могу, поэтому и подумал об этом smile 
Надеюсь что все будет тогда работать.

Автор: ZBugz 23.11.2009, 19:47
Все, проверил. Правда на Windows 7 и Delphi 2010, все пашет smile

Автор: Rohoss 23.11.2009, 20:52
Цитата(kami @  18.11.2009,  13:22 Найти цитируемый пост)
Ну а как думаешь, если в D2009 string:=WideString 

Прошу прощение, если что-то путаю, но вроде как UnicodeString

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)