unit Unit1; interface uses Db, Classes, Dialogs, SysUtils; procedure DataSetToASCII(const ADataSet: TDataSet; const ASCIIFile: TFileName; const Delimiter: Char; const QuoteStrings: Boolean); implementation procedure DataSetToASCII(const ADataSet: TDataSet; const ASCIIFile: TFileName; const Delimiter: Char; const QuoteStrings: Boolean); var i, LastIndex: LongInt; AsciiRecord: String; begin with TStringList.Create, ADataSet do try LastIndex:= Pred(Fields.Count); First; while not EOF do begin AsciiRecord:= ''; for i := 0 to LastIndex do begin if Fields.Fields[i].Tag = 0 then begin if (QuoteStrings) and (Fields.Fields[i].DataType in [ftString, ftMemo, ftFmtMemo, ftFixedChar, ftWideString]) then begin AsciiRecord := AsciiRecord + AnsiQuotedStr(Fields.Fields[i].AsString); end else begin AsciiRecord := AsciiRecord + Fields.Fields[i].AsString; end; if (i < LastIndex) then AsciiRecord:= AsciiRecord + Delimiter; end; end; Append(AsciiRecord); Next; end; try SaveToFile(ASCIIFile) except ShowMessage('テーブルは指定されたファイル: ' + ASCIIFile + ' にセーブできませんでした。'); end; finally Free; end; end; end.
コメント (0件)