|
Экспортировка табл. базы данных в 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;Разместил
Razer | |
|
| | | | | | |
|