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

•  DeLiKaTeS Tetris (Тетрис)  3 679

•  TDictionary Custom Sort  5 814

•  Fast Watermark Sources  5 613

•  3D Designer  8 238

•  Sik Screen Capture  5 934

•  Patch Maker  6 396

•  Айболит (remote control)  6 389

•  ListBox Drag & Drop  5 246

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

•  Графические эффекты  6 580

•  Рисование по маске  5 657

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

•  Canvas Drawing  5 144

•  Рисование Луны  4 877

•  Поворот изображения  4 424

•  Рисование стержней  3 126

•  Paint on Shape  2 369

•  Генератор кроссвордов  3 238

•  Головоломка Paletto  2 559

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

•  Пазл Numbrix  2 210

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

•  Игра HIP  1 831

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

•  Симулятор лифта  2 080

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

•  Генератор лабиринта  2 249

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

•  HEX View  2 236

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

 
скрыть

  Форум  

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

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



Delphi Sources

Читаем файл Access используя ADO




// Читаем файл (любой версии) 
// Проверяем что это ACCESS MDB 
// Нужны компаненты: 
// TADOtable,TDataSource,TOpenDialog,TDBGrid,TBitBtn. 
unit uMain; 

interface 

uses 
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 
Db, DBTables, ADODB, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls, Buttons; 

type 
  TfrmMain = class(TForm) 
    DSUsers: TDataSource; 
    DBGridUsers: TDBGrid; 
    BitBtn1: TBitBtn; 
    OpenDialog1: TOpenDialog; 
    TUsers: TADOTable; 
    procedure FormCreate(Sender: TObject); 
    procedure ValidateAccessDB; 
    function CheckIfAccessDB(lDBPathName: string): boolean; 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 

var 
  frmMain: TfrmMain; 
const 
  DBNAME = 'ADODemo.MDB'; 
  DBPASSWORD = '123'; // Access DB Password Protected 

implementation 

{$R *.DFM} 

procedure TfrmMain.FormCreate(Sender: TObject); 
begin 
  validateAccessDB; 
end; 

procedure TfrmMain.ValidateAccessDB; 
var 
  lDBpathName : String; 
  lDBcheck : boolean; 
begin 
  if FileExists(ExtractFileDir(Application.ExeName) + '\' + DBNAME) then 
    lDBPathName := ExtractFileDir(Application.ExeName) + '\' + DBNAME 
  else if OpenDialog1.Execute then 
    // Set the OpenDialog Filter for ADOdemo.mdb only 
    lDBPathName := OpenDialog1.FileName; 

  lDBCheck := False; 
  if Trim(lDBPathName) <> '' then 
    lDBCheck := CheckIfAccessDB(lDBPathName); 

  if lDBCheck = True then 
  begin 
    // ADO Connection String to the MS-ACCESS DB 
    TUsers.ConnectionString := 
      'Provider=Microsoft.Jet.OLEDB.4.0;' + 
      'Data Source=' + lDBPathName + ';' + 
      'Persist Security Info=False;' + 
      'Jet OLEDB:Database Password=' + DBPASSWORD; 
    TUsers.TableName := 'Users'; 
    TUsers.Active := True; 
  end 
  else 
    frmMain.Free; 
end; 

// Check if it is a valid ACCESS DB File Before opening it. 

function TfrmMain.CheckIfAccessDB(lDBPathName: string): Boolean; 
var 
  UnTypedFile: file of byte; 
  Buffer: array[0..19] of byte; 
  NumRecsRead: Integer; 
  i: Integer; 
  MyString: string; 
begin 
  AssignFile(UnTypedFile, lDBPathName); 
  reset(UnTypedFile); 
  BlockRead(UnTypedFile, Buffer, High(Buffer), NumRecsRead); 
  CloseFile(UnTypedFile); 
  for i := 1 to High(Buffer) do 
    MyString := MyString + Trim(Chr(Ord(Buffer[i]))); 
  Result := False; 
  if Mystring = 'StandardJetDB' then 
    Result := True; 
  if Result = False then 
    MessageDlg('Invalid Access Database', mtInformation, [mbOK], 0); 
end; 
end.





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

Чтение PSD файлов

Шифратор файлов

Разбиение файла на части

Поиск файлов

 

FileMan (менеджер файлов)

Поиск открытых файлов

Текст внутри файла

Transfer Tables Excel-Access

 

Создание таблиц в Paradox




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

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