Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

GUID в поле таблицы DBF [dBase, FoxPro]


Страницы:   1 2

aga123 ©   (2004-03-02 10:00:00) 

Добрый день мастера!

Помогите пожалуйста, ибо я застрял вот на чем:

Мне нужно поместить значение GUID в поле DBF таблицы.
Функция CoCreateGUID() формирует значение типа TGUID.
Я перелопатил кучу примеров, но в них везде используется строковое представление получаемое из GUIDToString(), но длина получаемого результата 38.

- А как же получить 16 байтное значение из CoCreateGUID()?
- Каков тип получаемого результата? Какого типа должно быть поле в таблице FOXPRO(!), чтобы поместить туда полученное значение?

Огромное спасибо.


Romkin   (2004-03-02 10:36:00) [21]

А ты длину TGUID не смотрел? Это оно и есть, 16 байт.


aga123   (2004-03-02 10:33:00) [22]

2Anatoly Podgoretsky
Да, 128-bit integer, но как его заполучить в поле?

Вот мои действия:

var
 ID: TGUID;
 S: string;
 iId : Longint;
 sId : String;
begin
 // Получаем GUID
 if CoCreateGuid(Id) = s_OK then
 begin
   // Строковое значение получаем так
   s := GUIDToString(Id);

   // Но как быть здесь???
   // как получить этот 128-bit integer
   // в переменную iid, ну это то же что и в поле
   //sID := IntToStr(iId); /// ?????
 end;
end;

Или я чего-то не понимаю и упускаю из виду очевидное?


Johnmen   (2004-03-02 10:14:00) [23]

Можно использовать CreateClassIDдля получения 32 байтной строки, каждый б.которой отображает полбайта из каждых байт 4 интегеров (128 бит).


Anatoly Podgoretsky   (2004-03-02 10:08:00) [24]

- А как же получить 16 байтное значение из CoCreateGUID()?
Creates a GUID, a unique 128-bit integer


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо