![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не могу сделать перекодировку
Frozzen © (2004-12-17 17:39:00)Подскажите в чем дело, пишу следующие
buf : array [1..4000]of Char;
RecordBuffer : array [1..4000]of Char;
DFile: TFileStream;
S : String;
заполнение буфера
RecordBuffer[i] := S[i];
запись в файл для каждой строки
CharToOem(@RecordBuffer, @buf);
DFile.WriteBuffer(Buf, FHeader.RecordSize);
Первая строчка записывается в нужной кодировке, остальные нет ?
Alexander Panov (2004-12-17 18:57:00) [1]Используй
OemToCharBuff
Frozzen (2004-12-17 17:56:00) [2]насчет добавления нуля не понял
тормажу, целый день уже этот конвектор пишу
Frozzen (2004-12-17 17:53:00) [3]почему не понемаю
Frozzen (2004-12-17 17:52:00) [4]посмотрел дебагером
первый раз проходит все успешно
а во второй в RecordBuffer перед CharToOem
уже в дос кодировке
TUser (2004-12-17 17:46:00) [5]Там поинтеры на null-terminated string. Соотвественно CharToOem доходит до первого нулевого символа и заканчивает свою работу. Решение - по отдельным строчкам перекодировать
MBo (2004-12-17 17:46:00) [6]после строки-источника ноль добавь