BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Paradox 5 DLL's

 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Databases (Desktop)
View previous topic :: View next topic  
Author Message
Mark Moss
Guest





PostPosted: Thu Sep 22, 2005 9:13 am    Post subject: Paradox 5 DLL's Reply with quote



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





PostPosted: Thu Sep 22, 2005 9:26 am    Post subject: Re: Paradox 5 DLL's Reply with quote



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





PostPosted: Thu Sep 22, 2005 1:39 pm    Post subject: Re: Paradox 5 DLL's Reply with quote



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





PostPosted: Thu Sep 22, 2005 3:33 pm    Post subject: Re: Paradox 5 DLL's Reply with quote

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





PostPosted: Thu Sep 22, 2005 5:09 pm    Post subject: Re: Paradox 5 DLL's Reply with quote

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





PostPosted: Thu Sep 22, 2005 5:32 pm    Post subject: Re: Paradox 5 DLL's Reply with 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
Mark Moss
Guest





PostPosted: Thu Sep 22, 2005 10:05 pm    Post subject: Re: Paradox 5 DLL's Reply with quote

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





PostPosted: Thu Sep 22, 2005 10:46 pm    Post subject: Re: Paradox 5 DLL's Reply with quote

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





PostPosted: Thu Sep 22, 2005 11:10 pm    Post subject: Re: Paradox 5 DLL's Reply with quote

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





PostPosted: Thu Sep 22, 2005 11:37 pm    Post subject: Re: Paradox 5 DLL's Reply with quote

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





PostPosted: Thu Sep 22, 2005 11:45 pm    Post subject: Re: Paradox 5 DLL's Reply with 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
Mark Moss
Guest





PostPosted: Thu Sep 22, 2005 11:58 pm    Post subject: Re: Paradox 5 DLL's Reply with quote

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





PostPosted: Fri Sep 23, 2005 12:20 am    Post subject: Re: Paradox 5 DLL's Reply with 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
Mark Moss
Guest





PostPosted: Fri Sep 23, 2005 12:30 am    Post subject: Re: Paradox 5 DLL's Reply with quote

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





PostPosted: Fri Sep 23, 2005 1:55 pm    Post subject: Re: Paradox 5 DLL's Reply with quote

Simply assigning it should work. If not, try:

Float := LargeInt * 1.0;

--
Bill Todd (TeamB)
Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Databases (Desktop) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.