Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Битовые структуры / 9 сообщений из 9, страница 1 из 1
14.02.2006, 16:11
    #33544106
M0rphius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые структуры
Возникла идея хранить в поле таблицы значения в виде битовых структур. Т.е. стуктуры вида 10011000011100011100111001 (bin). Просто это наиболее компактно нежели писать что-то вроде 0,3,4,9,10,11,15,16,17,20,21,22,25 (см. верхнее число). Можно ли это реализовать на Fox'е, всевозможный доступ к отдельным битам, их изменение и т.д. Или есть какие-то другие способы.
...
Рейтинг: 0 / 0
14.02.2006, 16:14
    #33544120
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые структуры
Храни числом + ф-ции BIT*()
...
Рейтинг: 0 / 0
14.02.2006, 16:17
    #33544137
M0rphius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые структуры
У чисел разрядная сетка всего 32 бита, мне надо больше, хотя бы 256 битов.
...
Рейтинг: 0 / 0
15.02.2006, 07:08
    #33545140
piva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые структуры
Есть библотека Майка Корнеева MkFox.FLL в которой есть функции работы с битовыми картами. Где взять ? Ну пошурши по трынету
...
Рейтинг: 0 / 0
15.02.2006, 09:30
    #33545317
M0rphius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые структуры
Мне хотелось бы не библиотеку, а код посмотреть. Как у других сделано, а не изобретать снова велосипед.
...
Рейтинг: 0 / 0
15.02.2006, 15:01
    #33546637
piva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые структуры
Ну исходники на Си у Майка - поробуй спроси у него - тока мыло его я не помню
...
Рейтинг: 0 / 0
15.02.2006, 15:14
    #33546702
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые структуры
ну нужно так

allbitstr = "asdefghj" (8 символов 32*8=256)

и дальше уже
bit... от asc(subs(allbitstr,от1до8,1))

и дальше снова их наклеивать
allbitstr = .... + ... +
...
Рейтинг: 0 / 0
15.02.2006, 18:58
    #33547455
M0rphius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые структуры
Я это и имел в виду. Спасибо 2 alex11100 .
...
Рейтинг: 0 / 0
16.02.2006, 02:22
    #33547870
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Битовые структуры
Hi M0rphius!

Если фокс 9-й, тогда используй тип данных varbinary(32) и BIT*() функции
(кроме сдвигов, но я не думаю что они тебе нужны). Единственно что - так это
то что хоть поле номинально и VAR* но заполнять его лучше "под завязку" - ну
или придётся отлавливать ошибки при работе BIT*() функций с "неполными"
флаговыми полями.
Для старых версий конечно тоже можно нечто подобное изобразить на основе
Char(binary) (aka NOCPTRANS) полей - но многое придётся руками делать -
те-же BIT*() функции например... Или по старому оставить - т.е. хранить
флаги в каком-то "читабельном" виде...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Битовые структуры / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]