?
Solved

BDE installation with Installshield

Posted on 1998-09-15
5
Medium Priority
?
319 Views
Last Modified: 2010-04-03
When installing BDE using Installshield, I'd like to set the Database Level to 7, and the FourDigitYear, LeadingZerom and LeadingZerod to TRUE.

I already tried to make the changes in  the IDAPI32.CNF file, but this doesn't work. I even tried to change all the other .CNF files, same result.

I found the dbiSetDateFormat API to change the Date settings, but I found nowhere how to change the Database Level.

Is there anyone who knows the answer to this problem?
0
Comment
Question by:yente
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 2

Expert Comment

by:333
ID: 1339807
Database Level, it's table type (like Paradox7 or dBaseIV)?
If so, then you can restructure your tables with DbiDoRestructure, but you can't change table type with this (at least so was in BDE API Help).
So I think, you must make new tables with the same structure, but with different table type (Level 7), and copy all records from old tables to new.

A.
0
 
LVL 5

Expert Comment

by:ronit051397
ID: 1339808
procedure SetConfigParameter(Param: string; Value: string);
var
  hCur: hDBICur;
  rslt: DBIResult;
  Config: CFGDesc;
  Path, Option: string;
  Found: boolean;
  Temp: array[0..255] of char;
begin
  hCur := nil;
  Found := False;
  try
        Check(dbiInit(Nil));
    if Pos(';', Param) = 0 then
      raise EDatabaseError.Create('Invalid parameter passed to function.  There must ' +
        'be a semi-colon delimited sting passed');
    Path := Copy(Param, 0, Pos(';', Param) - 1);
    Option := Copy(Param, Pos(';', Param) + 1, Length(Param) - Pos(';', Param));
    Check(DbiOpenCfgInfoList(nil, dbiREADWRITE, cfgPERSISTENT, StrPCopy(Temp, Path), hCur));
    repeat
      rslt := DbiGetNextRecord(hCur, dbiNOLOCK, @Config, nil);
      if rslt = DBIERR_NONE then
      begin
        if StrPas(Config.szNodeName) = Option then
        begin
          StrPCopy(Config.szValue, Value);
          Check(DbiModifyRecord(hCur, @Config, FALSE));
          Found := True;
          break;
        end;
      end
      else
      if rslt <> DBIERR_EOF then Check(rslt);
    until rslt <> DBIERR_NONE;
    if Found = False then
      raise EDatabaseError.Create(Param + ' entry was not found in configuration file');
  finally
    if hCur <> nil then Check(DbiCloseCursor(hCur));
    DbiExit;
  end;
end;


SetConfigParameter('\SYSTEM\FORMATS\;FOURDIGITYEAR','TRUE');
SetConfigParameter('\SYSTEM\FORMATS\;LEADINGZEROM','TRUE');
SetConfigParameter('\SYSTEM\FORMATS\;LEADINGZEROD','TRUE');

As for Database Level, I don't know what you mean.
0
 

Author Comment

by:yente
ID: 1339809
To ronit:

The code yoiu passed indeed works for the date changes. However, it doesn't resolve my problem.

The Key I want to change is the following:
    Drivers\Native\Paradox;Level
I tried to change it with your code, without success...
(code:     SetConfigParameter('\DRIVERS\NATIVE\PARADOX;LEVEL','7');)

0
 
LVL 5

Accepted Solution

by:
ronit051397 earned 400 total points
ID: 1339810
write:
SetConfigParameter('\DRIVERS\PARADOX\TABLE CREATE\;LEVEL','7');
see also:
http://www.inprise.com/devsupport/bde/bdeapiex/dbiopencfginfolist.html
0
 

Author Comment

by:yente
ID: 1339811
Thank you very much!!!
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…
Suggested Courses
Course of the Month11 days, 18 hours left to enroll

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question