![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
windows-1251>>>koi8-r [D6, Win95/98, Win2k, WinXP]
Allex © (2003-01-16 09:07:00)Подскажите как можно перевести текст из обычной кодировки windows-1251 в кодировку koi8-r
Или дайте ссылку где можно почитать это...
Заранее благодарен
Smithson (2003-01-16 10:48:00) [1]Блин. Ищещь в инете (рунете) описание кодировки koi8-r.
Составляешь массив из этой кодировки (в качестве индекса задаешь русские буквы в windows-1251). Ну а потом простая подстановка по этому массиву.
Reindeer Moss Eater (2003-01-16 10:43:00) [2]У многих в качестве OEM кодировки используется koi8-r?
Delirium^.Tremens (2003-01-16 10:38:00) [3]Reindeer Moss Eater (16.01.03 10:32)
Ну почему же, можно ведь таскать с собой исходники и компилить их на каждом компе под каждой системой.
Anatoly Podgoretsky (2003-01-16 10:36:00) [4]Решение, но не работающее
Reindeer Moss Eater (2003-01-16 10:32:00) [5]Работающее, но не решение
Chester (2003-01-16 10:21:00) [6]работающее решение:
function StrToOem(const AnsiStr: string): string;
begin
SetLength(Result, Length(AnsiStr));
if Length(Result) > 0 then
{$IFDEF WIN32}
CharToOemBuff(PChar(AnsiStr), PChar(Result), Length(Result));
{$ELSE}
AnsiToOemBuff(@AnsiStr[1], @Result[1], Length(Result));
{$ENDIF}
end;
Allex (2003-01-16 10:20:00) [7]Спасибо за совет
Reindeer Moss Eater (2003-01-16 10:16:00) [8]Chester должен любить читос, а не торопиться
Chester (2003-01-16 10:14:00) [9]работающее решение:
function StrToOem(const AnsiStr: string): string;
begin
SetLength(Result, Length(AnsiStr));
if Length(Result) > 0 then
{$IFDEF WIN32}
CharToOemBuff(PChar(AnsiStr), PChar(Result), Length(Result));
{$ELSE}
AnsiToOemBuff(@AnsiStr[1], @Result[1], Length(Result));
{$ENDIF}
end;
Anatoly Podgoretsky (2003-01-16 10:10:00) [10]Стандартная таблица преобразования array[char] of char, в программе в цикле S[i] := Tbl[S[i]
Готовую можешь взять у меня