Allen 2009-06-15 14:41:40 16769 16 0 0 0

Delphi读取文件和写入文件总结
---
读取文件:
1,关联文件:AssignFile(pMyFile,^c: tt.csv^);
2,打开文件:Reset(pMyFile);
3,读取一行:Readln(pMyFile,pStr);
4,关闭文件:CloseFile(pMyFile);

示例:

procedure TForm1.Button1Click(Sender: TObject);
var
  pMyFile:textfile;
  pStr : string;
begin

    if OpenDialog1.Execute then begin
        Assignfile(pMyFile,OpenDialog1.FileName);
        Reset(pMyFile);
        while not Eof(pMyFile) do begin
            Readln(pMyFile,pStr);
            //fn_DelStock(pStr);  //使用读取的字符串相关语句
            next;
        end;
        CloseFile(pMyFile);
    end;

end; 

+++
写入文件:
1,关联文件:AssignFile(pMyFile,^c: tt.csv^);
2,打开文件:ReWrite(pMyFile);   //如果文件不存在,用ReWrite打开
             Append(pMyFile);   //如果文件已经存在,追加内容,用Append打开
3,写入一行:WriteLn(pMyFile,pStr); 
4,关闭文件:CloseFile(pMyFile);

示例一:

procedure TForm1.Button1Click(Sender: TObject);

var

  i:integer  ;

  pMyFile: textfile;

begin

    system.AssignFile(pMyFile,^d: est.txt^);

    rewrite(pMyFile);

    {closefile(pMyFile);  

 

    system.AssignFile(pMyFile,^d: est.txt^);

    append(pMyFile);    // 此部分可有可无   }

    for i:=1 to 100 do begin

         writeln(pMyFile,intTostr(i)+^ X ^+intTostr(i)+^ = ^+intTostr(i*i));

    end ;

    closefile(pMyFile);

 

    showmessage(^写入文件完成!^);

end;

 

示例二:

procedure TForm1.WLog(pMsg: string);

var

  pFObJect,pFPath,pFName: string;

  pMyFile: textFile;

  pStr: string;

begin

 

    pFPath:=^d:^;

    pFName:=^StockDel_^+formatDateTime(^yyyymmddhhmmss^,now);

    pFObject:=pFPath + ^^ + pFName + ^.csv^;

    try

        AssignFile(pMyFile,pFObject);

        if FileExists(pFObject)=false then

            ReWrite(pMyFile)

        else

            Append(pMyFile);

        pStr:=pMsg;

        WriteLn(pMyFile,pStr);

    finally

        CloseFile(pMyFile);

    end;

 

end; 

 

+++
公用写日志文件过程

//==ini文件设置:
^日志选项和文件 当Log_Flag=N时不记录,否则均记录
  Log_Flag=1
  Log_PathFileName=\10.105.10.12cPrd_220_Filelog.dat

//==声明全局变量
  x_pLogFile: string;       //日志文件名称
  x_pLogFlag: string;       //是否记录日志,N:不写日志
  x_pFindLogFile: boolean;  //记录日志文件是否存在,避免每次写日志时都要判断。

//==过程声明
  procedure cpWriteLog(pFObject:string; pTxt:string; pMode:byte);

//==初始化全局变量
procedure TForm1.FormCreate(Sender: TObject);
begin
  x_pLogFile:= cfReadIniFile(X_cProgID,^Log_PathFileName^,^c:ENRC0300_Log.txt^);
  x_pLogFlag:= cfReadIniFile(X_cProgID,^Log_Flag^,^N^);
end;

//==写日志过程
procedure cpWriteLog(pFObject:string; pTxt:string; pMode:byte);
var
  pMyFile: textFile;
begin
    if x_pLogFlag=^N^ then exit;
    try
        AssignFile(pMyFile,pFObject);
        if pMode=1 then pTxt:= DateTimeToStr(Now)+^ ^+pTxt;
        if x_pFindLogFile=True then
            append(pMyFile)
        else begin
            if FileExists(pFObject) then
                append(pMyFile)
            else
                reWrite(pMyFile);
            x_pFindLogFile:=true;
        end;
        WriteLn(pMyFile,pTxt);
    finally
        CloseFile(pMyFile);
    end;
end;

//==调用过程
    x_pMsg:=^导出程序[^+X_cProgID+^]打开,^;
    cpWriteLog(x_pLogFile,x_pMsg,1);

   
 


Tag: Delphi技巧 TTTBLOG
我也要发一个   ·   返回首页   ·   返回[Delphi]   ·   前一个   ·   下一个
评论
Allen#11Allen 2014-11-12 21:44:39(N) 链接地址
| 2940 | 丰田4S店 | 2014-11-12 21:44:39 | [email protected] | http://www.qcbfc.com |
-----
北京市汽车报废厂新址http://www.qcbfc.com 全国免费咨询电话400-004-3165
Allen#12Allen 2014-11-13 10:29:39(N) 链接地址
| 2941 | www.qjjunyue.com | 2014-11-13 10:29:39 | [email protected] | http://www.qjjunyue.com |
-----
写的实在是太好了,一定要支持一下www.qjjunyue.comiWDEZ
Allen#13Allen 2014-11-14 12:47:23(N) 链接地址
| 2947 | www.heizilan.com | 2014-11-14 12:47:23 | [email protected] | http://www.heizilan.com |
-----
路过看看 学习了,谢谢分享www.heizilan.comC20h2
Allen#14Allen 2014-11-14 16:36:38(N) 链接地址
| 2949 | F35Mv4 | 2014-11-14 16:36:38 | [email protected] | |
-----
标牌铭牌成都固锝科技www.goodprecision.com这个文章真要好好学习学习A7vmW
Allen#15Allen 2014-11-18 14:28:24(N) 链接地址
| 2959 | FKWVsK | 2014-11-18 14:28:24 | [email protected] | |
-----
印度代购:易瑞沙,特罗凯,多吉美,格列卫等,印度直邮,可带发票,QQ 5832135223YWRU
Allen#16Allen 2015-03-29 00:00:54(N) 链接地址
| 3121 | 云端设计 | 2015-03-29 00:00:54 | | http://www.cloudesigner.cn/ |
-----
不错呀http://www.cloudesigner.cn/
首页     顶部     前页  ·   2/2 
欢迎评论
未登录,
请先 [ 注册 ] or [ 登录 ]
(一分钟即可完成注册!)
返回首页     ·   返回[Delphi]   ·   返回顶部