在线现看午夜福利片|女人16久久免费视频|鲁丝片一区鲁丝片二区鲁丝|一区二区三区欧美在线

  1. 
    
    <b id="glvx9"></b>
        1. <blockquote id="glvx9"><meter id="glvx9"></meter></blockquote>
            首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
            2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
            MPA考試 | 中科院
            四六級(jí) | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
            新概念英語 | 成人英語三級(jí) | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
            計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
            華為認(rèn)證 | Java認(rèn)證
            公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
            報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
            人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
            駕駛員 | 網(wǎng)絡(luò)編輯
            衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
            會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
            注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國際內(nèi)審師
            一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
            質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
            設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
            城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測繪師 | 注冊(cè)計(jì)量師
            繽紛校園 | 實(shí)用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

            2011年計(jì)算機(jī)等級(jí)考試Delphi講義:文件管理

            本章首先介紹Delphi文件管理的基本概念和標(biāo)準(zhǔn)過程/函數(shù),并提供了一個(gè)記錄文件的應(yīng)用實(shí)例,這是從我們實(shí)際課題開發(fā)中提取出來的。而后介紹Delphi提供的文件控件的使用方法。最后提供的一個(gè)綜合例程MDI文件管理器則是對(duì)Delphi文件管理功能的綜合應(yīng)用。

              procedure MoveFile(const FileName, DestName: TFileName);

              var

              Destination: TFileName;

              begin

              Destination := ExpandFileName(DestName);

              if not RenameFile(FileName, Destination) then

              begin

              if HasAttr(FileName, faReadOnly) then

              raise EFCantMove.Create(Format(SFCantMove, [FileName]));

              CopyFile(FileName, Destination);

              DeleteFile(FileName);

              end;

              end;

              EFCanMove是一個(gè)自定義異常類:

              type

              EFCanMove := Class(EStreamError);

              有關(guān)自定義異常類請(qǐng)參閱第十二章。

              文件刪除、文件更名直接調(diào)用Delphi文件管理過程DeleteFile、RenameFile。它們都以文件名為參數(shù)。操作執(zhí)行前應(yīng)彈出一個(gè)對(duì)話框進(jìn)行確認(rèn),執(zhí)行完畢后應(yīng)調(diào)用Update方法更新FileList的顯示。

              6.4.5.3 一致的界面

              文件拷貝、文件移動(dòng)、 文件更名以及后邊的改變當(dāng)前目錄在形式上都表現(xiàn)為從一個(gè)源文件到一個(gè)目標(biāo)文件。因而可以采用統(tǒng)一的用戶界面,即ChangeForm對(duì)話框

              這四個(gè)菜單項(xiàng)共用一個(gè)Click事件處理過程,通過對(duì)Sender參數(shù)的檢測,決定將要打開對(duì)話框的標(biāo)題和顯示內(nèi)容。當(dāng)用戶按OK鍵關(guān)閉且目標(biāo)文件(目錄)非空時(shí),程序彈出一個(gè)消息對(duì)話框要求用戶進(jìn)一步確認(rèn),而后執(zhí)行相應(yīng)的動(dòng)作。

              共用的事件處理過程FileChange的程序清單如下:

              procedure TFMForm.FileChange(Sender: TObject);

              var

              ChangeForm: TChangeForm;

              IsFile: Boolean;

              begin

              ChangeForm := TchangeForm.Create(Self);

              IsFile := True;

              with ChangeForm do

              begin

              if Sender = Move1 then Caption := 'Move'

              else if Sender = Copy1 then Caption := 'Copy'

              else if Sender = Rename1 then Caption := 'Rename'

              else if Sender = ChangeDirectory1 then

              begin

              Caption:='Change Directory';

              IsFile:=False;

              end

              else Exit;

              if IsFile then

              begin

              CurrentDir.Caption := FileList.Directory;

              FromFileName.Text := FileList.FileName;

              ToFileName.Text := '';

              end

              else

              begin

              CurrentDir.Caption := DriveTabSet.Tabs[DriveTabSet.TabIndex];

              FromFileName.Text := DirectoryOutline.Directory;

              ToFileName.Text := '';

              end;

              if (ShowModal <> idCancel) and (ToFileName.Text <> '') then

              ConfirmChange(Caption, FromFileName.Text, ToFileName.Text);

              end;

              end;

              其中用到的自定義私有過程ConfirmChange用于執(zhí)行相應(yīng)的動(dòng)作:

              procedure TFMForm.ConfirmChange(const ACaption, FromFile, ToFile: String);

              begin

              if MessageDlg(Format('%s %s to %s', [ACaption, FromFile, ToFile]),

              mtConfirmation, [mbYes, mbNo], 0) = idYes then

              begin

              if ACaption = 'Move' then

              MoveFile(FromFile, ToFile)

              else if ACaption = 'Copy' then

              CopyFile(FromFile, ToFile)

              else if ACaption = 'Rename' then

              RenameFile(FromFile, ToFile)

              else if ACaption = 'Change Directory' then

              changeDirectory(ToFile);

              FileList.Update;

              end;

              end;

              6.4.5.4 顯示文件屬性

              當(dāng)程序執(zhí)行Properties 菜單項(xiàng)的Click 事件處理過程時(shí),首先彈出一個(gè)TFileAttrForm類型的對(duì)話框,顯示文件的屬性

              當(dāng)用戶修改并確認(rèn)后程序重新設(shè)置文件屬性。

              Properties菜單項(xiàng)的Click事件處理過程如下:

              procedure TFMForm.Properties1Click(Sender: TObject);

              var

              Attributes, NewAttributes: Word;

              FileAttrForm: TFileAttrForm;

              begin

              FileAttrForm := TFileAttrForm.Create(self);

              ShowFileAttr(FileAttrForm,FileList.FileName,FileList.Directory);

              end;

              其中過程ShowFileAttr的實(shí)現(xiàn)如下:

              procedure TFMForm.ShowFileAttr(FileAttrForm:TFileAttrForm;

              AFileName,Directory:String);

              var

              Attributes,NewAttributes: Word;

              begin

              with FileAttrForm do

              begin

              FileName.Caption := AFileName;

              FilePath.Caption := Directory;

              ChangeDate.Caption := DateTimeToStr(FileDateTime(AFileName));

              Attributes := FileGetAttr(AFileName);

              ReadOnly.Checked := (Attributes and faReadOnly) = faReadOnly;

              Archive.Checked := (Attributes and faArchive) = faArchive;

              System.Checked := (Attributes and faSysFile) = faSysFile;

              Hidden.Checked := (Attributes and faHidden) = faHidden;

              if ShowModal <> idCancel then

              begin

              NewAttributes := Attributes;

              if ReadOnly.Checked then NewAttributes := NewAttributes or faReadOnly

              else NewAttributes := NewAttributes and not faReadOnly;

              if Archive.Checked then NewAttributes := NewAttributes or faArchive

              else NewAttributes := NewAttributes and not faArchive;

              if System.Checked then NewAttributes := NewAttributes or faSysFile

              else NewAttributes := NewAttributes and not faSysFile;

              if Hidden.Checked then NewAttributes := NewAttributes or faHidden

              else NewAttributes := NewAttributes and not faHidden;

              if NewAttributes <> Attributes then

              FileSetAttr(AFileName, NewAttributes);

              end;

              end;

              end;

              以上過程中用到的函數(shù)FileDataTime在fmxutils單元中定義,返回一個(gè)TDatatime類型的變量。

              function FileDateTime(const FileName: String): System.TDateTime;

              begin

              Result := FileDateToDateTime(FileAge(FileName));

              end;

              6.4.6 其它文件管理功能的實(shí)現(xiàn)

              在子窗口的Function菜單中,定義了一些其它的文件管理功能:

              ● Search :查找一個(gè)給定名字的文件,若存在則顯示該文件屬性

              ● Disk View :顯示當(dāng)前驅(qū)動(dòng)器的大小和剩余空間

              ● View type :確定顯示文件的類型

              6.4.6.1 文件查找

              當(dāng)用戶單擊Search菜單項(xiàng)時(shí),程序彈出一個(gè)對(duì)話框(如圖6.10),要求輸入待查找的文件名和查找路徑。文件名可以是通配符。當(dāng)用戶確認(rèn)后程序顯示第一個(gè)匹配文件的屬性(如圖6.9)。查找不到匹配文件則給出相應(yīng)的信息。

              在實(shí)現(xiàn)這一功能的最初設(shè)計(jì)中,我試圖使用FileSearch函數(shù),這個(gè)函數(shù)允許在多個(gè)不同路徑中查找。但可惜的是:也許由于系統(tǒng)設(shè)計(jì)者的失誤,這個(gè)函數(shù)并沒有返回它應(yīng)該返回的東西(第一個(gè)匹配文件的全路徑名),而是仍把輸入的匹配符返回。

              沒有辦法我只能再次使用FindFirst,這個(gè)函數(shù)的特性在6.3節(jié)中已進(jìn)行了介紹。下面是這一功能的實(shí)現(xiàn)代碼。

              procedure TFMForm.search1Click(Sender: TObject);

              var

              SearchForm: TSearchForm;

              FileAttrForm: TFileAttrForm;

              FindIt,path: String;

              SearchRec: TSearchRec;

              Return: Integer;

              begin

              SearchForm := TSearchForm.Create(self);

              with SearchForm do

              begin

              SearchFile.text := '';

              SearchPath.text := DirectoryOutline.Directory;

              if (ShowModal <> idCancel) and

              (SearchFile.Text <> '') and (SearchPath.text <> '') then

              begin

              FindIt := SearchPath.text+'\'+SearchFile.text;

              Return := FindFirst(FindIt,faAnyFile,SearchRec);

              if Return <> 0 then

              FindIt := ''

              else

              FindIt := ExpandFileName(SearchRec.Name);

              end;

              if FindIt = '' then

              MessageDlg('Cannot find the file in current directory.',

              mtWarning, [mbOk], 0)

              else

              begin

              Path := ExtractFilePath(FindIt);

              FindIt := ExtractFileName(FindIt);

              FileAttrForm := TFileAttrForm.Create(self);

              ShowFileAttr(FileAttrForm,FindIt,Path);

              end;

              end;

              end;

              6.4.6.2 顯示磁盤信息

              當(dāng)用戶單擊Disk View菜單項(xiàng)時(shí),將彈出一個(gè)TDiskViewForm類型的對(duì)話框,用來顯示當(dāng)前磁盤的信息

              磁盤信息的獲取是在DiskViewForm中DriveEdit編輯框的OnChange事件處理過程中實(shí)現(xiàn)的。

              procedure TDiskViewForm.driveEditChange(Sender: TObject);

              var

              dr: Byte;

              Free,Total: LongInt;

              begin

              Free := DiskFree(0);

              Total := DiskSize(0);

              FreeSpace.text := IntToStr(Free)+ ' bytes.';

              TotalSpace.text := IntToStr(Total) + ' bytes.';

              end;

              DiskFree、DiskSize帶參數(shù)為0表示當(dāng)前驅(qū)動(dòng)器。讀者可以很容易把它改成按用戶輸入顯示磁盤信息的情況。

              DiskViewForm中的三個(gè)編輯框設(shè)計(jì)時(shí)都令ReadOnly為True。

              6.4.6.3 改變顯示文件的類型

              改變顯示文件的類型事實(shí)上是設(shè)置FileList的Mask屬性。我們利用一個(gè)標(biāo)準(zhǔn)的InputBox輸入文件的匹配字符串。而后利用Update方法更新FileList。

              procedure TFMForm.Viewtype1Click(Sender: TObject);

              var

              FileMask: String;

              begin

              FileMask := InputBox('File type','Input File type For View :',FileList.Mask);

              If FileMask = '' then FileMask := '*.*';

              FileList.Mask := FileMask;

              FileList.Update;

              CreateCaption;

              end;

              其中的CreateCaption私有過程將在(6.4.8)中進(jìn)行介紹。

              6.4.7 目錄管理功能的實(shí)現(xiàn)

              在子窗口的Directory菜單中,提供了目錄管理功能:

              ● Create Directory :創(chuàng)建一個(gè)子目錄

              ● Delete Directory :刪除一個(gè)空的子目錄

              ● Change Directory :改變當(dāng)前目錄

            上一頁  1 2 3 4 5 6 7 8 9 下一頁
              相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試試題及答案解析專題
                   預(yù)告:名師解析2010年9月計(jì)算機(jī)等級(jí)考試試題答案
                   2010年9月計(jì)算機(jī)等級(jí)考試成績查詢時(shí)間及入口
                   2010年9月計(jì)算機(jī)等考成績查詢短信免費(fèi)提醒開通
            文章搜索
            版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。