六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用好Delphi的打印技能的編程技巧

[摘要]文/劉福旺  給單位開發軟件,涉及一打印模塊,我感到頗有興趣,就拿來其中的一個小功能模塊與讀者共享。下面以打印在紙張的矩形框內為例簡單介紹:  程序要求:  單擊[打印]按鈕,把Memo的內容最多分...
文/劉福旺

  給單位開發軟件,涉及一打印模塊,我感到頗有興趣,就拿來其中的一個小功能模塊與讀者共享。下面以打印在紙張的矩形框內為例簡單介紹:

  程序要求:

  單擊[打印]按鈕,把Memo的內容最多分三行打印出來,每行最多能容納22個三號字,
限定漢字上限為50個漢字。

  編程思路:

  用LineTo和MoveTo函數畫一矩形框,根據Memo組件的內容長度用Copy函數把它分割為1到3個子串。在矩形框內美觀地輸出文字時技術處理為:當輸出一行時最多可打印18個漢字,當輸出多行時第一、二行分別打印16、18個漢字。

  編程步驟:

  1、首先新建一工程,在窗體上加一個Memo組件Button組件。

  2、Memo組件的Lines值為空,MaxLength值為“100”(即50個漢字),字體為“三號字”;Button的Caption值為“打印”。

  3、添加[打印]按鈕的事件處理過程代碼Button1.Click,首先在Interface的Uses部分添加Printers,其完整代碼如下:

  procedure TForm1.Button1Click(Sender: TObject);

  var StrLen , Left,Top , WordHeight , wordWidth : Integer;

   ContentStr : String[100];

   Str1, Str2, Str3 : String[36];

  begin

   with Printer do

   begin

   Canvas.Font.Size:=16;

   wordHeight:=Canvas.TextHeight

  ('字');

   wordWidth:=Canvas.TextWidth

  ('字');

   Left:=(Printer.PageWidth-wordWidth*22) div 2;

   Top:=(Printer.PageHeight-wordHeight*7) div 2;

   BeginDOC;

   With Canvas do

   begin

   Pen.Width:=3;

   {畫一個22字寬,7個字高的矩形框}

   MoveTo(Left,Top);

   LineTo(Left+wordWidth*22,Top);

   LineTo(Left+wordWidth*22,

  Top+wordHeight*7);

   LineTo(Left,Top+wordHeight*7);

   LineTo(Left,Top);

   ContentStr:=Memo1.Lines.Text;

   StrLen:=Length(ContentStr);

   if StrLen< 37 then

   {分一行打印}

   begin

   TextOut(Left+WordWidth*2, Top+Wordheight*3, ContentStr)

   end

   else if StrLen< 66 then

   {在垂直方向中間分兩行打印}

   begin

   Str1:=Copy(ContentStr, 0, 32);

   Str2:=Copy(ContentStr, 33, StrLen-32);

   TextOut(Left+WordWidth*4, Top+WordHeight*(7-2) div 2 , Str1);

   TextOut(Left+WordWidth*2, Top+WordHeight*(7-2) div 2 + wordHeight, Str2);

   end

   else

   {分三行打印}

   begin

   Str1:=Copy(ContentStr,0,32);

   Str2:=Copy(ContentStr,33,36);

   Str3:=Copy(ContentStr, 69, StrLen-68);

   TextOut(Left+WordWidth*4, Top+WordHeight*2, Str1);

   {左縮進兩個漢字}

   TextOut(Left+WordWidth*2, Top+WordHeight*3, Str2);

   TextOut(Left+WordWidth*2, Top+WordHeight*4, Str3);

   end

   end;

   EndDoc;

   end;

  end;

  以上程序在Windows 98/Me+Delphi 6.0調試通過,希望能對初次編寫打印功能程序的讀者有所幫助。


主站蜘蛛池模板: 视频91在线 | 亚洲免费在线看 | 天天天天天天操 | 青娱乐最新网站 | 在线看欧美日韩中文字幕 | 欧美洲大黑香蕉在线视频 | 亚洲综合激情丁香六月 | 日韩在线免费观看视频 | 一级黄片一级毛片 | 婷婷影院在线观看 | 色噜噜噜噜噜在线观看网站 | 色www视频永久免费 色www免费视频 | 啪啪午夜 | 午夜神器成在线人成在线人免费 | 青青青青青国产免费手机看视频 | 中日韩视频在线看免费观看 | 日本青青草 | 日本精品久久久久久久 | 字幕网资源站中文字幕 | 人禽交在线视频免费播放 | 日本乳色www | 日本三级2018亚洲视频 | 天天干夜夜操美女 | 日本欧美一区二区三区 | 青青草原国产在线视频 | 色爱综合区 | 四虎影裤 | 欧美又粗又大又硬又长又爽视频 | 欧美最新在线 | 日本最新伦中文字幕 | 天天干天天操天天爱 | 日本一区二区不卡视频 | 全部免费特黄特色大片视频 | 人人舔人人爱 | 欧美亚洲激情在线 | 日韩有码在线观看 | 青草悠悠视频在线观看 | 片成年免费观看网站黄 | 人人看97| 青娱乐九色 | 天堂网亚洲|