Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранить файл в Unicode


Ega23 ©   (2006-03-12 12:25:00) 

Есть текстовый файл. Надо его в юникод перегнать. Как?


Ega23   (2006-03-12 13:11:00) [1]

ОК, спасибо.


Anatoly Podgoretsky   (2006-03-12 12:52:00) [2]

sniknik ©   (12.03.06 12:50) [6]
Особенно учитывая, что может читать и писать по одному байту :-)


API   (2006-03-12 12:52:00) [3]

Без учета локализации: MultiByteToWideChar().
Номер кодовой страницы (us-ascii: 20127; windows-1251: 1251; koi8-r: 20866; и др.) передается в параметрах.


sniknik   (2006-03-12 12:50:00) [4]

> Не помрёт TFileStream?
на допотопную машину с 16мг оперативки пишеш?

хотя чего это я... из под винды както прогу запускали (гегои меча и магии) на машине с 4мг оперативки, и с требованиями игры (dos) 8мег. минимум...
а тут какойто TFileStream, тфу.


Anatoly Podgoretsky   (2006-03-12 12:46:00) [5]

Ega23 ©   (12.03.06 12:38) [4]
Не помрет, это не размер. Потом сам TFileStream ничего не жрет, а жрут переменные S и WS
При желании не обязательно весь файл загонять в память, читай блоками и пиши блоками.


Ega23   (2006-03-12 12:38:00) [6]


> Можно и текстовый (если не возникнет проблем с нулем), но
> лучше подойдет TFileStream
>


Размер больно большой. Сам файл 15,5 МБ "весит", а в юникоде - все 31 метр получится...
Не помрёт TFileStream?


Anatoly Podgoretsky   (2006-03-12 12:34:00) [7]

Ega23 ©   (12.03.06 12:30) [2]
В соответсвии с локализацией!
Можно и текстовый (если не возникнет проблем с нулем), но лучше подойдет TFileStream


Ega23   (2006-03-12 12:30:00) [8]


> ws := s


А оно вот так прямо просто прикастовывается? И никаких StringToWideChar не надо?
Круто!


> Записать


А файл также текстовым объявлять (var F: TextFile;)? Или что-то специальное нужно?


Anatoly Podgoretsky   (2006-03-12 12:26:00) [9]

ws := s
Записать


Наверх

Титульная страница Поиск, карта сайта Написать письмо