AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Wie komprimiere ich eine Datenbank "Paradox" "DB"
Thema durchsuchen
Ansicht
Themen-Optionen

Wie komprimiere ich eine Datenbank "Paradox" "DB"

Ein Thema von Frank2269 · begonnen am 21. Aug 2003 · letzter Beitrag vom 22. Aug 2003
 
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#3

Re: Wie komprimiere ich eine Datenbank "Paradox" &

  Alt 21. Aug 2003, 18:17
Hallo Frank2269,
diese Funktion sollte Dir weiterhelfen. Der Ursprungscode stammt von Andreas Kosch aus dem Buch Delphi 3 Datenbankentwicklung (ISBN 3-7723-4033-4)
Delphi-Quellcode:
function PackTable(var Table: TTable): Boolean;
var
  aCURProps: CURProps;
  aCRTblDesc: CRTblDesc;
  aHDBIDB: HDBIDB;
  OldExclusive: Boolean;
begin
  Result := False;

  with Table do
  begin
    OldExclusive := Exclusive;
    Close;
    Exclusive := True;
    Open;

    Check(DbiGetCursorProps(Handle, aCURProps));

    case aCURProps.iSeqNums of
      // dBASE
      0: begin
           Check(DbiPackTable(DBHandle, Handle, nil, nil, True));
           Result := True;
         end;
      // Paradox
      1: begin
           Close;
           FillChar(aCRTblDesc, SizeOf(aCRTblDesc), #0);
           with aCRTblDesc do
           begin
             StrPCopy(szTblName, Table.TableName);
             bPack := True;
             iFldCount := 0;
           end;
           Check(DbiOpenDatabase(nil, nil, DbiREADWRITE, DbiOpenShared, nil,
                                 0, nil, nil, aHDBIDB));
           Check(DbiSetDirectory(aHDBIDB, PChar(Session.NetFileDir)));
           Check(DbiDoRestructure(aHDBIDB, 1, @aCRTblDesc, nil, nil, nil, False));
           Result := True;
         end;
    else
      begin
      end;
    end;
    Close
    Exclusive := OldExclusive;
    Open;
  end;
end;
bye
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz