Solved

BDE installation with Installshield

Posted on 1998-09-15
5
310 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
  • 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

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
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…
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

705 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now