Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Вниз

Перевод 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
1-15557
Jaxtor
2003-01-28 15:09
2003.02.06
Функция выравнивания в ComboBox


14-15847
PavelOKES
2003-01-22 07:43
2003.02.06
ISA Server


1-15738
Kyt
2003-01-27 10:44
2003.02.06
SOS bordbk50.dll ! ! !


1-15564
Anbezr
2003-01-28 16:25
2003.02.06
Переопределение констант


6-15805
RAA
2002-12-15 19:59
2003.02.06
CGI Stand-alone executable Как обойтись без объектов?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский