一、使用filestream
例1、code
varqfilestream: tfilestream;
buffer:
string
;
begin
qfilestream :
=tfilestream.create(
'test.txt
', fmcreate);
qfilestream.seek(
0, sofromend);
buffer :='
i here add a string';
//寫入檔案的字串
qfilestream.write(buffer[
1], length(buffer));
//緩衝區首址 and 寫入個數。
length(buffer));這樣也行
qfilestream.free;
//別忘了釋放
end;
//read
varqfilestream: tfilestream;
buffer:
string
;
qfilesize: integer;
begin
qfilestream :
=tfilestream.create(
'test.txt
', fmopenread);
qfilesize :
=qfilestream.seek(
0, sofromend);
setlength(buffer, qfilesize);
//設定你要讀的字元個數。
qfilestream.seek(
0, sofrombeginning);
qfilestream.read(pchar(buffer)^, qfilesize);
qfilestream.free;
memo1.text :
=buffer;
end;
例子2、
procedure filecopy( const sourcefilename, targetfilename: string );
var
s, t: tfilestream;
begin
s :=
tfilestream.create( sourcefilename, fmopenread );
tryt :
=tfilestream.create( targetfilename,fmopenwrite
orfmcreate );
tryt.copyfrom(s, s.size ) ;
finally
t.free;
end;
finally
s.free;
end;
end;
二、使用textfile
①讀取檔案內容。在以讀的方式開啟檔案後,可以使用read和readln語句來讀取檔案內容,其宣告**格式分別為:
read和readln的區別為後者在讀取資料後,將檔案指標移至下一行,上次讀取的資料與回車符之間的資料被忽略。
當讀取字串時,必須用readln過程,否則讀完一行資料後,再使用read讀取字串將得到空串。
當讀取整型和實型資料時,檔案中的資料用空格分隔,且必須符合資料格式,否則將產生i/o錯誤。
在讀取檔案時,還必須判斷檔案指標是否已到檔案尾部,此時可以用eof函式進行判斷,其宣告**如下:
function eof(f):boolean;
當檔案指標指到尾部時,該函式返回值為true。
②向檔案寫入資料。以寫的方式開啟檔案後,即可向其中寫入資料,寫人資料使用write和
writeln(f,text)
(4)使用檔案變數關閉檔案
closefile(f);
關閉檔案後,系統釋放開啟檔案時使用的資源。特別是寫檔案時,在呼叫write和writeln過程時,資料先寫入記憶體緩衝區,只有在緩衝區滿或關閉檔案時,才把資料真正寫入磁碟檔案中,因此寫完資料後不關閉檔案可能丟失資料。
寫檔案:
procedure
tfrmzcgl.addtofile(filename, content:
string
);var
strtime:
string
;textf:textfile;
begin
strtime:
=datetostr(now)+'
'+timetostr(now);
assignfile(textf,filename);
ifnot
fileexists(filename)
then
begin
showmessage(pchar(filename+'
不存在,建立新檔案
'));
rewrite(textf);
end+''
+strtime);
closefile(textf);
end;
讀檔案:
procedure
readfile(sender: tobject);
//讀檔案
varrtext: textfile;
tmp:string;
begin
richedit2.clear;
//清除原來的內容
assignfile(rtext,
'ip.txt');
reset(rtext);
while
noteof(rtext)
dobegin
readln(rtext,tmp);
richedit2.lines.add(tmp);
end;
closefile(rtext);
end;
Delphi 檔案操作的封裝
unit fileoper inte ce uses windows,shellapi,sysutils type tfileoper class public class function winerasefile owner integer wichfiles string sendtorecy...
Delphi 操作Ini檔案
delphi提供了乙個tinifile類,使我們可以非常靈活的處理ini檔案 一 ini檔案的結構 小節名 ini檔案 關鍵字1 值1 關鍵子2 值2 ini檔案允許有多個小節,每個小節又允許有多個關鍵字,後面是該關鍵字的值。值的型別有三種 字串 整型數值和布林值。其中字串存貯在ini檔案中時沒有引...
delphi操作ini檔案
如何操作ini檔案?ini 檔案在系統配置及應用程式引數儲存與設定方面,具有很重要的作用,所以視覺化的程式設計一族,如 vb vc vfp delphi 等都提供了讀寫 ini 檔案的方法,其中delphi中操作 ini 檔案,最為簡潔,這是因為delphi3提供了乙個 tinifile 類,使我們...