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

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

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]
Готовую можешь взять у меня


Наверх

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