Как отображать в ячейках DbGrid целые числа в шестнадцатиричном формате типа ab5f ?

как отображать в ячейках DbGrid целые числа в шестнадцатиричном формате типа ab5f ? Искал искал, так и не нашел и чтоб вводить их тоже в шестнадцатиричном формате. Может быть там надо не integer использовать, а что-то другое?
13 ответов

а как вы их в базе храните?


как integer и longinteger компонент ClientDataSet


тогда рекомендую сделать вычисляемое поле, и преобразовывать ваш Integer в текст и отображать как текст


а вводить как?


вводить уже как угодно, главное что бы перед сохранением перевести в нужный формат


Не очень красивое решение, тем более шестнадцатиричный формат является родным для программистов. Запрет вводить значение прямо в ячейку DbGrid, как-то не очень. По моему в вычисляемую ячейку нельзя ничего вводить.


является родным для программистов
это к чему?вы храните в виде числа, отображать хотите в 16ом виде при чем тут ввод?хранение - преобразование - отображение вводить можете как в ячейку, так и в эдит, так и в отдельную форму, да хоть азбукой морзе


В каком типе я должен это хранить, чтоб оно само отображалось в 16ом виде? И чтоб занимало 8 байт без знака?


все зависит от СУБД


ClientDataSet локальный без СУБД


тогда к чему вопрос
В каком типе я должен это хранить, чтоб оно само отображалось в 16ом виде? И чтоб занимало 8 байт без знака?
храните в integer, на форме отображайте как string, перед сохранением конвертируйте


Если это integer, туда кроме цифр вообще ничего нельзя вводить, если это вычисляемое, так туда даже цифры нельзя вводить. Если это поле string, туда можно вводить любые буквы, не только a-f. Тут должно быть простое красивое решение, просто я о нем не знаю.


ут должно быть простое красивое решение
Вам уже сказали: ввод - сохранение - преобразование - вывод преобразование - IntToHex()