Форум: "Базы";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
ВнизКак получить указатель на строку в Table1.Fields[2].AsString ? Найти похожие ветки
← →
TTable (2007-04-25 02:24) [0]
procedure TForm1.Button3Click(Sender: TObject);
begin
Table1.First;
ShowMessage(Table1.Fields[2].AsString);
Table1.Next;
ShowMessage(Table1.Fields[2].AsString);
end;
При доступе к Table1.Fields[2].AsString результат выводится в виде вопросительных знаков ??????, т.к. кодировка таблицы неизвестна. Можно ли как-нибудь получить доступ напрямую к тем ячейкам памяти, где хранятся данные, что бы узнать их char-коды?
← →
sniknik © (2007-04-25 02:48) [1]> т.к. кодировка таблицы неизвестна.
юникод... на 95%
> получить доступ напрямую
не поможет, если только не сделаешь (самостоятельно ?) поддержку юникода на всех этапах.
> Table1
BDE? все, забудь о поддержке. лучше попытайся настроить сервер/коннект (чего там у тебя?) чтобы выдавал/конвертил строки в ansi стандарте.
← →
TTable (2007-04-25 14:35) [2]>юникод... на 95%
Да, скорее всего юникод.
>не поможет, если только не сделаешь (самостоятельно ?) поддержку юникода на всех этапах.
Это элементарно, к тому же цель - вывод в файл в юникоде.
Сама база данных в формате access (*.mdb)
← →
sniknik © (2007-04-25 15:45) [3]> Это элементарно,
исходные коды BDE и ODBC драйверов есть? тогда да, элементарно, пару тройку лет работы в одиночку и программа почти готова...
> к тому же цель - вывод в файл в юникоде.
> Сама база данных в формате access (*.mdb)
тогда прощай D3 и BDE, здравствуй D7(оптимум имхо, чтото >= D5), ADO и TNT (необязательно для записи в файл, но если нужно отображение то не обойтись)
← →
sniknik © (2007-04-25 15:47) [4]хотя... в D3 есть импорт библиотеки типов? тогда можно непосредственно с обьектами ADO работать. попробуй.
← →
Плохиш © (2007-04-25 16:11) [5]
> TTable (25.04.07 02:24)
MessageBoxW(nil, PWideChar(WideString(Table1.Fields[2].Value)), "Unicode", MB_OK + MB_ICONINFORMATION);
← →
TTable (2007-04-25 20:10) [6]>
MessageBoxW(0, PWideChar(WideString(Table1.Fields[2].Value)), "Unicode", MB_OK + MB_ICONINFORMATION);
Этим способом результат тот же - вопросительные знаки - значит дело в драйвере базы данных, буду пробовать через ADO.
>хотя... в D3 есть импорт библиотеки типов?
Есть Import ActiveX Control, я экспортировал TAdodc это оно?
← →
sniknik © (2007-04-25 20:32) [7]нет видимо, надо импортировать Microsoft ActiveX Data Objects (msado15.dll) там описание типов/обьектов ADO, вот с ними и работать... в принципе можно и без них через вариант, но с описаниями проще... хотя ты и с описаниями "упаришся", еще проще 7делфю поставить, и готовые компоненты использовать.
← →
TTable (2007-04-28 15:01) [8]Всё, проблему я решил установив вот эти бесплатные компоненты -
http://torry.net/db/direct/ms_access/ODA356os.exe
http://www.opus.ch/OpenSource/DirectAccess/Documentation/Default.htm
Они понимают unicode через WideString.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c