Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Кодировка в DBase / 5 сообщений из 5, страница 1 из 1
21.02.2006, 15:19
    #33558612
reticon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка в DBase
Есть файл dbf в кодировке ASCII ANSI. Можно ли работать с ним из Дельфи, так, чтобы не отображались кракозябры, не меняя кодировки на CP866?
...
Рейтинг: 0 / 0
21.02.2006, 15:26
    #33558639
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка в DBase
Привет, reticon!
Ты пишешь:

reticon r> Есть файл dbf в кодировке ASCII ANSI. Это то, что прописано в хидере.
Но, не то, что там лежит на самом деле.
reticon r> Можно ли работать с ним из Дельфи, так, чтобы не отображались кракозябры,
r> не меняя кодировки на CP866?Да.

--
With best regards, Мимопроходящий.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
21.02.2006, 16:10
    #33558803
reticon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка в DBase
Я понимаю, что эта информация берется из заголовка.
А как в Дельфи с тим работать? Например, через BDE?
Установка LANGDRIVER в CP866 ни к чему не приводит :(
...
Рейтинг: 0 / 0
28.02.2006, 08:48
    #33569574
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка в DBase
reticonЯ понимаю, что эта информация берется из заголовка.
А как в Дельфи с тим работать? Например, через BDE?
Установка LANGDRIVER в CP866 ни к чему не приводит :(
Не знаю как в Делфи, а в Билдере есть доступ к полезным API-функциям :
OemToChar(), CharToOem()
MSDN Help
CharToOem
The CharToOem function translates a string into the OEM-defined character set.

BOOL CharToOem(
LPCTSTR lpszSrc, // string to translate
LPSTR lpszDst // translated string
);
Parameters
lpszSrc
[in] Pointer to the null-terminated string to translate.
lpszDst
[out] Pointer to the buffer for the translated string. If the CharToOem 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 CharToOem is being used as a wide-character function.
Return Values
The return value is always nonzero.

Requirements
Windows NT/2000: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000.

See Also
Strings Overview, String Functions, CharToOemBuff, OemToChar, OemToCharBuff

Built on Thursday, May 11, 2000
В общем, берешь нужную строку и преобразуешь ее в нужную кодировку (ANSI (CP1251) или CP866)
...
Рейтинг: 0 / 0
28.02.2006, 10:45
    #33569913
reticon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодировка в DBase
О! Вспомнил, OEM-функции в дельфи тоже должны быть, спасибо!
...
Рейтинг: 0 / 0
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Кодировка в DBase / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]