![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить указатель на строку в Table1.Fields[2].AsString ? [D3]
TTable © (2007-04-25 02:24:00)
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-коды?
TTable (2007-04-28 15:01:00) [1]Всё, проблему я решил установив вот эти бесплатные компоненты -
http://torry.net/db/direct/ms_access/ODA356os.exe
http://www.opus.ch/OpenSource/DirectAccess/Documentation/Default.htm
Они понимают unicode через WideString.
sniknik (2007-04-25 20:32:00) [2]нет видимо, надо импортировать Microsoft ActiveX Data Objects (msado15.dll) там описание типов/обьектов ADO, вот с ними и работать... в принципе можно и без них через вариант, но с описаниями проще... хотя ты и с описаниями "упаришся", еще проще 7делфю поставить, и готовые компоненты использовать.
TTable (2007-04-25 20:10:00) [3]>
MessageBoxW(0, PWideChar(WideString(Table1.Fields[2].Value)), 'Unicode', MB_OK + MB_ICONINFORMATION);
Этим способом результат тот же - вопросительные знаки - значит дело в драйвере базы данных, буду пробовать через ADO.
>хотя... в D3 есть импорт библиотеки типов?
Есть Import ActiveX Control, я экспортировал TAdodc это оно?
Плохиш (2007-04-25 16:11:00) [4]
> TTable (25.04.07 02:24)
MessageBoxW(nil, PWideChar(WideString(Table1.Fields[2]. Value)), 'Unicode', MB_OK + MB_ICONINFORMATION);
sniknik (2007-04-25 15:47:00) [5]хотя... в D3 есть импорт библиотеки типов? тогда можно непосредственно с обьектами ADO работать. попробуй.
sniknik (2007-04-25 15:45:00) [6]> Это элементарно,
исходные коды BDE и ODBC драйверов есть? тогда да, элементарно, пару тройку лет работы в одиночку и программа почти готова...
> к тому же цель - вывод в файл в юникоде.
> Сама база данных в формате access (*.mdb)
тогда прощай D3 и BDE, здравствуй D7(оптимум имхо, чтото >= D5), ADO и TNT (необязательно для записи в файл, но если нужно отображение то не обойтись)
TTable (2007-04-25 14:35:00) [7]>юникод... на 95%
Да, скорее всего юникод.
>не поможет, если только не сделаешь (самостоятельно ?) поддержку юникода на всех этапах.
Это элементарно, к тому же цель - вывод в файл в юникоде.
Сама база данных в формате access (*.mdb)
sniknik (2007-04-25 02:48:00) [8]> т.к. кодировка таблицы неизвестна.
юникод... на 95%
> получить доступ напрямую
не поможет, если только не сделаешь (самостоятельно ?) поддержку юникода на всех этапах.
> Table1
BDE? все, забудь о поддержке. лучше попытайся настроить сервер/коннект (чего там у тебя?) чтобы выдавал/конвертил строки в ansi стандарте.