Десижн мейкер со стеклянным шаром и картой мира 548000 . Реферат налог на прибыль . Заправка картриджей xerox samsung hp lj Москва. Картриджи HP C9702A для HP LJ 2500.
Автор: admin | 14.12.2007 | 2:14 | В рубриках: BDE, Базы данных

Автор: Rob Edgar

…из исходного кода VCL я обнаружил, что при назначении значения DB-полю, имеющему строковый тип, значение “проходит” через функцию ANSItoNative, что может привести к изменению (порче) ASCII-данных. Вот так…

Как 16-, так и 32-битные версии IDAPI.CFG устанавливаются с драйвером языка Paradox ‘ascii’.

Я создал простое приложение, записывающее в db-поле значения ASCII в диапазоне 0-255 и затем проверяющее их на предмет появившихся различий….. различия между 16- и 32-битной версией не так велики… для примера… в первых 130 значениях получается следующее преобразование:

16-бит: 21->182 22->167 31->33 130->128
32-бит: 130->128
Очевидно достаточно просто “исправить” 32-битные приложения, чтобы добиться такого же результата, что и получаемые 16-битными приложениями, НО я не уверен что решив проблему на моем PC, я решу ее у остальных пользователей, поскольку могут отличаться установки, драйверы языка… и пр.
После того как я проверил все возможные варианты, я составил таблицу и занес туда пять возможных значений, которые могут отличаться под Delphi2 и Delphi1:

Значение ASCII Delphi1 Delphi2
21 182 21
22 167 22
33 31 33
132 102 132
255 121 255

Эта запись была опубликована 14.12.2007в 14:17. В рубриках: BDE, Базы данных. Вы можете следить за ответами к этой записи через RSS 2.0. Комментарии пока закрыты, но Вы можете оставить трекбек со своего сайта.