delphi的TFileStream 記憶體流

2021-06-03 19:16:38 字數 3058 閱讀 1130

一、檔案

文字檔案是以行為單位進行讀、寫操作的。文字檔案只能單獨為讀或寫而開啟,在乙個開啟的文字檔案上同時進行讀、寫操作是不允許的。

二、定義

filestream: tfilestream;

三、開啟檔案

filestream:= tfilestream.create(afilename: string; mode: word);

引數afilename:檔名;引數mode:檔案開啟的方式。

mode由開啟模式與共享模式組成,取值見下表: 分類

引數 說明

開啟模式

fmcreate

建立檔案, 如果指定檔名的檔案已經存在,則以寫模式開啟

fmopenread

唯讀開啟

fmopenwrite

以寫模式開啟檔案,寫到檔案的內容將替換檔案以前的內容

fmopenreadwrite

讀寫開啟 共

享模式

fmsharecompat

共享模式, 相容 dos

fmshareexclusive

他的應用程式不能開啟該檔案

fmsharedenywrite

其他的應用程式只能以只寫方式開啟

fmsharedenyread

其他的應用程式只能以唯讀方式開啟

fmsharedenynone

其他的應用程式可以以任何方式開啟檔案

四、讀寫檔案

function read(var buffer;count:longint):longint; //從檔案流當前位置讀count位元組到緩衝區buffer;

function write(const buffer;count:longint):longint; //將緩衝區buffer的count個位元組的資料寫到檔案流當前位置中,覆蓋該位置後面的count個位元組的資料;

function seek(offset:longint;origin:word):longint; //設定檔案流當前讀寫指標位置,origin=

function copyfrom(source:tstream;count:longint):longint; //從另一檔案流中當前位置複製count到當前檔案流當前位置;

八、關閉檔案

檔案的關閉須呼叫freeandnil(filestream)。

//乙個例項

/type

tbuffer = array [0..16000]of char

procedure getmessagefromdir( afilename: string; var abuffer: tbuffer);

var filestream: tfilestream;

begin

filestream:=tfilestream.create(afilename,fmshareexclusive);

filestream.position:=0;

filestream.read(abuffer,sizeof(abuffer));

freeandnil(filestream);

end;

procedure putmessagetodir(afilename:string; astr :string);

var filestream: tfilestream;

tempbuffer:tbuffer;

begin

strpcopy(tempbuffer,astr);

filestream:=tfilestream.create(afilename,fmshareexclusive or fmcreate);

filestream.position:=0;

filestream.write(tempbuffer,length(astr));

freeandnil(filestream);

end;

//乙個例項

Delphi 02 Delphi程式的結構

一 工程檔案 program multiunit uses sysutils,unit1 in unit1.pas begin 引用unit1中的變數,因為是在介面部分定義所以可以引用 strgreet hello world 呼叫unit1中的過程 因為是在介面部分定義所以可以引用 greetin...

delphi讀音 delphi漢字轉拼音

loading.function getpyindexchar hzchar string char begin 的到乙個漢字的拼音頭個字母 case word hzchar 1 shl 8 word hzchar 2 of b0a1.b0c4 result a b0c5.b2c0 result b...

delphi中的指標

從最初的 pascal 發展至今 的object pascal 可以說在指標運用上,絲毫不會遜色於 c語言的指標。以下內容分為八個部分,分別是 一 型別指標的定義 二 無型別指標的定義 三 指標的解除引用 四 取位址 指標賦值 五 指標運算 六 動態記憶體分配 七 字元陣列的運算 八 函式指標 對於...