![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как конвертнуть строку из кодовой стр. 866 (DOS) в 1251 (Win)? [D5, D6]
Zemal © (2002-08-26 13:01:00)Уважаемые Мастера.
Есть текстовый файл в кодировке Дос 866, я его StrLst(TStringList).LoadFromFile(...), и вывожу потом в редактор... или в другой визуальный компонент и вижу абракадабру. Как корректно работать со строками в других кодировках? Есть ли функции конвертации? Подскажите кто чего знает по перекодировке строк, плиз.
Zemal (2002-08-26 18:12:00) [1]Вот такой код заработал!!! Вопрос снимается!!!
procedure TForm1.DosToWin(var StrLst: TStringList);
var
i: integer;
begin
for i := 0 to StrLst.Count-1 do
begin
OemToChar(PChar(StrLst[i]), PChar(StrLst[i]));
end;
end;
Вот такая вот небольшая функция конвертации получилась :). Спасибо большое за подсказку :).
Zemal (2002-08-26 17:06:00) [2]procedure TForm1.DosToWin(var StrLst: TStringList);
var
i: integer;
PStrIn,PStrOut: PChar;
begin
for i := 0 to StrLst.Count-1 do
begin
PStrIn := PChar(StrLst[i]);
OemToChar(PStrIn, PStrOut);
RichEdit2.Lines.Add(PStrOut);
end;
end;
Ругается на user32.dll... может я не так функцией пользуюсь?
Kuusiniemi (2002-08-26 13:52:00) [3]CharToOem
CharToOemBuff
AnsiToOem
AnsiToOemBuff
OemToChar
OemToCharBuff
OemToAnsi
OemToAnsiBuff