Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.12.07;
Скачать: [xml.tar.bz2];

Вниз

Преобразование BCD упакованного в обычное   Найти похожие ветки 

 
Цукор5   (2008-10-24 16:01) [0]

ну...например 16 это в BCD , а после преобразования 10.
Куда смотреть ? Не могу найти как это сделать.

Заранее спасибо


 
Правильный$Вася   (2008-10-24 16:06) [1]


> Куда смотреть ?

Tbcd
тип такой


 
Сергей М. ©   (2008-10-24 16:07) [2]


> Куда смотреть ?


Смотреть в сторону принципа хранения десятичных чисел в памяти компьютера в BCD-представлении


 
Цукор5   (2008-10-24 16:17) [3]

2 Правильный$Вася   (24.10.08 16:06) [1]
> Tbcd тип такой

Был...но вроде до Delphi 5.
По крайней мере сейчас получаю Undeclared identifier : TBCD


 
Сергей М. ©   (2008-10-24 16:19) [4]

Unit

FmtBcd


 
Правильный$Вася   (2008-10-24 16:19) [5]


> Был...но вроде до Delphi 5.

а F1 нажать пальцы не достают?


 
Цукор5   (2008-10-24 16:33) [6]

> а F1 нажать пальцы не достают?

Достают ;)
Но там не то, что я ожидал. Указания юнита где этот TBCD нету, ф-ций для работы с ним нету...вообще ничего нету.

Вот :

FMTBcd (C++) and TBcd (Delphi) represent a binary-coded decimal value.

C++ syntax

typedef struct
{
 BYTE iPrecision;
 BYTE iSignSpecialPlaces;
 BYTE iFraction[32];
} FMTBcd;

Delphi syntax

type
 TBcd  = packed record
   Precision: Byte;
   SignSpecialPlaces: Byte;
   Fraction: packed array [0..31] of Byte;
 end;

Description

FMTBcd (C++) or TBcd (Delphi) represents a binary-coded decimal value. It contains the following fields:

Field Contents
iPrecision (Precision) The number of digits in the decimal version of the value.
iSignSpecialPlaces
(SignSpecialPlaces) The sign bit (0 is positive, any other value negative)
the special bit (nonzero indicates that the value is blank)
the number of digits after the decimal (0 to iPrecision)
iFraction
(Fraction) An array of BCD nibbles, 00 to 99 per byte, high nibble first. Only the first iPrecision nibbles are used.


2 Сергей М. ©   (24.10.08 16:19) [4]
Спасибо!
Только не понятно как с ним работать ?

 var AA:TBCD;I:Integer;
begin
AA:=IntegerToBcd(16);
I:=BcdToInteger(AA);
Memo1.Lines.Add( IntToStr(I));
end;

Что было, то и осталось. Как , собственно, переводить ???


 
Сергей М. ©   (2008-10-24 16:46) [7]


> Как , собственно, переводить ?


Ну вот как ты переводил, так и , собственно, переводить ..


> Что было, то и осталось


Так ты ж сгонял число туда-обратно, вот оно и не изменилось..

А что в рез-те ты ожидал увидеть в Мемо ?


 
Правильный$Вася   (2008-10-24 16:50) [8]


> Указания юнита где этот TBCD нету, ф-ций для работы с ним нету.

у тебя какая-та не та D7
у меня
TBcd stores a binary coded decimal value.
Unit
FmtBcd
Delphi syntax:
type
 TBcd  = packed record
   Precision: Byte;         { 1..64 }
   SignSpecialPlaces: Byte; { Sign:1, Special:1, Places:6 }
   Fraction: packed array [0..31] of Byte; { BCD Nibbles, 00..99 per Byte, high Nibble 1st }
 end;
...
You can create a Variant that represents a TBcd value using the VarFMTBcdCreate function. In fact, the easiest way to manipulate TBcd values is to create Variants for them and use the built-in operators provided by the Variant type.


 
Правильный$Вася   (2008-10-24 16:50) [9]

Удалено модератором
Примечание: Дубль...


 
Anatoly Podgoretsky ©   (2008-10-24 19:33) [10]

> Цукор5  (24.10.2008 16:33:06)  [6]

А голова не позволяет посмотреть рядом другие слова, например TBCD Type, там же сказано как и работать.


 
Правильный$Вася   (2008-10-25 20:34) [11]


> Удалено модератором Примечание: Дубль...

эх, не совсем...
во втором посте было выделено Unit FmtBcd, которое забыл выделить в первом



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.12.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
2-1225115068
Mozgan
2008-10-27 16:44
2008.12.07
Преобразование типа таблицы Ttable в строку


15-1222540548
Копир
2008-09-27 22:35
2008.12.07
Вполне искусственный интеллект


3-1210962405
kvp
2008-05-16 22:26
2008.12.07
Yaffil: Долго открывается таблица


15-1223158808
Германн
2008-10-05 02:20
2008.12.07
Глюк форума.


15-1223229279
TUser
2008-10-05 21:54
2008.12.07
Проспект имени Путина





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский