*******************************************************************************************
* CVTFORM.PRG
SET PROCEDURE TO cvt
SET DECIMALS TO 18
PUBLIC oForm
oForm = CreateObject("cvt")
oForm.Visible = .T.
*
DEFINE CLASS cvt AS form
Top = 0
Left = 0
Height = 341
Width = 547
DoCreate = .T.
Caption = "Conversion Demo Form"
Autocenter = .T.
Name = "Form1"
ADD OBJECT txtoriginal AS textbox WITH ;
Height = 23, ;
Left = 36, ;
TabIndex = 1, ;
Top = 21, ;
Width = 120, ;
Name = "txtOriginal"
ADD OBJECT txtbin8 AS textbox WITH ;
Height = 23, ;
Left = 36, ;
TabIndex = 3, ;
Top = 67, ;
Width = 264, ;
Name = "txtbin8"
ADD OBJECT txthex8 AS textbox WITH ;
Height = 23, ;
Left = 36, ;
TabIndex = 4, ;
Top = 107, ;
Width = 84, ;
Name = "txthex8"
ADD OBJECT txtdec8 AS textbox WITH ;
Height = 23, ;
Left = 36, ;
TabIndex = 5, ;
Top = 146, ;
Width = 179, ;
Name = "txtdec8"
ADD OBJECT txtbin16 AS textbox WITH ;
Height = 23, ;
Left = 36, ;
TabIndex = 6, ;
Top = 199, ;
Width = 480, ;
Name = "txtbin16"
ADD OBJECT txthex16 AS textbox WITH ;
Height = 23, ;
Left = 36, ;
TabIndex = 7, ;
Top = 244, ;
Width = 120, ;
Name = "txthex16"
ADD OBJECT txtdec16 AS textbox WITH ;
Height = 23, ;
Left = 36, ;
TabIndex = 8, ;
Top = 283, ;
Width = 179, ;
Name = "txtdec16"
ADD OBJECT label1 AS label WITH ;
AutoSize = .T., ;
Alignment = 0, ;
Caption = "Binary Single Precision:", ;
Height = 17, ;
Left = 36, ;
Top = 51, ;
Width = 132, ;
TabIndex = 9, ;
Name = "Label1"
ADD OBJECT label2 AS label WITH ;
AutoSize = .T., ;
Alignment = 0, ;
Caption = "Hex Single Precision:", ;
Height = 17, ;
Left = 36, ;
Top = 90, ;
Width = 119, ;
TabIndex = 10, ;
Name = "Label2"
ADD OBJECT label3 AS label WITH ;
AutoSize = .T., ;
Alignment = 0, ;
Caption = "Converted back:", ;
Height = 17, ;
Left = 36, ;
Top = 130, ;
Width = 90, ;
TabIndex = 11, ;
Name = "Label3"
ADD OBJECT label4 AS label WITH ;
AutoSize = .T., ;
Alignment = 0, ;
Caption = "Binary Double Precision:", ;
Height = 17, ;
Left = 36, ;
Top = 183, ;
Width = 137, ;
TabIndex = 12, ;
Name = "Label4"
ADD OBJECT label5 AS label WITH ;
AutoSize = .T., ;
Alignment = 0, ;
Caption = "Hex Double Precision:", ;
Height = 17, ;
Left = 36, ;
Top = 228, ;
Width = 124, ;
TabIndex = 13, ;
Name = "Label5"
ADD OBJECT label6 AS label WITH ;
AutoSize = .T., ;
Alignment = 0, ;
Caption = "Converted back:", ;
Height = 17, ;
Left = 36, ;
Top = 267, ;
Width = 90, ;
TabIndex = 14, ;
Name = "Label6"
ADD OBJECT command1 AS commandbutton WITH ;
Top = 21, ;
Left = 173, ;
Height = 23, ;
Width = 84, ;
Cancel = .F., ;
Caption = "Convert", ;
Default = .T., ;
TabIndex = 2, ;
Name = "Command1"
PROCEDURE QueryUnload
CLEAR EVENTS
ENDPROC
PROCEDURE command1.Click
WITH THISFORM
IF VAL(.txtOriginal.VALUE) = 0
MESSAGEBOX("Value equals 0. Try again.",0,"Boo Boo")
ELSE
.txtbin8.VALUE = float2bin(VAL(.txtOriginal.VALUE), 8)
.txthex8.VALUE = bin2hex(.txtbin8.VALUE)
.txtdec8.VALUE = bin2float(hex2bin(.txthex8.VALUE))
.txtbin16.VALUE = float2bin(VAL(.txtOriginal.VALUE), 16)
.txthex16.VALUE = bin2hex(.txtbin16.VALUE)
.txtdec16.VALUE = bin2float(hex2bin(.txthex16.VALUE))
ENDIF
.txtOriginal.SETFOCUS
ENDWITH
RETURN
ENDPROC
ENDDEFINE
*-- EndDefine: cvt
**************************************************