Вниз
Скачать: CL | DM;

Не могу сделать перекодировку   Найти похожие ветки 

← →
Frozzen   (2004-12-17 17:39) [0]

Подскажите в чем дело, пишу следующие

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);

Первая строчка записывается в нужной кодировке, остальные нет ?


← →
TUser ©   (2004-12-17 17:46) [1]

Там поинтеры на null-terminated string. Соотвественно CharToOem доходит до первого нулевого символа и заканчивает свою работу. Решение - по отдельным строчкам перекодировать


← →
MBo ©   (2004-12-17 17:46) [2]

после строки-источника ноль добавь


← →
Frozzen   (2004-12-17 17:52) [3]

посмотрел дебагером
первый раз проходит все успешно
а во второй в RecordBuffer перед CharToOem
уже в дос кодировке


← →
Frozzen   (2004-12-17 17:53) [4]

почему не понемаю


← →
Frozzen   (2004-12-17 17:56) [5]

насчет добавления нуля не понял
тормажу, целый день уже этот конвектор пишу


← →
Alexander Panov ©   (2004-12-17 18:57) [6]

Используй OemToCharBuff



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
14-1103051762
Юрий Зотов
2004-12-14 22:16
2005.01.02
Оба-на! Бывает же такое...


1-1103435108
AL5030
2004-12-19 08:45
2005.01.02
Открыть разом несколько файлов в своей проге.


1-1103114526
Bobby Digital
2004-12-15 15:42
2005.01.02
Drag Edit


1-1103274416
Jann
2004-12-17 12:06
2005.01.02
Форма в ворме


14-1102387578
Думкин
2004-12-07 05:46
2005.01.02
С днем рождения! 7 декабря




   Наверх