中国程序员联盟 正在重新改版中ing 不便之处还请见谅 改版后将内容涉及java delphi .net php
 
  首页 | 数据库开发 | 网络通讯 | 多线程 | 多媒体开发 | 图像处理 | 程序人生 | 系统函数 | 控件开发 | Web服务
 
  当前位置:笨鱼delphi技术网>数据库开发>代码分析>文章内容

delphi 输出TDataset中的内容至逗号侵害的ASCII文件

来源:站内 关于:bill 发布时间:2007-06-21   [收藏] [推荐]
  过程代码如下:
  
  unit Unit1; 
  
  interface 
  
  uses db, classes, dialogs,sysutils; 
  
  {过程 DataSetToASCII - 从TDataSet 类型的变量 ADataSet 中输出记录
  到一个指定的 ASCII 文本文件. 各字段被名为 Delimiter 的分隔字符分隔。
  只有 Tag 属性为 0 (缺省值)的字段被输出.各条记录间用换行符分开。
  如果参数 QuoteStrings 为 True 则字段类型为 
  ftString,ftMemo,ftFmtMemo,ftFixedChar 和 ftWideString 的字段将被引号引起再输出} 
  
  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 tmpList: TStringList; 
      i,LastIndex: LongInt; 
      AsciiRecord: String; 
  begin 
    tmpList:= TStringList.Create; 
  
    try 
  
      with ADataSet do begin 
        LastIndex:= Fields.Count - 1; 
  
        First; 
  
        while not EOF do begin 
          AsciiRecord:= ''; 
  
          for i := 0 to LastIndex do 
            if Fields.Fields[i].Tag = 0 then begin 
  
              if QuoteStrings and (Fields.Fields[i].DataType 
              in [ftString,ftMemo,ftFmtMemo,ftFixedChar,ftWideString]) then 
                AsciiRecord:= AsciiRecord + QuotedStr(Fields.Fields[i].AsString) 
              else 
                AsciiRecord:= AsciiRecord + Fields.Fields[i].AsString; 
  
              if i < LastIndex then 
                AsciiRecord:= AsciiRecord + Delimiter; 
  
            end; 
  
          tmpList.Append(AsciiRecord); 
  
          Next 
        end 
      end; 
  
      try 
        tmpList.SaveToFile(ASCIIFile) 
      except 
        ShowMessage('Could not save table to specified file: ' + ASCIIFile) 
      end; 
  
    finally 
      tmpList.Free; 
    end; 
  end; 
  
  
  end.

[浏览: 次]   
上一篇:delphi COM中分配内存的注意事项   下一篇:delphi 在DataSet间快速拷贝一笔记录
[收藏] [推荐] [返回顶部] [打印本页] [关闭窗口]  
    评论加载中…
google adsense热点文章
·delphi Delphi_动态数组介绍----Delphi
·delphi 检查IP地址
·delphi DBExpress 提高
·delphi 复制Excel列到二维数组
·delphi Delphi_VCL消息处理机制的内幕
·delphi 产生不重复的随机数
·delphi 如何在DELPHI里调用MS office
·delphi 缓冲池
·delphi Asta多层应用实现
·delphi MIDAS——多层分布式应用程序服
·delphi 在WORD文档里添加页签
·delphi Datamodule的应用方式
     delphi技术网 | firefox 下载 | Avant Browser下载 | dedecms 技术网 | drupal 爱好者 | php 技术网
  Copyright@www.delphichm.com,2006-2009.All Rights Reserved.
 
程序员联盟 | delphi Java .net|QQ:707102932