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

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

OemToChar не пашет в WinXP рус D6 ? [D6, WinXP]


Страницы:   1 2 3

blackman ©   (2003-01-23 09:43:00) 

Скомпилировал старую программу работавшую в WIN98 с функцией
OemToChar результаты поражают своей кривизной.
В чем может быть дело:
- моя криворукость
- неправильная установка XP
- ошибка D6
- ...


Reindeer Moss Eater   (2003-01-23 11:48:00) [21]

Это не может быть сделано, если OemToChar используется как wide-character функция.

Нет !!!
Утверждаю, что работало в Win98!
Видимо Вы не знаете в чем дело. Жаль. Буду копать сам


А там нет поддержки Unicode :)


Игорь Шевченко   (2003-01-23 11:45:00) [22]


> Утверждаю, что работало в Win98!


Повезло.

Я все-таки рекомендую обратиться к функции OemToCharBuff


blackman   (2003-01-23 11:37:00) [23]

>Игорь Шевченко
Указатели на буфер для переведенной строки. Если функция OemToChar используется как функция ANSI, строка может быть переведена в месте, устанавливая lpszDst параметр для того же самого адреса как lpszSrc параметр. Это не может быть сделано, если OemToChar используется как wide-character функция.
Нет !!!
Утверждаю, что работало в Win98!
Видимо Вы не знаете в чем дело. Жаль. Буду копать сам


Игорь Шевченко   (2003-01-23 11:25:00) [24]

Parameters

lpszSrc

Points to a null-terminated string of characters from the OEM-defined character set.

lpszDst

Points to the buffer for the translated string. If the OemToChar function is being used as an ANSI function, the string can be translated in place by setting the lpszDst parameter to the same address as the lpszSrc parameter.This cannot be done if OemToChar is being used as a wide-character function.

Неужели трудно TFM лишний раз почитать ?
Или использвать OemToCharBuff.

Проблема не в XP. Проблема в коде.


Reindeer Moss Eater   (2003-01-23 11:25:00) [25]

Ты нас убеждал, что код приведенный blackman © (23.01.03 11:11) работает на win9x.

Он с ошибкой

Что ты хочешь услышать еще?


blackman   (2003-01-23 11:23:00) [26]

>Reindeer Moss Eater
Аналогично:
function NDosToWin(St:string):string;
var Ch:PChar;
begin
Ch:=StrAlloc(Length(St)+1);
OemToAnsi(PChar(St),Ch);
Result:=Ch;
StrDispose(Ch)
end;
???


Reindeer Moss Eater   (2003-01-23 11:21:00) [27]

А где выделение памяти под Str?


blackman   (2003-01-23 11:20:00) [28]

>Игорь Шевченко
OemToChar(Src, Str);
!!!


Игорь Шевченко   (2003-01-23 11:13:00) [29]

OemToChar (Src, Src)

ДНК поправить (уж не обижайся)


Reindeer Moss Eater   (2003-01-23 11:13:00) [30]

А где выделение памяти под Str?


blackman   (2003-01-23 11:11:00) [31]

>Игорь Шевченко
memo1.lines.loadfromfile(opendialog1.filename);
procedure DosToWin;
var Src, Str:PChar;
begin
Src := Form1.Memo1.Lines.GetText;
OemToChar(Src, Str);
Form1.Memo1.clear;
Form1.Memo1.Lines.Text:= StrPas(Str);
end;
Ну и что тут... ?


Reindeer Moss Eater   (2003-01-23 11:08:00) [32]

Тебе сказали причину по которой ты на видишь русский текст после вызова функции. Это OEM набор символов в твоей XP такой.
Будь она хоть трижды русская


blackman   (2003-01-23 11:06:00) [33]

>Reindeer Moss Eater
Интересно. А я о чем спрашиваю ?
Понятно, что что то не то, но что ?
Набор символов не тот.
Повторяю еще раз стоит WINXP рус !!!


Игорь Шевченко   (2003-01-23 11:03:00) [34]

Код программы, языковые установки - в студию!


Reindeer Moss Eater   (2003-01-23 11:03:00) [35]

blackman © (23.01.03 10:54)
Вникай в смысл сказанного. То что после вызова ты видишь русский текст, не говорит о том, что функция конвертит в русский.
А то что ты не видишь русский текст в XP говорит о том, что OEM набор символов у тебя не тот.


blackman   (2003-01-23 10:57:00) [36]

>unknown helper device
Русский конечно. Может перед перекодом раскладку переключить ?
Балдею...


blackman   (2003-01-23 10:54:00) [37]

>Reindeer Moss Eater
Она конвертирует не в русский, а из Oem в Ansi и в том числе русские
Никогда не говори никогда не пробуя...


Reindeer Moss Eater   (2003-01-23 10:49:00) [38]

Так же как и CharToOem


Reindeer Moss Eater   (2003-01-23 10:49:00) [39]

OemToChar никогда не конвертировала в Русский


blackman   (2003-01-23 10:46:00) [40]

>Игорь Шевченко
Ничего не понимаю...
Эта программа и не только эта трудились под 98
Что ?


Страницы:   1 2 3

Наверх

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