亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? printadounit.pas

?? 放棄了先前的采用報表實現
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit PrintAdoUnit;

interface

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, ComCtrls, DB, ADODB, LbSpeedButton, StdCtrls,StrUtils ,
    Mask, DBCtrls, OleCtnrs, DBCtrlsEh, Gauges,IniFiles,Printers   ;

    procedure PrintPage2;
    procedure printpage3;
    procedure printpage4;
    procedure printpage5;
    procedure PrintPage6;
    procedure PrintPage7;
    procedure PrintPage8;
    procedure Printpage9;
    procedure PrintPage10;
    procedure PrintPage11;
    procedure PrintPage12;
    procedure PrintPage15;
    procedure printpage14;
    procedure printpage13;
    procedure PrintpageF3;
    function PrinterPos(iMM:double;XorY:String):integer;
    function GetPX(X:Double):Integer ;
    function GetPY(Y:Double):Integer ;
    procedure splitPrint(s:String;len,len2,x,y,x2:Integer ) ;
    procedure SetDefPrinter(lPrinterIndex:Integer);
    function GetDefPrinter:string ;
implementation
 uses UnitPreview ;


function GetDefPrinter:string ;
var
 pDevice , pDriver ,pPort   :  pChar;
 hDMode : THandle;
begin

   GetMem(pDevice,cchDeviceName);
   GetMem(pDriver,MAX_PATH);
   GetMem(pPort,MAX_PATH);
   Printer.GetPrinter(pDevice,pDriver,pPort,hDMode);
   if lStrLen(pDriver) = 0 then begin
             GetProfileString('Devices',pDevice,'',pDriver,MAX_PATH);
       pDriver[pos(',',pDriver) - 1] := #0;
   end;
   if lStrLen(pPort) = 0 then begin
       GetProfileString('Devices',pDevice,'',pPort,MAX_PATH);
       lStrCpy(pPort,@pPort[lStrLen(pPort) + 2]);
   end;
   result:=string(pdevice);
   FreeMem(pDevice,cchDeviceName);
   FreeMem(pDriver,MAX_PATH);
   FreeMem(pPort,MAX_PATH);


end;

procedure SetDefPrinter(lPrinterIndex:Integer);
 var
  MyHandle  : THandle; 
  MyDevice, 
  MyDriver, 
  MyPort: array [0..255] of Char; 
begin 
  { set printer to the selected according to the
    combobox itemendex } 
  Printer.PrinterIndex := lPrinterIndex;

  { get our printer properties } 
  Printer.GetPrinter(MyDevice, 
                     MyDriver, 
                     MyPort, 
                     MyHandle); 

  { create string of exactly what WriteProfileString() 
    wants to see by concat each of the above received 
    character arrays } 
  StrCat( MyDevice, ',');
  StrCat( MyDevice, MyDriver ); 
  StrCat( MyDevice, ','); 
  StrCat( MyDevice, MyPort ); 

  { copy our new default printer into our windows ini file 
    to the [WINDOWS] section under DEVICE= } 
  WriteProfileString('WINDOWS', 
                     'DEVICE', 
                     MyDevice ); 

  { tell all applications that the windows ini file has 
    changed, this will cause them all to recheck default 
    printer } 
  SendMessage(HWND_BROADCAST, 
              WM_WININICHANGE, 
              0, 
              LongInt(pChar('windows')));

 end;
 procedure splitPrint(s:String;len,len2,x,y,x2:Integer ) ;
 var
   str:string;
   slen,slen2,slen3, i,rows,vlen,vx:integer;
 begin
      str:=s;
      slen:=length(str);
      slen2:=length(LeftStr(str,len)); //第一行長度;
      slen3:=Length(LeftStr(str,len2));  //第二行長度
      if slen>slen2 then begin
         rows:= (slen-slen2) div slen3+1;
         if (slen-slen2) mod slen3>0 then rows:=rows+1;
         with Printer.Canvas do begin
           for i :=0 to rows-1 do begin
             if i=0 then begin
               vx:=x;vlen:=len;
             end else begin
               vx:=x2;vlen:=len2;
             end;
             TextOut(GetPX(vx),GetPy(y)+TextHeight(str)*i+1,LeftStr(str,vlen));
             str:= AnsiReplaceStr(str,LeftStr(Str,vlen),'');
           end;
         end;
       end else
           Printer.Canvas.TextOut(GetPX(x),GetPy(y),str);
  end;

  function GetPX(X:Double):Integer ;
  begin
   RESULT:= PrinterPos(X,'X');
  END;
  function GetPY(Y:Double):Integer ;
  begin
   RESULT:= PrinterPos(Y,'Y');
  END;

function PrinterPos(iMM:double;XorY:String):integer;
var
    OffestX,OffestY:Double;
    PointX,POINTY:Integer;
begin
    PointX:=GetDeviceCaps(Printer.Handle,LOGPIXELSX);
    PointY:=GetDeviceCaps(Printer.Handle,LOGPIXELSY);
    //得到左端不可打印區域
    OffestX:=GetDeviceCaps(printer.Handle,PHYSICALOFFSETX)/PointX*25.4;
    //得到上端不可打印區域
    OffestY:=GetDeviceCaps(printer.Handle,PHYSICALOFFSETY)/PointY*25.4;
    //將打印的位置轉換為以像數為單位的寬度,可考慮將Round函數去除
    if XorY='X' then Result:=round( (iMM-OffestX)/25.4*PointX);  //X
    //將打印的位置轉換為以像數為單位的高度
    if XorY='Y' then Result:=round((iMM-OffestY)/25.4*PointY);  //Y
end;
/////////////////////

procedure PrintpageF3;
begin
 with Printer.Canvas,previewform.adoquery17 do BEGIN
      splitPrint(fieldbyname('外墻').asstring,30,30,55,40,55);
      splitPrint(fieldbyname('內墻').asstring,30,30,55,58,55);
      splitPrint(fieldbyname('頂棚').asstring,30,30,55,74,55);
      splitPrint(fieldbyname('地面').asstring,30,30,55,90,55);
      splitPrint(fieldbyname('門窗').asstring,30,30,55,108,55);

      splitPrint(fieldbyname('廚房').asstring,30,30,55,125,55);
      splitPrint(fieldbyname('衛生間').asstring,30,30,60,142,60);
      splitPrint(fieldbyname('陽臺').asstring,30,30,55,160,55);
      splitPrint(fieldbyname('電梯').asstring,30,30,55,175,55);
      splitPrint(fieldbyname('其他').asstring,30,30,55,193,55);
 end;
END;

procedure printpage5;
var
  y:integer;
begin

    with Printer.Canvas,previewform.adoquery5 do BEGIN
      y:=32;
      TextOut(GETPX(30),GETPY(y),fieldbyname('1單價').asstring );
      TextOut(GETPX(80),GETPY(y),fieldbyname('1總價幣種').asstring );
      TextOut(GETPX(110),GETPY(y),fieldbyname('1千萬').asstring );
      TextOut(GETPX(128),GETPY(y),fieldbyname('1百萬').asstring );
      TextOut(GETPX(143),GETPY(y),fieldbyname('1十萬').asstring );
      TextOut(GETPX(160),GETPY(y),fieldbyname('1萬').asstring );
      y:=40;
      TextOut(GETPX(33),GETPY(y),fieldbyname('1千').asstring );
      TextOut(GETPX(48),GETPY(y),fieldbyname('1百').asstring );
      TextOut(GETPX(63),GETPY(y),fieldbyname('1十').asstring );
      TextOut(GETPX(78),GETPY(y),fieldbyname('1元').asstring );

      TextOut(GETPX(139),GETPY(50),fieldbyname('2單價幣種').asstring );
      y:=58;
      TextOut(GETPX(43),GETPY(y),fieldbyname('2單價').asstring );
      TextOut(GETPX(90),GETPY(y),fieldbyname('2總價幣種').asstring );
      TextOut(GETPX(120),GETPY(y),fieldbyname('2千萬').asstring );
      TextOut(GETPX(137),GETPY(y),fieldbyname('2百萬').asstring );
      TextOut(GETPX(153),GETPY(y),fieldbyname('2十萬').asstring );
      y:=67;
      TextOut(GETPX(25),GETPY(y),fieldbyname('2萬').asstring );
      TextOut(GETPX(43),GETPY(y),fieldbyname('2千').asstring );
      TextOut(GETPX(58),GETPY(y),fieldbyname('2百').asstring );
      TextOut(GETPX(73),GETPY(y),fieldbyname('2十').asstring );
      TextOut(GETPX(88),GETPY(y),fieldbyname('2元').asstring );

      TextOut(GETPX(145),GETPY(75),fieldbyname('3總價幣種').asstring );
      y:=85;
      TextOut(GETPX(25),GETPY(y),fieldbyname('3千萬').asstring );
      TextOut(GETPX(43),GETPY(y),fieldbyname('3百萬').asstring );
      TextOut(GETPX(58),GETPY(y),fieldbyname('3十萬').asstring );
      TextOut(GETPX(73),GETPY(y),fieldbyname('3萬').asstring );
      TextOut(GETPX(88),GETPY(y),fieldbyname('3千').asstring );
      TextOut(GETPX(104),GETPY(y),fieldbyname('3百').asstring );
      TextOut(GETPX(118),GETPY(y),fieldbyname('3十').asstring );
      TextOut(GETPX(133),GETPY(y),fieldbyname('3元').asstring );

      splitPrint(fieldbyname('備注').asstring,30,34,50,94,25);
    end;

     with Printer.Canvas,previewform.adoquery6 do BEGIN
      TextOut(GETPX(54),GETPY(190),fieldbyname('處理方式').asstring );
      splitPrint(fieldbyname('1雙方自行約定').asstring,30,34,50,207,25);
      splitPrint(fieldbyname('2雙方自行約定').asstring,30,34,50,225,25);
    end;

end;

procedure PrintPage6;
begin
   with Printer.Canvas,previewform.adoquery6 do BEGIN
      splitPrint(fieldbyname('3雙方自行約定').asstring,30,34,50,40,25);
      splitPrint(fieldbyname('4雙方自行約定').asstring,30,34,50,58,25);
     TextOut(GETPX(100),GETPY(120),fieldbyname('利息利率').asstring );
   end;
   with Printer.Canvas,previewform.adoquery7 do BEGIN
     TextOut(GETPX(73),GETPY(225),fieldbyname('付款方式種類').asstring );

   end;
end;

procedure PrintPage12;
begin
   with Printer.Canvas,previewform.adoquery12 do BEGIN
      splitPrint(fieldbyname('133處理方式').asstring,30,34,45,41,25);

   end;
   with Printer.Canvas,previewform.adoquery13 do BEGIN
      splitPrint(fieldbyname('1使用條件').asstring,32,32,45,93,45);
      splitPrint(fieldbyname('2使用條件').asstring,32,32,45,102,45);
      splitPrint(fieldbyname('3使用條件').asstring,32,32,45,110,45);
      splitPrint(fieldbyname('4使用條件').asstring,32,32,45,119,45);
      splitPrint(fieldbyname('5使用條件').asstring,32,32,45,127,45);

      splitPrint(fieldbyname('1處理方式').asstring,32,32,45,155,45);
      splitPrint(fieldbyname('2處理方式').asstring,32,32,45,165,45);
      splitPrint(fieldbyname('3處理方式').asstring,32,32,45,173,45);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人欧美一区二区三区小说| 一区二区三区四区国产精品| 136国产福利精品导航| 视频在线观看一区| 99在线精品视频| 精品国产一区二区三区av性色 | 国产电影精品久久禁18| 欧美日韩一级二级三级| 一区在线播放视频| 国产在线视频不卡二| 欧美日韩国产高清一区二区| 国产精品网站在线观看| 另类成人小视频在线| 欧美视频三区在线播放| 亚洲女子a中天字幕| 国产成人精品免费视频网站| 欧美一区二区视频观看视频| 亚洲综合在线视频| 91年精品国产| 亚洲精品国久久99热| 福利一区二区在线| 日本一区二区三区四区在线视频| 久久99热狠狠色一区二区| 欧美一区二区精品久久911| 午夜欧美电影在线观看| 欧洲亚洲精品在线| 亚洲亚洲人成综合网络| 色噜噜狠狠一区二区三区果冻| 国产精品美女久久久久久久久| 国产一区二区网址| 欧美激情资源网| 成人免费视频免费观看| 国产精品天干天干在观线| 成人夜色视频网站在线观看| 国产嫩草影院久久久久| 粉嫩高潮美女一区二区三区| 中文字幕精品综合| 99精品视频中文字幕| 日韩久久一区二区| 日本韩国欧美一区二区三区| 亚洲小说春色综合另类电影| 欧美日韩一区 二区 三区 久久精品 | 日本韩国精品一区二区在线观看| 亚洲精品中文字幕在线观看| 欧洲亚洲精品在线| 日韩和欧美一区二区| xfplay精品久久| 成人免费精品视频| 伊人婷婷欧美激情| 欧美日韩大陆在线| 激情小说亚洲一区| 国产精品久久久久四虎| 在线看日本不卡| 日本女人一区二区三区| 久久精品亚洲一区二区三区浴池| gogo大胆日本视频一区| 一区二区三区在线免费视频| 3d动漫精品啪啪| 国产成人在线视频免费播放| 亚洲视频一二三区| 9191国产精品| 国产高清久久久| 一区二区成人在线视频 | 精品国产污网站| 成人97人人超碰人人99| 婷婷六月综合网| 国产日韩精品一区二区三区| 欧美羞羞免费网站| 国产另类ts人妖一区二区| 亚洲美女视频一区| 26uuu色噜噜精品一区| 91麻豆高清视频| 美日韩一区二区三区| 国产精品国产三级国产aⅴ中文| 欧美群妇大交群中文字幕| 粉嫩av一区二区三区| 日韩不卡免费视频| 一区二区三区欧美日| 久久在线免费观看| 88在线观看91蜜桃国自产| 国产精品一区二区免费不卡| 一区二区三区.www| 欧美激情艳妇裸体舞| 在线播放一区二区三区| av动漫一区二区| 国产一区在线视频| 日韩精品三区四区| 一区av在线播放| 国产日韩欧美综合在线| 欧美电视剧免费全集观看| 一本一道久久a久久精品| 国产精品白丝jk白祙喷水网站| 亚洲成人精品一区| 亚洲精品国产a久久久久久| 久久婷婷成人综合色| 717成人午夜免费福利电影| 91免费版pro下载短视频| 国产成人综合网| 国内精品国产三级国产a久久| 日韩1区2区3区| 午夜伦欧美伦电影理论片| 一区二区在线观看视频| 国产精品久久二区二区| 欧美国产日韩a欧美在线观看| 日韩美女视频在线| 在线不卡免费av| 欧美日本一道本在线视频| 欧美色男人天堂| 精品视频在线免费| 欧美日韩视频在线第一区| 欧美视频一区二区在线观看| 色综合天天天天做夜夜夜夜做| 成人一区二区在线观看| 国产成人综合在线| 岛国一区二区在线观看| 高清视频一区二区| eeuss影院一区二区三区| 成人动漫中文字幕| 91在线高清观看| 一本色道久久综合亚洲91| 色婷婷国产精品综合在线观看| 91浏览器入口在线观看| 一本一本大道香蕉久在线精品 | 欧美男女性生活在线直播观看| 在线精品视频免费观看| 欧美吞精做爰啪啪高潮| 欧美色老头old∨ideo| 欧美日韩1区2区| 91精品一区二区三区在线观看| 日韩免费性生活视频播放| 久久综合五月天婷婷伊人| 欧美国产视频在线| 亚洲丝袜制服诱惑| 天天综合网 天天综合色| 美女精品自拍一二三四| 国内精品久久久久影院薰衣草| 粉嫩嫩av羞羞动漫久久久| 99国产麻豆精品| 337p亚洲精品色噜噜噜| 久久久777精品电影网影网| 国产欧美日韩精品在线| 亚洲黄色在线视频| 免费成人美女在线观看.| 国产精品一卡二卡在线观看| 91丨porny丨首页| 日韩亚洲国产中文字幕欧美| 国产欧美日韩卡一| 亚洲专区一二三| 久久成人免费日本黄色| 成人激情图片网| 欧美日本在线看| 国产午夜亚洲精品理论片色戒| 亚洲精品成人天堂一二三| 美女任你摸久久| 95精品视频在线| 日韩免费看的电影| 亚洲免费观看高清| 国内精品伊人久久久久影院对白| 91香蕉视频mp4| 久久久午夜精品| 日韩精品一二区| 一本色道久久加勒比精品| 精品国产一区二区三区忘忧草| 亚洲美女免费视频| 国产精品一级在线| 日韩丝袜情趣美女图片| 国产精品久久久久aaaa| 九九国产精品视频| 欧美视频三区在线播放| 国产精品国模大尺度视频| 日本午夜精品视频在线观看| 成人avav影音| 久久蜜桃一区二区| 全部av―极品视觉盛宴亚洲| 91亚洲精品久久久蜜桃| 欧美变态tickle挠乳网站| 亚洲精品精品亚洲| 国产不卡高清在线观看视频| 欧美一区二区久久久| 香蕉成人伊视频在线观看| 91美女在线观看| 国产精品久久久久久久久动漫| 激情综合网av| 欧美大白屁股肥臀xxxxxx| 亚洲一区二区三区四区在线观看 | 亚洲国产精品二十页| 国产一区二区三区免费看| 日韩一区二区精品葵司在线| 亚洲一区二区三区视频在线 | 亚洲视频香蕉人妖| 国产成人亚洲综合a∨猫咪| 精品成人一区二区| 蜜臀av一区二区在线观看| 69精品人人人人| 亚洲福利视频导航| 欧美日韩一区二区在线观看视频 | 国产精品麻豆视频| 成人av手机在线观看| 欧美激情综合五月色丁香小说| 国产精品一卡二|