| View previous topic :: View next topic |
| Author |
Message |
Mark Moss Guest
|
Posted: Thu Sep 22, 2005 9:13 am Post subject: Paradox 5 DLL's |
|
|
Gentlemen / Ladies
How do I determine what version of the Paradox DLL's that I have
installed on my machine. Also where can I get a version 5.x of them?
Mark Moss
|
|
| Back to top |
|
 |
Mike Shkolnik Guest
|
Posted: Thu Sep 22, 2005 9:26 am Post subject: Re: Paradox 5 DLL's |
|
|
| Quote: | How do I determine what version of the Paradox DLL's that I have
installed on my machine. Also where can I get a version 5.x of them?
Do you mean the BDE version? |
Just run the BDE Administrator and click Help->About
--
With best regards, Mike Shkolnik
EMail: [email]mshkolnik (AT) scalabium (DOT) com[/email]
http://www.scalabium.com
|
|
| Back to top |
|
 |
Bill Todd Guest
|
Posted: Thu Sep 22, 2005 1:39 pm Post subject: Re: Paradox 5 DLL's |
|
|
I am not sure what you mean by "the Paradox DLL's". The Paradox DBMS is
built into the Borland Database Engine. The most reliable way to
determine the BDE version is to check the version number of IDAPI32.DLL.
If you need to install the BDE install the BDE information utility at
http://ibinstall.defined.net . That will install BDE version 5.2 which
is the final version.
--
Bill Todd (TeamB)
|
|
| Back to top |
|
 |
Rick Carter Guest
|
Posted: Thu Sep 22, 2005 3:33 pm Post subject: Re: Paradox 5 DLL's |
|
|
| Quote: | Just run the BDE Administrator and click Help->About
|
That gives you the version of BDE Administrator. As Bill said, the most
reliable way to get the BDE version is to right-click on IDAPI32.DLL for
the properties.
Rick Carter
[email]carterrk (AT) despammed (DOT) com[/email]
Chair, Delphi/Paradox SIG, Cincinnati PC Users Group
--- posted by geoForum on http://delphi.newswhat.com
|
|
| Back to top |
|
 |
Mark Moss Guest
|
Posted: Thu Sep 22, 2005 5:09 pm Post subject: Re: Paradox 5 DLL's |
|
|
Gentlemen
According to the IDAPI32.DLL I have version 5.2.0.2. This is a
newly created PC with Delphi 6 installed.
However, the problem I am having is I am getting a EDBEngineError
with message "Capability Not Supported" error on a Table.Create function.
In order to test out why I am getting this error I created a test
project which consists of the following.
1. TTable
2. TDataSource
3. TButton
On the TButton.Click event I placed the following code
----------------------------------------------------------------------------
-------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Close;
Table1.Active := False;
Table1.DatabaseName := 'SmartPB';
Table1.TableType := ttParadox;
Table1.TableName := 'Test.DB';
Table1.Fielddefs.Clear;
with Table1.FieldDefs.AddFieldDef do
begin
Name := 'FieldBCD';
DataType := ftBCD;
Size := 19;
Precision := 6;
end;
with Table1.FieldDefs.AddFieldDef do
begin
Name := 'FieldDateTime';
DataType := ftDateTime;
end;
with Table1.FieldDefs.AddFieldDef do
begin
Name := 'FieldInteger';
DataType := ftInteger;
end;
with Table1.FieldDefs.AddFieldDef do
begin
Name := 'FieldLargeint';
DataType := ftLargeint;
end;
with Table1.FieldDefs.AddFieldDef do
begin
Name := 'FieldName';
DataType := ftBCD;
Size := 30;
end;
Table1.CreateTable;
Sleep(2000);
end;
----------------------------------------------------------------------------
------------------------------------------------
When I Click on the Button and the code hits the Table1.CreateTable,
I get the 'Capability No Supported'.
Any thoughts?
Mark Moss
"Rick Carter" <carterrk (AT) despammed (DOT) com> wrote
| Quote: | Just run the BDE Administrator and click Help->About
That gives you the version of BDE Administrator. As Bill said, the most
reliable way to get the BDE version is to right-click on IDAPI32.DLL for
the properties.
Rick Carter
[email]carterrk (AT) despammed (DOT) com[/email]
Chair, Delphi/Paradox SIG, Cincinnati PC Users Group
--- posted by geoForum on http://delphi.newswhat.com
|
|
|
| Back to top |
|
 |
Fernando Dias Guest
|
Posted: Thu Sep 22, 2005 5:32 pm Post subject: Re: Paradox 5 DLL's |
|
|
Mark,
The problem is with the TBCDFields (ftBCD).
TBCDField limits the precision of the BCD values to 4 decimal places and 20
significant digits.
That means a "size" value <= 4 . If you want more decimal places, then you
must use TFloatField (ftFloat) or TFMTBCDField (ftFMTBCD) .
Best regards.
Fernando Dias
EasyGate, Lda
|
|
| Back to top |
|
 |
Mark Moss Guest
|
Posted: Thu Sep 22, 2005 10:05 pm Post subject: Re: Paradox 5 DLL's |
|
|
Fernando
I have changed the DataType to ftFloat and am now using the
following code, but I am still getting the 'Capability Not Supported' ---
What gives
Mark Moss
----------------------------------------------------------------------------
------------------------
tblReport.Active := False;
tblReport.TableType := ttParadox;
tblReport.TableName := GlobalSROutputDir + Hold_ReportName + '.DB';
tblReport.Fielddefs.Clear;
for c := 0 to ADOQuery1.Fields.Count - 1 do
begin
if ADOQuery1.Fields[c].datatype = ftBCD then
with tblReport.FieldDefs.AddFieldDef do
begin
Name := ADOQuery1.Fields[c].FieldName;
DataType := ftFloat;
end
else
if ADOQuery1.Fields[c].datatype = ftDateTime then
with tblReport.FieldDefs.AddFieldDef do
begin
Name := ADOQuery1.Fields[c].FieldName;
DataType := ftDateTime;
end
else
if ADOQuery1.Fields[c].datatype = ftInteger then
with tblReport.FieldDefs.AddFieldDef do
begin
Name := ADOQuery1.Fields[c].FieldName;
DataType := ftInteger;
end
else
if ADOQuery1.Fields[c].datatype = ftLargeint then
with tblReport.FieldDefs.AddFieldDef do
begin
Name := ADOQuery1.Fields[c].FieldName;
DataType := ftLargeint;
end
else
if ADOQuery1.Fields[c].datatype = ftString then
with tblReport.FieldDefs.AddFieldDef do
begin
Name := ADOQuery1.Fields[c].FieldName;
DataType := ftString;
Size := ADOQuery1.Fields[c].Size;
end;
end;
t := Length(IntToStr(rows));
tblReport.CreateTable;
----------------------------------------------------------------------------
-------------------
"Fernando Dias" <fernandodias.removthis (AT) easygate (DOT) com.pt> wrote
| Quote: | Mark,
The problem is with the TBCDFields (ftBCD).
TBCDField limits the precision of the BCD values to 4 decimal places and
20
significant digits.
That means a "size" value <= 4 . If you want more decimal places, then you
must use TFloatField (ftFloat) or TFMTBCDField (ftFMTBCD) .
Best regards.
Fernando Dias
EasyGate, Lda
|
|
|
| Back to top |
|
 |
Fernando Dias Guest
|
Posted: Thu Sep 22, 2005 10:46 pm Post subject: Re: Paradox 5 DLL's |
|
|
Mark,
I didn't notice the "ftLargeInt" field on my first reading.
That is the not supported feature.
Fernando Dias
|
|
| Back to top |
|
 |
Mark Moss Guest
|
Posted: Thu Sep 22, 2005 11:10 pm Post subject: Re: Paradox 5 DLL's |
|
|
Fernando
Then how should I save this field in a Paradox Table -- It can have
up to 14 significant Digits to the left of the Decimal Place with no
decimals.
Mark Moss
"Fernando Dias" <fernandodias.removthis (AT) easygate (DOT) com.pt> wrote
| Quote: | Mark,
I didn't notice the "ftLargeInt" field on my first reading.
That is the not supported feature.
Fernando Dias
|
|
|
| Back to top |
|
 |
Fernando Dias Guest
|
Posted: Thu Sep 22, 2005 11:37 pm Post subject: Re: Paradox 5 DLL's |
|
|
Mark,
Maybe using a ftBCD field.
It has 19 significant digits and 0 to 4 decimal places.
But don't forget that "Size" is the number of decimal places, not the number
of digits,
so 0 <= Size <= 4 for BCD fields.
Fernando Dias
|
|
| Back to top |
|
 |
Bill Todd Guest
|
Posted: Thu Sep 22, 2005 11:45 pm Post subject: Re: Paradox 5 DLL's |
|
|
I think that the best you can do in a Paradox table is a floating point
field (which is a double). IIRC it has 15 digits of precision. You can
try ftBCD but I don't think it will work.
Why are you using Paradox tables?
--
Bill Todd (TeamB)
|
|
| Back to top |
|
 |
Mark Moss Guest
|
Posted: Thu Sep 22, 2005 11:58 pm Post subject: Re: Paradox 5 DLL's |
|
|
Bill
It is an older system that I am doing maintenance on. What is the
proper way to convert from ftLargeint to ftFloat?
Mark Moss
"Bill Todd" <no (AT) no (DOT) com> wrote
| Quote: | I think that the best you can do in a Paradox table is a floating point
field (which is a double). IIRC it has 15 digits of precision. You can
try ftBCD but I don't think it will work.
Why are you using Paradox tables?
--
Bill Todd (TeamB)
|
|
|
| Back to top |
|
 |
Bill Todd Guest
|
Posted: Fri Sep 23, 2005 12:20 am Post subject: Re: Paradox 5 DLL's |
|
|
ftLargeInt is intended for those databases that support 64 bit
integers. The BDE does not. Paradox does not. I do not understand the
question since I am not sure what you are trying to convert. Are you
converting a value from some database that does support largeint?
--
Bill Todd (TeamB)
|
|
| Back to top |
|
 |
Mark Moss Guest
|
Posted: Fri Sep 23, 2005 12:30 am Post subject: Re: Paradox 5 DLL's |
|
|
Bill
Yes, I am getting the data from an MSSQL Database thru an ADOQuery
that is reporting to me that the datatype is an ftLargeint ( actually it is
a PLUNumber of 14 digits ). Now how do I get from ftLargeint to ftFloat ?
Mark Moss
"Bill Todd" <no (AT) no (DOT) com> wrote
| Quote: | ftLargeInt is intended for those databases that support 64 bit
integers. The BDE does not. Paradox does not. I do not understand the
question since I am not sure what you are trying to convert. Are you
converting a value from some database that does support largeint?
--
Bill Todd (TeamB)
|
|
|
| Back to top |
|
 |
Bill Todd Guest
|
Posted: Fri Sep 23, 2005 1:55 pm Post subject: Re: Paradox 5 DLL's |
|
|
Simply assigning it should work. If not, try:
Float := LargeInt * 1.0;
--
Bill Todd (TeamB)
|
|
| Back to top |
|
 |
|