Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.06;
Скачать: CL | DM;

Вниз

Перевод Dos-кодировки в Win   Найти похожие ветки 

 
Lexer ©   (2003-01-29 11:16) [0]

Помогите, как перевести текст из ASCII(DOS charset) в ANSI(Windows charset).


 
Anatoly Podgoretsky ©   (2003-01-29 11:20) [1]

OemToChar


 
Lexer ©   (2003-01-29 11:22) [2]

У ф-ии 2 параметра типа PChar... если можно с примером.


 
Anatoly Podgoretsky ©   (2003-01-29 11:28) [3]

OemToChar(p1,p2)


 
Lexer ©   (2003-01-29 11:36) [4]

?
cChar, cStr: PChar;
StrFile: string;
cChar := PChar(StrFile);
OemToChar(cChar, cStr);


В итоге cStr = nil.


 
Anatoly Podgoretsky ©   (2003-01-29 11:42) [5]

Естественно ведь StrFile ничего не присвоено


 
Lexer ©   (2003-01-29 11:46) [6]

Я привел только 2 отрезка из кода
cChar, cStr: PChar;
StrFile: string;
...

чтение из файла в StrFile
...
cChar := PChar(StrFile);
OemToChar(cChar, cStr);

Здесь cChar вполне реально содержит строку (проверено).


 
Anatoly Podgoretsky ©   (2003-01-29 11:53) [7]

Как проверено, не вижу этого в коде


 
Lexer ©   (2003-01-29 11:56) [8]

Недостающий код (вкратце)
if OpenDialog.Execute then
begin
AssignFile(ExtractFile, OpenDialog.FileName);
Reset(ExtractFile);
ReadLn(ExtractFile, StrFile);
end;


 
Anatoly Podgoretsky ©   (2003-01-29 12:03) [9]

Ты это называешь проверкой?
Проверка это когда используются операторы отношения, у тебя из нет.


 
Lexer ©   (2003-01-29 12:07) [10]

Проверено в отладке. Файл считывается, надо только перевести кодировку.


 
Lexer ©   (2003-01-29 12:12) [11]

Хотя бы так:
cChar := "911";
OemToChar(cChar, cStr);


cStr всеравно...nil


 
Anatoly Podgoretsky ©   (2003-01-29 12:13) [12]

Тогда приведи не обрывки, а достаточно полный кусок текстаБ со всеми описаниями, присвоениями, выделением памяти если есть и проверками.
Функция работает нормально.


 
Lexer ©   (2003-01-29 12:17) [13]

Полный код привести к сожалению не могу... довольно большой.
Это работающая загрузка выписки, но кому-то в банке понадобилось сменить кодировку.


 
Anatoly Podgoretsky ©   (2003-01-29 12:23) [14]

Не надо весь код, за это надо бить, а только воспроизводимую часть без воды.
Тогда вот тебе точный ответ - у тебя в программе ошибка.


 
han_malign ©   (2003-01-29 12:24) [15]

>Anatoly Podgoretsky
- что вы мучаете человека - нельзя было сразу сказать под буфер cStr надо сначала память выделить
З.Ы. а еще проще OemToChar(PChar(StrFile),PChar(StrFile))...


 
Lexer ©   (2003-01-29 12:28) [16]

Привожу самый элементарный код:
cChar, cStr: PChar;
cChar := "911";
OemToChar(cChar, cStr);

-не работает, СStr=nil.

Anatoly Podgoretsky: спасибо за попытку помочь.



 
Lexer ©   (2003-01-29 12:30) [17]

han_malign: ВСЁ РАБОТАЕТ БОЛЬШОЕ СПАСИБО!!!



Страницы: 1 вся ветка

Текущий архив: 2003.02.06;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.021 c
14-15816
Ginzzz
2003-01-18 15:07
2003.02.06
Что такое динамические диски ?


1-15629
Альф
2003-01-29 12:19
2003.02.06
Может тупой вопрос, извините если что


7-15954
Александр
2002-12-01 11:15
2003.02.06
Работа с мышкой и клавой


14-15904
Lazer2k
2003-01-08 19:31
2003.02.06
F1 ! F1 ! F1 ! Тьфу Help me !!!


4-15988
Ipx
2002-12-24 08:38
2003.02.06
Как поместить панель задач (если возможно) в любое место (по высо