TFileStream을 이용한 읽고 쓰기 예제입니다.
type
TDataItem = record
ModelName: array[0..99] of char;
TestTime: Integer;
TestDelay: Double;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
AStream: TFileStream;
AData: TDataItem;
begin
AStream := TFileStream.Create('c:\temp\test.dat', fmCreate);
try
AData.ModelName := 'TEST MODEL';
AData.TestTime := 1200;
AData.TestDelay := 12.34;
AStream.Write(AData, SizeOf(AData));
finally
AStream.Free;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
AStream: TFileStream;
AData: TDataItem;
begin
AStream := TFileStream.Create('c:\temp\test.dat', fmOpenRead);
try
AStream.Read(AData, SizeOf(AData));
Edit1.Text := AData.ModelName;
Edit2.Text := IntToStr(AData.TestTime);
Edit3.Text := FloatToStr(AData.TestDelay);
finally
AStream.Free;
end;
end;
fbpsok 님이 쓰신 글 :
: 예제봐도 잘이해가 안되는데...
: 위 형식을 코딩해서 자세히 설명해주실수는 없는지요...
: BlockRead, Write 도 보고 TFileStream 도 보고 있습니다...
:
: civilian,안영제 님이 쓰신 글 :
: : BlockRead, BlockWrite 함수를 쓰세요.
: :
: : fbpsok 님이 쓰신 글 :
: : : C 에서 구조체를 파일로 저장하는 예제입니다....
: : : 빌더에서 자주사용하는데.....
: : : 델파이로 바꿀려면 어떻게 하면 되는지요.
: : : 부탁드립니다.
: : :
: : :
: : :
: : : typedef struct {
: : : char modelname[100];
: : : int testtime;
: : : double test_delay;
: : : .....
: : : } TestItem;
: : :
: : :
: : : TestItem TestItem1;
: : :
: : : FILE *fp;
: : : fp = fopen("testitem.dat","rb");
: : : if(fp != NULL) {
: : : fread(&TestItem1, sizeof(TestItem1), 1, fp);
: : : fclose(fp);
: : : }
: : :
: : : //-----------------------------------------------------------------------------------
: : :
: : : FILE *fp;
: : : fp = fopen("testitem.dat","wb");
: : : fwrite(&TestItem1, sizeof(TestItem1), 1, fp);
: : : fclose(fp);
|