Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Конвертация Записей OEM Таблиц в Ansi таблицы

2.0K
05 февраля 2003 года
Pert
19 / / 13.01.2003
как импортировать записи из старой FoxPro(OEM) таблицы в Paradox-овую(Ansi)
а то абракатабра замучала

Помогите срочно
ПЛИЗ
317
05 февраля 2003 года
Relax
573 / / 20.09.2000
есть API-шная функция:

BOOL OemToChar(LPCSTR lpszSrc, LPTSTR lpszDst);

в цикле перебираешь все записи и посредством ее конвертишь :)
2.0K
05 февраля 2003 года
Pert
19 / / 13.01.2003
Цитата:
Originally posted by Relax
есть API-шная функция:

BOOL OemToChar(LPCSTR lpszSrc, LPTSTR lpszDst);

в цикле перебираешь все записи и посредством ее конвертишь :)




оно конечто так
куча всяких примеров на Делфях
но вот что-то под Builder я её адаптировать не могу
что-то где-то не так
прошу помощи

317
05 февраля 2003 года
Relax
573 / / 20.09.2000
дельфи тут ни при чем - это функция Windows API!
я, когда это делал - все сразу заработало... что конкретно не получается?
берешь строку из базы, передаешь ее в функцию, она обрабатывает строку и помещает результат по адресу, переданному как второй параметр..
2.0K
06 февраля 2003 года
Pert
19 / / 13.01.2003
Цитата:
Originally posted by Relax
дельфи тут ни при чем - это функция Windows API!
я, когда это делал - все сразу заработало... что конкретно не получается?
берешь строку из базы, передаешь ее в функцию, она обрабатывает строку и помещает результат по адресу, переданному как второй параметр..



Это точно все так что функции Windows API!
только дело в том что всё же приспособить их в Builder-е я их не могу
ругается на не возможность конвертации из AnsiString в Char
я уже прям весь извелся

на Делфе главно у меня завелась вункция, взял я готоый пример
function ConvertAnsiToOem(const S : string) : string;
{ ConvertAnsiToOem translates a string into the OEM-defined character set }
{$IFNDEF WIN32}
var
Source, Dest : array[0..255] of Char;
{$ENDIF}
begin
{$IFDEF WIN32}
SetLength(Result, Length(S));
if Length(Result) > 0 then
AnsiToOem(PChar(S), PChar(Result));
{$ELSE}
if Length(Result) > 0 then
begin
AnsiToOem(StrPCopy(Source, S), Dest);
Result := StrPas(Dest);
end;
{$ENDIF}
end; { ConvertAnsiToOem }

он как ему и положено работает
а в Builder я это пример адаптировать не могу


ПОМОГИТЕ ЛЮДИ ДОБРЫЕ
очень надо ......

317
06 февраля 2003 года
Relax
573 / / 20.09.2000
так бы сразу и сказал... AnsiString - это класс, а функции нужен указатель массив байтов (чаровскую строку). нужно предварительно преобразовать... для этого в классе AnsiString есть функция c_str();
то есть будет выглядеть примерно так:

String Src;
char Dest[255];
OemToChar(Src.c_str(), Dest);
2.0K
07 февраля 2003 года
Pert
19 / / 13.01.2003
Цитата:
Originally posted by Relax
так бы сразу и сказал... AnsiString - это класс, а функции нужен указатель массив байтов (чаровскую строку). нужно предварительно преобразовать... для этого в классе AnsiString есть функция c_str();
то есть будет выглядеть примерно так:

String Src;
char Dest[255];
OemToChar(Src.c_str(), Dest);




Спасибо ОГРОМНОЕ!!!
Спас меня от мук ввода 15тыc. записей

УРА!! Ура!!

317
07 февраля 2003 года
Relax
573 / / 20.09.2000
:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог