Скачать
Компоненты VCL\Работа с базами данных

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика
TDbf (D3-D10.1)
TDBF - бесплатный компонент прямого доступа к базам DBF. Позволяет создавать очень компактные программы работы с базой данных, так как код работы с базой включается в исполняемый код приложения. Это обеспечивает следующие возможности:
  • Работа без BDE;
  • Позволяет использовать родные dBase типы (character, numeric, logical, date и memo);
  • Поддержаны оба типа Memo полей - text и binary, так можно использовать поля без ограничения размера;
  • Формат файлов на 100% совместим с dBase III+ or dBase IV или dBase for Windows;
  • Поддержаны таблицы Clipper и Visual FoxPro;
  • Модификация существующих таблиц включает удаление, добавление или модификацию текущей таблицы без потери данных;
  • Многопользовательский доступ совместим по блокировкам с BDE. Только один пользователь может блокировать запись для редактирования, но остальные пользователи могут читать эту запись.
  • Поддержаны индексы для быстрой сортировки, поиска и выделения диапазона на больших таблицах. Поддержаны индексы для NDX и MDX индексных файлов;
  • Выражения поддержаны как для индексов, так и для фильтров;
  • Поддержаны кодовые таблицы. зависимые от ОС и множественные региональные локализации. Это позволяет читать и писать таблицы с разными кодовыми таблицами, независимо от ОС и указывать порядок сортировки, удобный для вас и нужного вам языка.
Примеры использования
procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(IntToStr(Dbf1.RecordCount));
end;
procedure TForm1.Button2Click(Sender: TObject);
var
  s: TStrings;
begin
   s := TStringList.Create;
   Dbf1.GetFieldNames(s);
   ShowMessage(s.Text);
   s.Free;
end;
procedure TForm1.Button3Click(Sender: TObject);

  function DosToWin(s: string): string;
  var
    b: TBytes;
  begin
     b := BytesOf(s);
     b := TEncoding.Convert(TEncoding.GetEncoding(866), TEncoding.GetEncoding(1251), b);
     Result := StringOf(b);
  end;

var
  fieldlist: TFieldList;
  i: Integer;
  s: string;
begin
   fieldlist := Dbf1.FieldList;
   //Dbf1.RecNo := 0;
   for i := 0 to fieldlist.Count-1 do
      s := s + fieldlist[i].FieldName{FullName} +
           ' (' + DosToWin(fieldlist[i].Text) + ')'#13;
   ShowMessage(s);
end;
uses
  TypInfo;

procedure TForm1.Button4Click(Sender: TObject);
var
  fields: TFields;
  i: Integer;
  s: string;
begin
   fields := Dbf1.Fields;
   //Dbf1.RecNo := 0;
   for i := 0 to fields.Count-1 do
      s := s + fields[i].FieldName{FullName} +
           ' (' + GetEnumName(TypeInfo(TFieldType), Ord(fields[i].DataType)) + ')'#13;
   ShowMessage(s);
end;
procedure TForm1.Button5Click(Sender: TObject);
var
  Buffer: TValueBuffer;
begin
   Dbf1.RecNo := 100;
   SetLength(Buffer, 100);
   Dbf1.GetFieldData(1, Buffer); // Нумерация полей начинается с 1
   Buffer := TEncoding.Convert(TEncoding.GetEncoding(866), TEncoding.GetEncoding(1251), Buffer);
   ShowMessage(StringOf(Buffer));
end;
Скачать. 440kb ZIP

vkDBF 1.1.6 (D5-D10.2)
TDBF - компонент для прямого доступа к базам DBF.
Скачать. 1.1Mb ZIP