首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(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è)資格 | 司法考試 | 法律顧問(wèn) | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書(shū)資格 | 心理咨詢師考試 | 出版專業(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ī)劃師 | 國(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è)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

2011計(jì)算機(jī)等級(jí)考試Delphi講義:字符串列表應(yīng)用

本章介紹多文本界面(MDI)、多頁(yè)面界面(MPI)技術(shù);VCL庫(kù)中TMemo,TEdit 控件以及有關(guān)文本編輯的常用對(duì)話框的使用。

  4.4.4 打開(kāi)對(duì)話框部件

  打開(kāi)對(duì)話框部件為應(yīng)用程序顯示打開(kāi)對(duì)話框。使用Execute方法可顯示打開(kāi)對(duì)話框用戶通過(guò)選擇文件類型下拉框中的文件類型,可以確定顯示在文件列表中的文件。 例如,如果用戶選擇*.txt文件類型,那么只有在當(dāng)前目錄下的文本文件才會(huì)顯示在文件列表中。文件擴(kuò)展名通常也稱為過(guò)濾器。

  打開(kāi)對(duì)話框包含一個(gè)Filters(過(guò)濾器)的屬性,它可確定文件類型和在文件類型下拉框中的順序。應(yīng)用程序可以為打開(kāi)對(duì)話框定義多個(gè)過(guò)濾器,對(duì)話框的FilterIndex 屬性可以決定哪個(gè)過(guò)濾器是文件類型下拉框中的缺省過(guò)濾器。如FilterIndex等于2,表示程序運(yùn)行時(shí)出現(xiàn)在文件類型下拉框的過(guò)濾器是第2個(gè)過(guò)濾器。來(lái)源:考試大的美女編輯們

  例程中關(guān)于文件打開(kāi)的代碼如下:

  procedure TEditForm.Open/Click(Sender : TObject);

  begin

  if OpenDialog/.Execult then

  begin

  …

  Open(Open Dialog/.FileName)

  end

  end;

  打開(kāi),保存對(duì)話框中的Options屬性值見(jiàn)表4.4

  表4.4 打開(kāi)、保存對(duì)話框的Options屬性取值及含義

 

  ofAllowMultiSelect 如果是真值,則允許在文件名列表中選擇多個(gè)文件。

  ofCreatePrompt 如果是真值,當(dāng)用戶在文件編輯框中輸入一不存在的文件名,

  并選擇OK按鈕,則會(huì)出現(xiàn)消息框, 提示用戶此文件不存在并

  詢問(wèn)是否以此文件名創(chuàng)建一新文件。

  ofExiengronDifferent 如果是真值,從對(duì)話框中返回的文件擴(kuò)展名將不同于缺省擴(kuò)展名。

  其值存入DefaultExt屬性中。

  ofFileMustExist 如果是真值, 當(dāng)用戶在文件編輯框中輸入一個(gè)不存在的文件名時(shí),

  并選擇OK按鈕, 則會(huì)出現(xiàn)一消息框提示用戶此文件不存,并詢

  問(wèn)是否輸入了正確的路徑和文件名。

  ofNoChangeDir 如果是真值,當(dāng)前目錄將設(shè)置成對(duì)話框第一次出現(xiàn)的目錄,并忽

  略任何目錄改變。

  ofOverWritePrompt 如果是真值,當(dāng)用戶試圖保存一個(gè)已存在的文件時(shí), 將出現(xiàn)一消息

  框,提示用戶此文件已存在,并詢問(wèn)是否覆蓋。

  ofPathMastExit 如果是真值,用戶在文件名編輯框只能輸入有效路徑名, 否則出

  現(xiàn)消息框,提示用戶路徑無(wú)效。

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  表4.4 打開(kāi)、保存對(duì)話框中的Options屬性取值及含義

  文件保存對(duì)話框與打開(kāi)對(duì)話框類似,如圖4.11。它的Option屬性見(jiàn)上表。例程在保存文件前先對(duì)文件進(jìn)行讀寫判斷,如果文件是只讀文件或未指定文件名的新文件, 則程序?qū)ξ募槐4,否則備份文件。代碼如下:

  procedure TEditForm.Save1Click(Sender: TObject);

  procedure CreateBackup(const Filename: string);

  var

  BackupFilename: string;

  begin

  BackupFilename := ChangeFileExt(Filename, BackupExt);

  DeleteFile(BackupFilename);

  RenameFile(Filename, BackupFilename);

  end;

  function IsReadOnly(const Filename: string): Boolean;

  begin

  Result := Boolean(FileGetAttr(Filename) and faReadOnly);

  if Result then MessageDlg(Format('%s is read only.',

  [ExtractFilename(Filename)]), mtWarning, [mbOK], 0);

  end;

  begin

  if (Filename = '') or IsReadOnly(Filename) then

  SaveAs1Click(Sender)

  else

  begin

  CreateBackup(Filename);

  Memo1.Lines.SaveToFile(Filename);

  Memo1.Modified := False;

  end;

  end;

  其中CreateBackup過(guò)程用以改變需備份文件的擴(kuò)展名。IsReadOnly 用以判斷文件屬性。

  4.5 文件打印

  在Delphi中,文件打印有兩種方式:

  1. 將文件變量分配給打印機(jī),用此變量名創(chuàng)建或打開(kāi)文件后, 往此文件變量寫入的任何文本都視為向打印機(jī)輸出,以下過(guò)程可實(shí)現(xiàn)文件的打印。

  procedure TEditForm,Print1Click(Sender: TObject);

  var

  Line: Integer;

  PrintText: System.Text;

  begin

  if PrintDialog1.Execute then

  begin

  AssignPrn(PrintText)

  Rewrite(PrintText);

  Print.CanvasFont := Memo1.Font;

  For Line := 0 to Memo1.Lines.Count - 1 do

  Writeln(PrintText,Memo1.Line[line];

  System.Close(PrintText);

  end;

  end;

  2. 利用Printers單元中定義的TPrinter對(duì)象進(jìn)行文件打印,本章例程采用這種方法打印文件。

  4.5.1 TPrinter對(duì)象

  TPrinter對(duì)象可調(diào)用Windows的打印機(jī),在Printer 單元中定義了TPrinter 的實(shí)例Printer,用戶可直接使用。

  調(diào)用TPrinter的BeginDoc方法可開(kāi)始一項(xiàng)打印工作,調(diào)用EndDoc 方法可結(jié)束一項(xiàng)已成功發(fā)送給打印機(jī)的工作。如果在發(fā)送過(guò)程中出現(xiàn)問(wèn)題或用戶想中途終止打印工作,可調(diào)用Abort方法。

  通過(guò)檢查Printing屬性可測(cè)試當(dāng)前是否有打印工作,如果打印工作被終止,Abort屬性為真。

  Canvas屬性代表打印表面,Brush,Font,Pen屬性可決定打印字體或圖像的特征。

  Printers屬性中包含著已安裝的打印機(jī)列表,PrinterIndex 屬性是當(dāng)前選擇的打印

  機(jī),F(xiàn)onts屬性中有當(dāng)前打印機(jī)支持的字體。Orientertion屬性可決定打印方向。

  PageHeight,PageWith中包含著當(dāng)前的高度和寬度。PageNanber為當(dāng)前頁(yè)的值。

  設(shè)置Title屬性可決定在Windows打印管理器或網(wǎng)絡(luò)中出現(xiàn)的文本。

  4.5.2 TPrintDialog打印對(duì)話框

  TPrintDialog部件顯示一打印對(duì)話框。用戶在對(duì)話框中,可以選擇打印機(jī)、打印頁(yè)數(shù)、打印份數(shù)。當(dāng)用戶選擇對(duì)話框中的Setup按鈕,則出現(xiàn)打印設(shè)置對(duì)話框。

  調(diào)用Execute方法顯示打印對(duì)話框。如圖4.12。使用Option屬性可設(shè)置打印對(duì)話框顯示的形式。Options的設(shè)置如表4.5所示。

  PrintRange屬性可定義打印的范圍。如果PrintPage的值是prPageNums,則可以設(shè)置FromPage和ToPage屬性來(lái)確定打印范圍。設(shè)置MinPage,MaxPage屬性可限制用戶的打印范圍。

  表4.5 打印對(duì)話框的Option屬性的取值及含義

  本章例程是利用Printer的畫布進(jìn)行文本打印的。用戶選擇打印菜單后,將彈出打印對(duì)話框,用戶可設(shè)置各種參數(shù)。當(dāng)用戶選擇打印按鈕后,打印工作進(jìn)行發(fā)送,此時(shí)將彈出打印取消對(duì)話框,見(jiàn)圖4.13, 用戶可中止打印工作。有關(guān)打印和打印取消的代碼如下:

  procedure TEditForm.Print1Click(Sender: TObject);

  var

  DistanceLine,Line: Integer;

  PrintText: System.Text;

  begin

  if PrintDialog1.Execute then

  begin

  Printer.Canvas.font := Memo1.Font;

  DistanceLine := Trunc(1.5*FontDialog1.font.size);

  OpenPrintCancelDialog;

  Printer.BeginDoc;

  for line := 0 to Memo1.Lines.Count - 1 do

  begin

  Printer.canvas.textout(0,DistanceLine*Line,Memo1.lines[Line]);

  end;

  Printer.EndDoc;

  BtnBottomDlg.free;

  end;

  end;

  procedure TEditForm.OpenPrintCancelDialog;

  begin

  BtnBottomDlg := TBtnBottomDlg.Create(Application);

  BtnBottomDlg.show;

  BtnBottomDlg.canvas.Brush.Color := clActiveBorder;

  BtnBottomDlg.canvas.TextOut(50,20,'Print'+FileName);

  BtnBottomDlg.canvas.TextOut(30,40,'if you want to

  stop, please choice Cancel Button.');

  end;

  相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試試題及答案解析專題
       預(yù)告:名師解析2010年9月計(jì)算機(jī)等級(jí)考試試題答案
       2010年9月計(jì)算機(jī)等級(jí)考試成績(jī)查詢時(shí)間及入口
       2010年9月計(jì)算機(jī)等考成績(jī)查詢短信免費(fèi)提醒開(kā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)注明出處。