На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Семантика, DBName - откуда такой размер?

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » Классификаторы и условные знаки
Страницы: 1
RSS
Семантика, DBName - откуда такой размер?
 
Господа разработчики! Наступил на очередные, аккуратно уложенные вами грабли!
Конвертор SXF->ESRI Shapes, решил взять имена полей из файла ресурсов:

Ни для кого не секрет, что в DBF размер имени поля - 11 байт (максимум), для остальных - до лампады. Ваши тропари рассчитаны таки на устарелый (это плюс!) DBF - откуда тогда такой (16 байт) размер?
 
Размер чего 16 байт?
 
Если один из отцов-основателей спрашивает, то это наводит на некие мысли...
maptype.h -> RSCSEMANTICEX
Код
// ОПИСАНИЕ СЕМАНТИКИ
typedef struct RSCSEMANTICEX  // РАСШИРЕННОЕ ОПИСАНИЕ СЕМАНТИЧЕСКОЙ
ХАРАКТЕРИСТИКИ ОБ'ЕКТА
{
  long int Code;         // внешний код
  long int Type;         // тип значения
  long int Reply;        // разрешается повторение (1)
  long int Enable;       // допустимая(1),обязательная(2)
                         // (при создании семантики поле не учитывается)
  long int Service;      // служебная,допустима для всех объектов (1)
  long int Reserv;       // резерв (должен быть равен 0)
  char     Name[32];     // название характеристики
  char     Unit[8];      // единица измерения
  double   Minimum;      // минимальное значение
  double   Default;      // умалчиваемое значение
  double   Maximum;      // максимальное значение
  long int Size;         // общий размер поля значения семантики
  long int Decimal;      // точность поля значения семантики
  char     ShortName[16];// короткое имя семантики (связь с полем БД) // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
  RSCSEMANTICEX;




---
И замените Ключ на что-нибудь типа DBFFieldName (с ограничением по размеру для DBF, ЧекБокс например...). Ключ - это таки уникальный код семантики.
Изменено: Газонокосильщик - 17.07.2013 15:38:21
 
Поля в структуре могут иметь большие размеры для выравнивания полей.
Вводите те значения, которые Вам нужны.
 
Более вопросов по данной проблеме не имею...
----
Зато работа есть... очередной конвертор... :) .
Изменено: Газонокосильщик - 17.07.2013 22:37:58
 
Цитата
Газонокосильщик пишет:
Ни для кого не секрет, что в DBF размер имени поля - 11 байт (максимум)
Сорри, коллеги!!! Если кому интересно - так считал лет ... врать не буду сколько. Потому что использовал для имён полей комбинашки типа ATR_004, SEM_035 etc...
А сейчас просмотрщик из Тотального Командира выдал вот такое (тут тоже нет опции Прикрепить файл!)

11 байт в имени + байт типа поля - С!
Полез сами понимаете куда - максимум 10 и финишный НОЛЬ! Всего - да, 11...
http://emanual.ru/download/1295.html
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности