Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Как экспортировать таблицу базы данных в ASCII-файл

Delphi , Базы данных , ASCII и CSV

Как экспортировать таблицу базы данных в ASCII-файл


unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    MyTable: TTable;
    DataSource1: TDataSource;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure ExportToASCII;
end;

var
  Form1: TForm1;

implementation
{$R *.DFM}

procedure TForm1.ExportToASCII;
const
  FASCIISeparator:string=' | ';
var
  I: Integer;
  Dlg: TSaveDialog;
  ASCIIFile: TextFile;
  Res, FASCIIFieldNames: Boolean;
  FASCIIFileName:string;
begin
  with MyTable do
  begin
    if Active then
      if (FieldCount > 0) and (RecordCount > 0) then
      begin
        Dlg := TSaveDialog.Create(Application);
        Dlg.FileName := FASCIIFileName;
        Dlg.Filter := 'ASCII-Fiels (*.asc)|*.asc';
        Dlg.Options := Dlg.Options+[ofPathMustExist,
        ofOverwritePrompt, ofHideReadOnly];
        Dlg.Title := 'Экспоритровать данные в ASCII-файл';
        try
          Res := Dlg.Execute;
          if Res then
            FASCIIFileName := Dlg.FileName;
        finally
          Dlg.Free;
        end;
        if Res then
        begin
          AssignFile(ASCIIFile, FASCIIFileName);
          Rewrite(ASCIIFile); First;
          if FASCIIFieldNames then
          begin
            for I := 0 to FieldCount-1 do
            begin
              write(ASCIIFile, Fields[I].FieldName);
              if I <> FieldCount-1 then
                write(ASCIIFile, FASCIISeparator);
            end;
            write(ASCIIFile, #13#10);
          end;
          while not EOF do
          begin
            for I := 0 to FieldCount-1 do
            begin
              write(ASCIIFile, Fields[I].Text);
              if I <> FieldCount-1 then
                write(ASCIIFile, FASCIISeparator);
            end;
            Next;
            if not EOF then
              write(ASCIIFile, #13#10);
          end;
          CloseFile(ASCIIFile);
          if IOResult <> 0 then
            MessageDlg('Ошибка при создании или переписывании '+
            'в ASCII-файл', mtError, [mbOK], 0);
        end;
      end
      else
        MessageDlg('Нет данных для экспортирования.',
        mtInformation, [mbOK], 0)
    else
      MessageDlg('Таблица должна быть открытой, чтобы данные '+
      'можно было экспортировать в ASCII-формат.', mtError, [mbOK], 0);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ExportToASCII;
end;

end.

Статья Как экспортировать таблицу базы данных в ASCII-файл раздела Базы данных ASCII и CSV может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ASCII и CSV ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
20.04.2024 06:00:57/0.035688161849976/2