delphi文件操作 教程_delphi excel[通俗易懂]

delphi文件操作 教程_delphi excel[通俗易懂]如何在delphi中操作文件的读与写?我刚开始接触delphi,如何在delphi中操作文件的读与写,哪位朋友指教一下非常感谢!最好来段源码.varf:text;…AssignFile(f,c:/1.txt);ReWrite(f);Writeln(f,Thisisatest);CloseFile(f);…其中Rewrite是新建文件,若换成Res_delphibytearray

delphi文件操作 教程_delphi excel[通俗易懂]

如何在delphi中操作文件的读与写?
  
我刚开始接触delphi,如何在delphi中操作文件的读与写,哪位朋友指教一下非常感谢!最好来段源码.

  
var f:text;

  AssignFile(f,’c:/1.txt’);
  ReWrite(f);
  Writeln(f,’This is a test’);
  CloseFile(f);

  其中Rewrite是新建文件,若换成Reset则为打开文件
 Writeln为行写入并换行,Write为写入不换行,Readln为读一行并换行,Read为读但不换行

  
delphi 读写文件方法有很多种:
我送你一贴:
程序设计当中我们时常遇到需要处理文件、目录及驱动器的情况,本章将对如何处理不同类型的
文件进行讲述。本章包括如何使用T F i l e S t r e a m 类封装文件的输入/输出以及如何利用3 2 位Wi n d o w s 的主要特征—内存映射文件。你将学习到如何创建一个封装了内存映射文件功能的T M e m o r y M a p p e d F i l e类,并用它在文本文件中进行文本查询。本章还提供了一些关于选择驱动器、在树型目录中查询文件及获取文件版本信息的方法。本章将使你对文件、目录及驱动器有深入的认识。
处理文件的输入/输出
你将要对三种文件进行处理:文本文件、类型文件和二进制文件。以下几节是关于文件输入/输出
的讲解。文本文件指可被任意文本编辑器读取的A S C I I 文本。类型文件指包含由程序员定义的数据类型的文件。二进制文件包含了其他所有的类型,它是对包含任意格式或无格式数据的文件的统称。
文本文件的处理
本节讲述使用内建于Object Pascal 运行时库中的过程和函数处理文本文件的方法。在对文本文件进行任何处理之前,首先要打开此文本文件。声明变量:通过此变量可以来引用一个文本文件。
打开一个文件需要两步:首先是A s s i g n F i l e ( ) ,它可以将文件变量与一个文件关联起来。例如:这时,你可以进行第二步:打开文件。有三种方式打开文件:使用R e w r i t e ( )过程创建并打开文件;对于一个已存在的文件,此操作将使文件被覆盖;使用R e s e t ( )过程只读地打开一个文件;使用Append() 过程向已存在的文件追加文本。
注意Reset()将以可读写方式打开类型文件和无类型文件。可以使用C l o s e F i l e ( )来关闭一个已打开的文件。下例是各种调用的函数。
文件的打开与关闭
AssignFile :把一个外部文件名和一个文件变量相关联
Reset  :打开一个存在的文件
Rewrite    :创建并打开一个新文件(或覆盖原有文件)
Append   :以添加方式打开一个文件(只适用于文本文件)
CloseFile  :关闭一个打开的文件
FileOpen  :打开一个特定的文件并返回文件句柄
FileCreate  :创建一个给定文件名的文件并返回文件句柄
FileClose  :关闭一个特定句柄的文件
后边三个文件主要供系统内部使用,在文件复制的编程中也往往会用到。它们操作的对象是文件句柄而不是文件变量。
文件定位
Seek:把文件当前位置移到指定部分
FilePos:返回文件的当前位置
Eoln:返回行结束标志
EOF:返回文件结束标志
FileSeek:  改变当前文件指针的位置

  
还有个问题,如何判断文件已打开?要不要读写完之后就关闭文件,下次读或者写时再打开?

  
正常情况下是这样

  
用TFileStream

    对于通过Byte数组进行文件操作的,在FTP中经常会使用到,我也是在Delphi调用Web Service进行文件的上传和下载时找到这两个函数的,挺好用的,推荐给大家。(申明:非本人所写)

1. 将Byte数组生成文件

procedure ByteArrayToFile(const ByteArray : TByteDynArray; const FileName : string );
var
 Count: integer;
 F: FIle of Byte;
 pTemp: Pointer;
begin
 AssignFile( F, FileName );
 Rewrite(F);
 try
    Count := Length( ByteArray );
    pTemp := @ByteArray[0];
    BlockWrite(F, pTemp^, Count );
 finally
    CloseFile( F );
 end;
end;

2. 将文件生成Byte数组

function FiIeToByteArray(const FileName:string ):TByteDynArray;
const
  BLOCK_SIZE=1024;
var
  BytesRead,BytesToWrite,Count:integer;
  F:File of Byte;
  pTemp:Pointer;
begin
  AssignFile( F, FileName );
  Reset(F);
  try
    Count := FileSize( F );
    SetLength(Result, Count );
    pTemp := @Result[0];
    BytesRead := BLOCK_SIZE;
    while (BytesRead = BLOCK_SIZE ) do
    begin
       BytesToWrite := Min(Count, BLOCK_SIZE);
       BlockRead(F, pTemp^, BytesToWrite , BytesRead );
       pTemp := Pointer(LongInt(pTemp) + BLOCK_SIZE);
       Count := Count-BytesRead;
    end;
  finally
     CloseFile( F );
  end;
end;

function Encrypt(mStr: string; mKey: string): string;
var
  I, J: Integer;
begin
  J := 1;
  Result := ”;
  for I := 1 to Length(mStr) do begin
    Result := Result + Char(Ord(mStr[I]) xor Ord(mKey[J]));
    if J + 1 <= Length(mKey) then
      Inc(J)
    else J := 1;
  end;
  {自己加步骤}
end;

function Decrypt(mStr: string; mKey: string): string;
var
  I, J: Integer;
begin
  J := 1;
  Result := ”;
  {自己加步骤}
  for I := 1 to Length(mStr) do begin
    Result := Result + Char(Ord(mStr[I]) xor Ord(mKey[J]));
    if J + 1 <= Length(mKey) then
      Inc(J)
    else J := 1;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  cKey1 = ‘谁想试试怎么破’;
  cKey2 = ‘我可不愿意这样玩(1)我可不愿意这样玩(2)我可不愿意这样玩(3)’;
  cKey3 = ‘Memo2.Text := Decrypt(Encrypt(Memo1.Text, cKey), cKey);’;
var
  S: string; //加密后的字符
begin
  S := Encrypt(Encrypt(Encrypt(Memo1.Text, cKey1), cKey2), cKey3);
  ShowMessage(S);
  Memo2.Text := Decrypt(Decrypt(Decrypt(S, cKey3), cKey2), cKey1);
end;

今天的文章delphi文件操作 教程_delphi excel[通俗易懂]分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58663.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注