Delphi中把Integer数组保存到文件并读取

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

type
  TIntArray = array of Integer;

{把 Integer 数组写入文件的函数}
function IntArrToFile(ns: TIntArray; FileName: string): Boolean;
var
  IntFile: file of Integer;
  n: Integer;
begin
  try
    AssignFile(IntFile, FileName);
    if FileExists(FileName) then Reset(IntFile) else Rewrite(IntFile);
    Seek(IntFile, FileSize(IntFile));
    for n in ns do Write(IntFile, n);
    Result := True;
  finally
    CloseFile(IntFile);
  end;
end;

{读取的函数}
function FileToIntArr(FileName: string; var ns: TIntArray): Integer;
var
  IntFile: file of Integer;
begin
  if not FileExists(FileName) then Exit(0);
  AssignFile(IntFile, FileName);
  Reset(IntFile);

  while not Eof(IntFile) do
  begin
    SetLength(ns, Length(ns)+1);
    Read(IntFile, ns[High(ns)]);
  end;

  CloseFile(IntFile);
  Result := Length(ns);
end;

{写入测试}
procedure TForm1.Button1Click(Sender: TObject);
var
  IntArr: TIntArray;
begin
  SetLength(IntArr, 3);
  IntArr[0] := 111;
  IntArr[1] := 222;
  IntArr[2] := 333;

  IntArrToFile(IntArr, 'c:\temp\test.num');
end;

{读取测试}
procedure TForm1.Button2Click(Sender: TObject);
var
  IntArr: TIntArray;
  n: Integer;
begin
  FileToIntArr('c:\temp\test.num', IntArr);
  for n in IntArr do ShowMessage(IntToStr(n));
end;

end.

时间: 2024-09-09 13:11:46

Delphi中把Integer数组保存到文件并读取的相关文章

C#如何将Byte[]数组保存到文件

问题描述 我现在把有500多个byte[]数组,每个数组里面有900左右个字节.C#如何将这些Byte[]数组保存到txt文件(需要分行,每个数组分一行),或者是直接保存成图片格式(如果可以的话最好了,这些数据RGB格式的数据),如果能做出后者酌情加分. 解决方案 解决方案二:直接保存File.WriteAllBytes(数组)保存为文本File.WriteAllText(string.Concat(数组.Select(x=>x.ToString("X2"))))解决方案三:直接

降噪-Delphi 2007中如何将数组中的值以音频形式播放出来

问题描述 Delphi 2007中如何将数组中的值以音频形式播放出来 我的程序中首先将两个wav文件分别读入两个数组,然后进行了降噪算法,最后输出为e,e是一个元素个数为二百多万的real型动态数组,我现在想将其以声音形式播放出来,请问需要怎样做?waveout可以实现吗? 多谢各位大神 解决方案 使用Beep函数,它可以自定义频率和时间http://www.feiesoft.com/api/Beep.html

C++将CBitmap类中的图像保存到文件的方法_C 语言

本文实例讲述了C++将CBitmap类中的图像保存到文件的方法.分享给大家供大家参考.具体实现方法如下: 使用下面的代码,可以把CBitmap类中的图像保存到图像文件中.支持格式:BMP.JPG.GIF和PNG. void SaveBitmap(CString strFilePath, CBitmap Bitmap) { if ( Bitmap.m_hObject ) { CImage imgTemp; // CImage是MFC中的类. imgTemp.Attach(Bitmap.operat

序列化-java中一个没有被序列的对象,想保存到文件上,有没有办法?

问题描述 java中一个没有被序列的对象,想保存到文件上,有没有办法? 在java中,得到了一个对象,这个对象的类不是我定义的,没有序列化,我有没有办法将这个对象写到文件上,下次用的时候读出这个对象? 解决方案 没有序列化是有原因的,有些对象并不能被序列化.比如我们用一个对象来关联一个进程,实现对操作系统进程操作的包装.这个对象包含进程id这样的字段,以及诸如复制进程.停止进程这样的方法.那么这样的对象就不能序列化. 因为序列化没有意义.你将这个对象的存储全部dump下来,重新开机,这个进程id

通讯录中包括一般通讯录中的基本信息,也需要实现普通的检索功能。通讯录写入文件,程序执行时,需要从文件中导入数据,程序退出后再将数据保存到文件中。

问题描述 通讯录中包括一般通讯录中的基本信息,也需要实现普通的检索功能.通讯录写入文件,程序执行时,需要从文件中导入数据,程序退出后再将数据保存到文件中. 解决方案 解决方案二:楼主的逻辑好混乱,百度一下JAVAI/O例子吧,用于文件读写的,或者百度一下JAVA解析XML,保存通信录用文件的话还是建议使用XML格式比较好解决方案三:不知道你说的是不是android里面,如果是的话可以直接找到方法取.

明天要交期末作业,在线等。昨天发帖没人理我.VECTOR对象如何保存到文件中啊

问题描述 我是Java初学者,请问是否可以将vector的对象直接保存到文件中和从文件中读取呢?写的是一个电话本程序,conects是一个vector对象.下面是代码的一部分,是我照着书上自己乱写的,一保存就会报异常.求大神指导.publicvoidSave(Filefile){//保存方法try{FileOutputStreamtext=newFileOutputStream(file);ObjectOutputStreamfw=newObjectOutputStream(text);fw.w

求助,vector对象如何保存到文件中?

问题描述 我是Java初学者,请问是否可以将vector的对象直接保存到文件中和从文件中读取呢?写的是一个电话本程序,conects是一个vector对象.下面是代码的一部分,是我照着书上自己乱写的,一保存就会报异常.求大神指导.publicvoidSave(Filefile){//保存方法try{FileOutputStreamtext=newFileOutputStream(file);ObjectOutputStreamfw=newObjectOutputStream(text);fw.w

Java将对象保存到文件中/从文件中读取对象的方法_java

1.保存对象到文件中 Java语言只能将实现了Serializable接口的类的对象保存到文件中,利用如下方法即可: public static void writeObjectToFile(Object obj) { File file =new File("test.dat"); FileOutputStream out; try { out = new FileOutputStream(file); ObjectOutputStream objOut=new ObjectOutp

《R语言与数据挖掘最佳实践和经典案例》—— 3.5 将图表保存到文件中

3.5 将图表保存到文件中 如果在数据探索的过程中生成了大量的图表,一种好的做法就是将所有的图表保存到一个文件中.R提供了很多函数用于保存图表.下面的例子分别使用函数pdf()和postscript()将图表保存到PDF文件和PS文件中.BMP.JPEG.PNG和TIFF格式的图像文件可以分别由函数bmp().jpeg().png()和tiff()生成.需要注意的是,这些文件(或图像设备)在图像绘制完成后,需要使用函数graphics.off()或dev.off()关闭.