On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

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

procedure
 TMyTable.ExportToASCII;

var

  I: Integer;
  Dlg: TSaveDialog;
  ASCIIFile: TextFile;
  Res: Boolean;

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
;



Назад       Содержание       Вперёд