請問要如何用TFileStream來寫入及讀取文字檔呢?? |
答題得分者是:sos_admin
|
rickychung
一般會員 發表:9 回覆:7 積分:3 註冊:2003-08-03 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
procedure TForm1.BitBtn16Click(Sender: TObject);
var
filestream,savestream:tfilestream; begin
//读取
filestream:=tfilestream.Create('c:\1.txt',fmopenread) ;
//创建写入
savestream:=tfilestream.Create('c:\2.txt',fmcreate) ;
try
filestream.Position :=0;
savestream.CopyFrom(filestream,0);
finally
filestream.Free ;
savestream.Free ;
end;
end;
|
rickychung
一般會員 發表:9 回覆:7 積分:3 註冊:2003-08-03 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
unit ceshi2; 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); private
{ Private declarations }
public
{ Public declarations }
end;
type
//枚举
mymj=(a,b,c,d,e);
//集合
myjh=set of mymj;
//静态数组
mysz=array[1..10] of integer;
//子界
myzj='a'..'z';
//记录
myrecord=record
name:string[100];
age:0..200;
sex:(gril,boy);
filed1:mymj;
filed2:myjh;
filed3:mysz;
filed4:myzj;
case tag:boolean of
true:(filed5:integer;);
false:(filed6:string[100]);
end;
//文件
myfile=file of myrecord;
myfile_nottype=file;
const
FileName='c:\3.txt'; var
Form1: TForm1;
tmymj:mymj;
tmyjh:myjh;
tmysz:mysz;
tmyzj:myzj;
tmyrecord:myrecord;
tmyfile:myfile;
tmyfile_nottype:myfile_nottype; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin tmyrecord.name :='sos_admin';
tmyrecord.age :=22;
tmyrecord.sex :=boy;
tmyrecord.filed1 :=a;
tmyrecord.filed2 :=[a,b,c];
tmyrecord.filed3[1]:=100;
tmyrecord.filed4 :='h';
tmyrecord.tag :=true;
tmyrecord.filed5 :=99;
tmyrecord.filed6 :='ok'; AssignFile(tmyfile,Filename);
Rewrite(tmyfile);
Write(tmyfile,tmyrecord);
closefile(tmyfile);
end; procedure TForm1.Button2Click(Sender: TObject);
begin
AssignFile(tmyfile,Filename);
Reset(tmyfile);
read(tmyfile,tmyrecord) ;
showmessage(tmyrecord.name );
showmessage(inttostr(tmyrecord.age));
//子界
showmessage(tmyrecord.filed4);
closefile(tmyfile);
end; end. 我想这个应该满足您的要求了吧,各种类型都有哦
|
rickychung
一般會員 發表:9 回覆:7 積分:3 註冊:2003-08-03 發送簡訊給我 |
我把我寫的程式碼貼上來好了 unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1;
FileStream : TFileStream;
FileName : String;
Data : array [1..10] of String; //資料
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
FileName := 'C:\Test.txt';
FileStream :=TFileStream.Create(FileName,mCreate ); FileStream.Write(Data,Sizeof(Data));
FileStream.Free ;
end;
end. 我的資料寫入後會變亂碼~~有辦法便回文字嗎??
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
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);
private
{ Private declarations }
public
{ Public declarations }
end;
type
mydata=array [1..10] of String[50]; //資料
var
Form1: TForm1;
FileStream : TFileStream;
FileName : String; implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
data:mydata;
begin
Data[1]:='aaaaaaaaaaaa';
Data[2]:='bbbbbbbbbbbb';
Data[3]:='cccccccccccc'; FileName := 'C:\Test.txt';
FileStream :=TFileStream.Create(FileName,fmCreate );
FileStream.Write(Data,Sizeof(Data));
FileStream.Free ;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
data1:mydata;
begin FileName := 'C:\Test.txt';
FileStream :=TFileStream.Create(FileName,fmopenread);
FileStream.Position :=0;
FileStream.Read(data1,Sizeof(Data1));
showmessage(data1[1]);
showmessage(data1[2]);
showmessage(data1[3]);
FileStream.Free ;
end;
end. test ok~~~~
|
rickychung
一般會員 發表:9 回覆:7 積分:3 註冊:2003-08-03 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |