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

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

русский язык в консольном приложении [D7, WinXP]


Aleksandrrr ©   (2005-08-14 16:37:00) 

Подскажите, как сделать,
чтобы в консольном приложении при
исполнении русские буквы отображались как
надо? А то выходит какая-то абра - кадабра.


Alexander Panov   (2005-08-14 16:54:00) [1]

tesseract ©   (14.08.05 16:48) [2]
там используется CP866(DOS)


Немного неверно.
Используется OEM-кодировка по умолчанию, для перевода в нужную кодировку(в OEM) см. [1].

см. также SetConsoleOutputCP и SetConsoleCP


tesseract   (2005-08-14 16:48:00) [2]

немного поподробнее - там используется CP866(DOS) и соотвественна нужна конвертация. Или как у TUSER либо вто такая

// Конвертируем в ASCII
function DosConvert(Conv:string):string;
var
Temp:String;i,t:cardinal;
begin
Temp:=Conv;
for i:=1 to length(Conv) do
begin
t:=Ord(Conv[i]);
 if (t>$bf) then
   if (t<$f0) then t:=t-$40;
 if (t>$ef) then t:=t-$10;
 Temp[i]:=chr(t);
end;
Result:=temp;
end;
// Конвертируем в ANSI
function WinConvert(Conv:string):string;
var
Temp:String;i,t:cardinal;
begin
Temp:=Conv;
for i:=1 to length(Conv) do
begin
t:=Ord(Conv[i]);
if (t>223) then t:=t+$10;
 if (t>127) then
   if (t<176) then t:=t+$40;
 Temp[i]:=chr(t);
end;
Result:=temp;
end;


TUser   (2005-08-14 16:41:00) [3]

CharToOEM()


Наверх

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