亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

Delphi中用于讀寫(I/O)的三種文件類型

2019-11-18 18:59:29
字體:
來源:轉載
供稿:網友

Delphi中用于讀寫(I/O)的三種文件類型

一.舊pascal文件類型
    用舊文件變量表示的文件類型,比如 F:text,F:File. 定義了三類:有類型,無類型,字符類型以及一些Delphi的文件操作函數.比如:AssignPRn,Writeln,這些文件類和Windows文件句柄不兼容

二.Windows文件句柄(handle)
    面向對象的Pascal的文件句柄封裝了Windows文件句柄類型,文件操作函數庫則封裝了Windows API函數,比如"Fileread"就是調用了Windows API 函數"ReadFile",Delphi提供了一個Windows API操作接口如果熟悉Windows API,可以用Windows文件句進行文件操作.

三.文件流(File Streams)
    文件流是TFileStream類的對象實例,文件流是高層的文件操作類型,TFileStream提供了一個句柄屬性.用此屬性可操作Windows文件句柄類型.

如何選擇文件類型

      Windows文件句柄是較底層的文件操作類型,提供了靈活的同步及異步文件讀寫控制,以下提供用Windows文件句柄類型對文件同步及異步操作的偽代碼描述:
同步操作:
bResult = ReadFile(hFile, &inBuffer, nBytesToRead, &nBytesRead, NULL) ;
// check for eof
if (bResult &&  nBytesRead == 0, ) {
 // we're at the end of the file
 }

異步操作:
// set up overlapped structure fields 
gOverLapped.Offset     = 0;
gOverLapped.OffsetHigh = 0;
gOverLapped.hEvent     = NULL;
 
// attempt an asynchronous read Operation
bResult = ReadFile(hFile, &inBuffer, nBytesToRead, &nBytesRead,
    &gOverlapped) ;
 
// if there was a problem, or the async. operation's still pending ...
if (!bResult)
{
    // deal with the error code
    switch (dwError = GetLastError())

    {
        case ERROR_HANDLE_EOF:
        {
            // we're reached the end of the file
            // during the call to ReadFile
 
            // code to handle that
        }
 
        case ERROR_IO_PENDING:
        {
            // asynchronous i/o is still in progress
 
            // do something else for a while
            GoDoSomethingElse() ;
 
            // check on the results of the asynchronous read
            bResult = GetOverlappedResult(hFile, &gOverlapped,

                &nBytesRead, FALSE) ;
 
            // if there was a problem ...
            if (!bResult)
            {
                // deal with the error code
                switch (dwError = GetLastError())
                {
                    case ERROR_HANDLE_EOF:
                    {
                        // we're reached the end of the file
                        file  during asynchronous operation
                    }
 
                    // deal with other error cases

                }
            }
        } // end case
 
        // deal with other error cases
 
    } // end switch
} // end if
 
雖然Windows文件句柄提供靈活的文件控制,但須編寫更多的出錯處理代碼,如果對
WindowsAPI不熟悉,使用Delphi推薦的舊文件變量類型.

       Delphi的舊文件類型使用AssignFile,使文件變量和物理文件關聯,通過Delphi定義的
對文件變量的各種操作,完成文件的存取和操作.使用方便.以下提供對文件變量類
型的操作代碼描述:
var

  F: TextFile;
  S: string;
begin
  if OpenDialog1.Execute then          { Display Open dialog box }
  begin
    AssignFile(F, OpenDialog1.FileName);   { File selected in dialog box }
    Reset(F);
    Readln(F, S);                          { Read the first line out of the file }
    Edit1.Text := S;                       { Put string in a TEdit control }
    CloseFile(F);
  end;
end;

      文件流是流(stream classes)的子類,所以使用他的一個優點就是能自動繼承其父類的屬性他能很容易的和其他的流類互操作,比如你如果想把一塊動態內存塊寫入磁盤,可以使用一個TFileStream和一個TMemoryStream來完成.


上一篇:Delphi嵌入式匯編一例

下一篇:如何在Delphi中實現ASP編程

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品色婷婷福利天堂| 欧美久久精品午夜青青大伊人| 久久精品视频一| 2019中文字幕在线观看| 国产性猛交xxxx免费看久久| 5252色成人免费视频| 黄网动漫久久久| 亚洲福利影片在线| 九九热精品视频在线播放| 国产成人精品av在线| 日韩av综合网站| 国产精品青草久久久久福利99| 在线精品国产成人综合| 久久久999精品| 国产日韩欧美在线看| 色噜噜狠狠色综合网图区| 亚洲香蕉伊综合在人在线视看| 国内外成人免费激情在线视频网站| 欧美性资源免费| 亚洲自拍av在线| 欧美另类极品videosbest最新版本| 亚洲色图av在线| 日韩一区在线视频| 欧美整片在线观看| 亚洲免费电影在线观看| 蜜臀久久99精品久久久无需会员| 国产精品私拍pans大尺度在线| 欧美激情免费在线| 日韩精品999| 国产精品色悠悠| 午夜精品国产精品大乳美女| 久久久久五月天| 亚洲另类欧美自拍| 国产成人综合av| 欧美天天综合色影久久精品| 97国产在线视频| 欧美亚洲国产视频小说| 国产精品视频精品| 精品国产鲁一鲁一区二区张丽| 国产一区二区色| 欧美三级免费观看| 欧美成人精品h版在线观看| 日韩精品视频在线播放| 久久久久久久久久久免费精品| 欧美日本高清视频| 国产精品久久久久久久久久久新郎| 日韩电影在线观看中文字幕| 97在线观看免费高清| 国产精品三级在线| 欧美影院成年免费版| 欧美日韩亚洲视频一区| 欧美视频专区一二在线观看| 欧美国产精品va在线观看| 欧美性猛交xxxx富婆弯腰| 久久国产精品久久久| 亚洲成av人影院在线观看| 日本一区二区在线免费播放| 欧美黄色小视频| 亚洲区bt下载| 日韩视频亚洲视频| 亚洲国产婷婷香蕉久久久久久| 亚洲自拍小视频免费观看| 日本精品视频在线| 69av视频在线播放| 中文字幕久久精品| 91色琪琪电影亚洲精品久久| 亚洲国产天堂久久国产91| 国产精品99久久久久久久久| 亚洲综合小说区| 岛国av一区二区在线在线观看| 国产精品午夜一区二区欲梦| 国产一区二区三区在线观看视频| 欧美精品中文字幕一区| 亚洲人成在线播放| 91性高湖久久久久久久久_久久99| 精品成人久久av| 蜜臀久久99精品久久久无需会员| 亚洲美女免费精品视频在线观看| 国产999在线| 亚洲专区在线视频| www.欧美三级电影.com| 亚洲精品福利资源站| 久久精品国产一区二区三区| 另类天堂视频在线观看| 欧美性xxxxxxxxx| 亚洲性线免费观看视频成熟| 国产成人在线精品| 亚洲欧美另类国产| 亚洲另类欧美自拍| 日韩高清有码在线| 亚洲3p在线观看| 日韩资源在线观看| 久久精品国产一区二区电影| 国内外成人免费激情在线视频| 国产成人极品视频| 亚洲天堂影视av| 亚洲男人的天堂在线播放| 亚洲www在线| 久久天天躁日日躁| 精品国产31久久久久久| 欧美乱妇高清无乱码| 日韩中文理论片| 日韩激情视频在线播放| 91亚洲午夜在线| 久久精品国产久精国产思思| 国产z一区二区三区| 国产成人精品久久久| 性色av香蕉一区二区| 日韩亚洲精品视频| 亚洲欧洲日产国产网站| 欧美在线免费观看| 亚洲xxxx3d| 成人精品一区二区三区| 欧美黄色三级网站| 国产精品久久久久久久9999| 日韩有码在线播放| 57pao精品| 免费av在线一区| 久久久极品av| 在线精品播放av| 国产精品情侣自拍| 国内免费精品永久在线视频| 成人做爰www免费看视频网站| 欧美精品video| 亚洲理论片在线观看| 最新国产精品拍自在线播放| 久久天天躁狠狠躁夜夜躁| 这里只有精品在线播放| 久久久亚洲精选| 伊人久久免费视频| 国产成人精品久久久| 欧美在线中文字幕| 久久久久久久久久av| 欧美成年人视频网站欧美| 91在线精品视频| 国产精品久久久久久久天堂| 亚洲视频在线观看| 国产精品女主播视频| 欧美国产日本在线| 97精品国产91久久久久久| 中文字幕亚洲综合久久| 九九久久久久99精品| xxav国产精品美女主播| 国产在线精品自拍| 欧美疯狂性受xxxxx另类| 久久久久久久久久久亚洲| 国产亚洲欧美日韩美女| 日韩a**站在线观看| 九九综合九九综合| 欧洲日韩成人av| 亚洲欧美在线第一页| 亚洲国产精品系列| 国产欧美一区二区三区在线看| 欧美黄色片在线观看| 日韩hd视频在线观看| 亚洲国产女人aaa毛片在线| 清纯唯美亚洲激情| 国产精品观看在线亚洲人成网| 国语自产精品视频在免费| 久久久精品网站| 欧美视频二区36p| 久久视频这里只有精品| 久久久日本电影| 欧美野外wwwxxx|