Solved

BDE installation with Installshield

Posted on 1998-09-15
5
317 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 100 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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

Suggested Solutions

Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

737 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