Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

Как получить указатель на строку в 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
3-1177453476
TTable
2007-04-25 02:24
2007.08.12
Как получить указатель на строку в Table1.Fields[2].AsString ?


11-1167225125
mixail_shar
2006-12-27 16:12
2007.08.12
функция NewKOLStrList KOL


1-1180971219
nali
2007-06-04 19:33
2007.08.12
програмная установка midas.dll


15-1184365759
lookin
2007-07-14 02:29
2007.08.12
Чего не спите?


15-1184656246
Тульский
2007-07-17 11:10
2007.08.12
Open Office Calc и первичные ключи