Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  154

•  TDictionary Custom Sort  3 334

•  Fast Watermark Sources  3 085

•  3D Designer  4 844

•  Sik Screen Capture  3 337

•  Patch Maker  3 550

•  Айболит (remote control)  3 655

•  ListBox Drag & Drop  3 012

•  Доска для игры Реверси  81 679

•  Графические эффекты  3 939

•  Рисование по маске  3 245

•  Перетаскивание изображений  2 626

•  Canvas Drawing  2 748

•  Рисование Луны  2 576

•  Поворот изображения  2 185

•  Рисование стержней  2 168

•  Paint on Shape  1 568

•  Генератор кроссвордов  2 234

•  Головоломка Paletto  1 767

•  Теорема Монжа об окружностях  2 228

•  Пазл Numbrix  1 685

•  Заборы и коммивояжеры  2 057

•  Игра HIP  1 282

•  Игра Go (Го)  1 230

•  Симулятор лифта  1 474

•  Программа укладки плитки  1 216

•  Генератор лабиринта  1 547

•  Проверка числового ввода  1 364

•  HEX View  1 497

•  Физический маятник  1 358

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Программное сжатие базы данных Access используя JRO (Jet Replication Objects)



Автор: Savva

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Программное сжатие базы данных Access используя JRO (Jet Replication Objects)

Процедура позволяет сжать базу данных в формате Access,
используя JRO (Jet Replication Objects). Действие аналогичное
пункту меню в Access "Сервис -> Служебные программы ->
Сжать и восстановить базу данных".
Параметры:
* DatabaseName - путь к исходной (не сжатой) базе данных
* DestDatabaseName - путь к сжатой базе данных
(по умолчанию пустой - в этом случае исходная база заменяется сжатой)
* Password - пароль базы данных (по умолчанию пустой)

PS. этот код был написан в связи с тем что аналогичная процедура
через DAO у многих не работала (по пока неизвестным для меня причинам)

Зависимости: windows,SysUtils,ComObj,Dialogs (Dialogs можно исключить
используя MessageBox для вывода сообщения исключительной ситуации)
Автор:       savva, savva@nm.ru, ICQ:126578975, Орел
Copyright:   Сапронов Алексей (Savva)
Дата:        9 сентября 2002 г.
***************************************************** }

procedure CompactDatabase_JRO(DatabaseName: string; DestDatabaseName: string =
  ''; Password: string = '');
const
  Provider = 'Provider=Microsoft.Jet.OLEDB.4.0;';
var
  TempName: array[0..MAX_PATH] of Char; // имя временного файла
  TempPath: string; // путь до него
  Name: string;
  Src, Dest: WideString;
  V: Variant;
begin
  try
    Src := Provider + 'Data Source=' + DatabaseName;
    if DestDatabaseName <> '' then
      Name := DestDatabaseName
    else
    begin
      // выходная база не указана - используем временный файл
      // получаем путь для временного файла
      TempPath := ExtractFilePath(DatabaseName);
      if TempPath = '' then
        TempPath := GetCurrentDir;
      //получаем имя временного файла
      GetTempFileName(PChar(TempPath), 'mdb', 0, TempName);
      Name := StrPas(TempName);
    end;
    DeleteFile(PChar(Name)); // этого файла не должно существовать :))
    Dest := Provider + 'Data Source=' + Name;
    if Password <> '' then
    begin
      Src := Src + ';Jet OLEDB:Database Password=' + Password;
      Dest := Dest + ';Jet OLEDB:Database Password=' + Password;
    end;

    V := CreateOleObject('jro.JetEngine');
    try
      V.CompactDatabase(Src, Dest); // сжимаем
    finally
      V := 0;
    end;
    if DestDatabaseName = '' then
    begin // т.к. выходная база не указана
      DeleteFile(PChar(DatabaseName)); //то удаляем не упакованную базу
      RenameFile(Name, DatabaseName); // и переименовываем упакованную базу
    end;
  except
    // выдаем сообщение об исключительной ситуации
    on E: Exception do
      ShowMessage(e.message);
  end;
end;

Пример использования:

...
db.Close;
CompactDatabase_JRO('c:\database.mdb',
  'c:\Archiv\database_pack.mdb', 'password');
db.open;
...




Похожие по теме исходники

Pevrica (сжатие данных)

ExeFog (сжатие EXE)

Экспорт баз данных в Excel

База данных "Книжный магазин"

 

База данных Видеофильмов

База данных "Школа"

База данных без BDE

База данных студентов

 

Фильтрование данных

Transfer Tables Excel-Access

Draw Objects

Work with Objects

 



Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте