Главная страница
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.013 c
1-15731
Stager
2003-01-27 00:31
2003.02.06
Поиск утечек памяти по исходнику *.PAS


14-15856
pave1
2003-01-15 13:53
2003.02.06
Работа с Excel`em


1-15667
don-do
2003-01-27 08:10
2003.02.06
Form.Print


3-15473
mic_2000
2003-01-20 12:40
2003.02.06
Вопрос rFunc для Ib6, немогу с функцией IIF разобраться


3-15409
skirdov
2003-01-21 19:27
2003.02.06
Этот загадочный DBGrid...