Главная страница
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.022 c
7-15966
saf
2002-11-27 16:48
2003.02.06
Принтер


6-15793
1g0r
2002-12-14 13:32
2003.02.06
Вопрос по стандартным TClient(Server)Socket-ам (ошибка 10054 WSAE


9-15389
Sapersky_
2002-08-20 16:25
2003.02.06
DirectX9


1-15620
Sasha9
2003-01-28 21:52
2003.02.06
Скриншот


1-15737
Chubais
2003-01-27 18:07
2003.02.06
Посоветуйте средства для построения диаграмм