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

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

?? lcdscreen.pas.svn-base

?? LCDScreen is a couple of Delphi component which simulate a dot-LCD multilines screen. It is fully c
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
    FLineSpacing: Byte;                   { Space between text lines on the display   }
    //FNoOfLines: Byte;                     { Number of text lines on the LCD           }
    //FNoOfChars: Byte;                     { Number of characters on a single line     }
    FPixelHeight: Byte;                   { Pixel height                              }
    FPixelOffColor: TColor;               { LCD pixel OFF color                       }
    FPixelOnColor: TColor;                { LCD pixel ON color                        }
    FPixelSize: TPixelSize;               { Size of a LCD pixel (in screen pixels)    }
    FPixelShape: TPixelShape;             { Shape of a LCD pixel                      }
    FPixelSpacing: Byte;                  { Space between each pixel in the matrix    }
    FPixelWidth: Byte;                    { Pixel widht                               }
    FSpecialEffects: TSpecialEffects;     {Enable or disable special effects          }
    FWidth: Integer;                      { Label width in pixels                     }
    FFont: TFont;
    FirstPaint: Boolean;

    function  TrueDisplayHeight: Integer;
    function  TrueDisplayWidth: Integer;

    procedure SetPixelSize(Value: TPixelSize);
    //procedure SetDotMatrix(Value: TDotMatrix);
    procedure SetDotMatrixBorders(Value: TDotMatrixBorders);
    procedure SetPixelShape(Value: TPixelShape);
    procedure SetPixelSpacing(Value: Byte);
    procedure SetCharSpacing(Value: Byte);
    procedure SetLineSpacing(Value: Byte);
    procedure SetBorderSpace(Value: Byte);
    //procedure SetNoOfLines(Value: Byte);
    //procedure SetNoOfChars(Value: Byte);
    procedure SetColor(Value: TColor);
    procedure SetFont(Value: TFont);
    procedure SetPixelOnColor(Value: TColor);
    procedure SetPixelOffColor(Value: TColor);
    procedure SetBorderStyle(Value: TLCDBorder);
    procedure SetPixelWidth(Value: Byte);
    procedure SetPixelHeight(Value: Byte);
    function DrawOneCharacter(BitMap: TBitMap; xpos, ypos: Integer; Display: TOneChar): Integer;
    procedure DrawDisplayCharacters(BitMap: TBitMap);
    procedure UpdateInternalMatrixBitmap;
    procedure UpdateInternalCharBitmap;
    procedure UpdateTrueColors;
    procedure SetCorrectSize;
    function  GetAbout: string;
    procedure SetAbout(Value: string);
    procedure SetIntensity(Value: ShortInt);
    procedure SetAnimationEnabled(Value: Boolean);
    procedure SetAnimationRepeating(Value: Boolean);
    procedure SetAnimationDelay(Value: Cardinal);
    procedure SetLCDAnimator(Value: TLCDAnimator);
    procedure SetSpecialEffects(Value: TSpecialEffects);
    procedure SetAnimationUnits(Value: TAnimationUnit);

    procedure OnFontChange(Sender: TObject);

  protected
    procedure HorzScroll(Value: ShortInt);
    procedure LinesOnChange(Sender: TObject);
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
    procedure Paint; override;
    procedure SetLines(Value: TStringList);
    procedure TimerOnTimer(Sender: TObject);
    procedure VertScroll(Value: ShortInt);

    procedure Resize; override;

  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;

    procedure Reset(Value: TResetMode);

  published
    property About: string read GetAbout write SetAbout stored False;
    property AnimationDelay: Cardinal read FAnimationDelay write SetAnimationDelay;
    property AnimationEnabled: Boolean read FAnimationEnabled write SetAnimationEnabled;
    property AnimationRepeating: Boolean read FAnimationRepeating write SetAnimationRepeating;
    property AnimationUnits: TAnimationUnit read FAnimationUnits write SetAnimationUnits;
    property BorderSpace: Byte read FBorderSpace write SetBorderSpace;
    property BorderStyle: TLCDBorder read FBorderStyle write SetBorderStyle;
    property CharSpacing: Byte read FCharSpacing write SetCharSpacing;
    property Color: TColor read FColor write SetColor;
    property Font: TFont read FFont write SetFont;
    //property DotMatrix: TDotMatrix read FDotMatrix write SetDotMatrix;
    property DotMatrixBorders: TDotMatrixBorders read FDotMatrixBorders write SetDotMatrixBorders;
    property Enabled;
    property Intensity: ShortInt read FIntensity write SetIntensity;
    property LCDAnimator: TLCDAnimator read FLCDAnimator write SetLCDAnimator;
    property Lines: TStringList read FLines write SetLines;
    property LineSpacing: Byte read FLineSpacing write SetLineSpacing;
    //property NoOfLines: Byte read FNoOfLines write SetNoOfLines;
    //property NoOfChars: Byte read FNoOfChars write SetNoOfChars;
    property PixelHeight: Byte read FPixelHeight write SetPixelHeight;
    property PixelOff: TColor read FPixelOffColor write SetPixelOffColor;
    property PixelOn: TColor read FPixelOnColor write SetPixelOnColor;
    property PixelShape: TPixelShape read FPixelShape write SetPixelShape;
    property PixelSize: TPixelSize read FPixelSize write SetPixelSize;
    property PixelSpacing: Byte read FPixelSpacing write SetPixelSpacing;
    property PixelWidth: Byte read FPixelWidth write SetPixelWidth;
    property ShowHint;
    property SpecialEffects: TSpecialEffects read FSpecialEffects write SetSpecialEffects;
    property Visible;
    property OnClick;
    property OnDblClick;
    property OnDragDrop;
    property OnDragOver;
    property OnEndDrag;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
    property Align;
  end;


const
  space_char          = char(32);
  startinverse_char   = char(10);
  stopinverse_char    = char(11);
  startblinking_char  = char(12);
  stopblinking_char   = char(13);
  startunderline_char = char(14);
  stopunderline_char  = char(15);
  startstrike_char    = char(16);
  stopstrike_char     = char(17);



procedure Register;


implementation

////////////////////////////////////////////////////////////////////////////////
//
//  General Intrest Routines. Used for CodeEditor Synthax.
//
////////////////////////////////////////////////////////////////////////////////

function NbOfThings(tempcode: string; Thing: Char): Integer;
var i: Integer;
begin
  i := 0;
  while Pos(Thing, tempcode) <> 0
  do begin
       try Delete(tempcode, 1, Pos(Thing, tempcode)); except; end;
       Inc(i);
       end;
  NbOfThings := i;
end;


function ExtractWord(Value: String): String;
begin
  ExtractWord := Trim(Copy(Value, 1, Pos('(', Value) - 1));
end;


function ExtractParam(Value: String): Integer;
begin
  ExtractParam := StrtoInt(Copy(Value, Length(ExtractWord(Value)) + 2,
                           Pos(')', Value) - Length(ExtractWord(Value)) -2));
end;


procedure ExtractCode(tempcode: string; var CodeInstructions: array of TCodeInstruction;
                      NbOfElement: Byte);
var i,n: Integer;
    s,m: string;
begin
  tempcode := Trim(LowerCase(Copy(tempcode, 2, Length(tempcode) - 2)));
  for i := 0 to NbOfElement - 1
  do begin
       s := Trim(Copy(tempcode, 1, Pos(';', tempcode)));
       m := ExtractWord(s);
       n := ExtractParam(s);
       CodeInstructions[i].Word := m;
       CodeInstructions[i].Param := n;
       Delete(tempcode, 1, Length(s));
       tempcode := Trim(tempcode);
       end;
end;


////////////////////////////////////////////////////////////////////////////////
//
//  General Intrest Routines. Draw on pixel.
//
////////////////////////////////////////////////////////////////////////////////

procedure DrawOnePixel(var Bitmap: TBitmap; PixelSize: TPixelsize; PixelShape: TPixelShape;
                       Color: TColor; psx, psy: Byte; tx, ty: Integer);
begin
  with Bitmap.Canvas
  do begin
       Pen.Color := Color;
       Brush.Color := Color; 
       if PixelSize = pix1x1
       then Pixels[tx, ty] := Color
       else case PixelShape of
             psSquare:  Rectangle(tx, ty, tx + psx, ty + psy); { Standard square pixels}
             psRound:   Ellipse(tx, ty, tx + psx, ty + psy);   { Round pixels }
            end;
       end;
end;


////////////////////////////////////////////////////////////////////////////////
//
// Count LCDScreen's special characters (i.e. 10 <= Ord(x) <= 20)
// in a String.
//
////////////////////////////////////////////////////////////////////////////////

function CountSpecialCharString(temp: String): Byte;
var col, maxspecialchar: Byte;
begin
  maxspecialchar := 0;
  if Length(temp) <> 0
  then for col := 0 to Length(temp)
  do if (Ord(temp[col]) >= 10) and (Ord(temp[col]) <= 20)
     then Inc(maxspecialchar);

  CountSpecialCharString := maxspecialchar;
end;


////////////////////////////////////////////////////////////////////////////////
//
// Create and initialize component TLCDScreen.
//
////////////////////////////////////////////////////////////////////////////////

constructor TLCDScreen.Create(AOwner: TComponent);
begin
  FFont := TFont.Create;
  FFont.Name := 'Arial';
  FFont.Size := 11;

  FFont.OnChange := OnFontChange;
  inherited Create(AOwner);

  FLines := TStringList.Create;

  FPixelSize := pix1x1;
  FCharSpacing := 1;
  FLineSpacing := 1;
  FPixelSpacing := 1;
  FBorderSpace := 5;
  //FNoOfLines := 1;
  //FNoOfChars := 10;
  FBorderStyle := bsLowered;
  FColor := clInactiveBorder;
  FPixelOnColor := clBlack;
  FPixelOffColor := $00AAAAAA;
  FIntensity := 127;
  UpdateTrueColors;
  PixVRef := 0;
  PixHRef :=0;
  CharHRef := 0;
  CharVRef := 0;
  FAnimationUnits := auChar;
  FTimer := TTimer.Create(Self);
  FTimer.Interval := 250;
  FTimer.OnTimer := TimerOnTimer;
  FTimer.Enabled := False;

  FAnimationDelay := 250;
  FAnimationEnabled := False;
  FAnimationRepeating := False;
  FirstPaint := true;

  FLines.OnChange := LinesOnChange;

  FVirginMatrixDC := CreateCompatibleDC(0);
  FVirginMatrixBitmap := nil;

  FBlackMatrixDC := CreateCompatibleDC(0);
  FBlackMatrixBitmap := nil;

  FCharDC := CreateCompatibleDC(0);
  FCharBitmap := 0;

  SetTextColor(FCharDC, RGB(0,0,0));
  SetBkColor(FCharDC, RGB(255,255,255));

end;


////////////////////////////////////////////////////////////////////////////////
//
// Remove component TLCDScreen.
//
////////////////////////////////////////////////////////////////////////////////

destructor TLCDScreen.Destroy;
begin
  FTimer.Destroy;
  FLines.Destroy;

  if Assigned(FFont) then FFont.Free;
  if FCharBitmap<>0 then DeleteObject(FCharBitmap);

  DeleteDC(FVirginMatrixDC); FVirginMatrixBitmap.Free;
  DeleteDC(FBlackMatrixDC); FBlackMatrixBitmap.Free;
  DeleteDC(FCharDC);

  inherited Destroy;
end;


////////////////////////////////////////////////////////////////////////////////
//
// Calculate "active" Display region needed to be displayed.
//
//
////////////////////////////////////////////////////////////////////////////////

function TLCDScreen.TrueDisplayHeight: Integer;
begin
  TrueDisplayHeight := Max(Flines.Count, 0);
end;


////////////////////////////////////////////////////////////////////////////////
//
// Calculate "active" Display region needed to be displayed.
//
//
////////////////////////////////////////////////////////////////////////////////

function TLCDScreen.TrueDisplayWidth: Integer;
var i,temp: integer;
begin
  temp := 0;
  for i := 0 to Flines.Count - 1
  do temp := Max(Length(Flines[i]) - CountSpecialCharString(Flines[i]) + 1, temp);

  TrueDisplayWidth :=temp;
end;


////////////////////////////////////////////////////////////////////////////////
//
// Set Width and Height correct.
//
////////////////////////////////////////////////////////////////////////////////

procedure TLCDScreen.SetCorrectSize;
begin
  if PixelSize = pixCustom
  then begin  { Custom size }
        if (psx<>PixelWidth) or (psy<>PixelHeight) then UpdateInternalMatrixBitmap;

        psx := PixelWidth;
        psy := PixelHeight;
        end
  else begin  { Predefined width selected - make square pixels }
        if (psx<>Ord(FPixelSize)) or (psy<>Ord(FPixelSize)) then UpdateInternalMatrixBitmap;

         psx := Ord(FPixelSize);
         psy := psx;
         FPixelWidth := psx;
         FPixelHeight := psy;
         end;

  if FCharBitmap=0 then UpdateInternalCharBitmap;

  if FirstPaint then begin UpdateInternalMatrixBitmap; FirstPaint := false; end;
end;

procedure TLCDScreen.UpdateInternalCharBitmap;
begin
  if Assigned(FFont) then
  begin
    FontWidth := FFont.Size+1;
    FontHeight := Abs(FFont.Height)+1;
  end
  else

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区影院| 久久综合999| 久久综合九色综合97婷婷女人| 国产精品免费久久| 精品一区二区三区欧美| 欧洲色大大久久| 中文欧美字幕免费| 韩国精品一区二区| 制服丝袜激情欧洲亚洲| 亚洲美女淫视频| 国产成人午夜精品5599| 在线播放中文一区| 亚洲在线一区二区三区| 成人av网站免费| 久久午夜国产精品| 久久精品99国产精品| 精品视频一区二区三区免费| 国产精品成人免费在线| 成人一区二区视频| 久久奇米777| 国产乱子轮精品视频| 欧美一区二区日韩一区二区| 亚洲午夜免费福利视频| 一道本成人在线| 国产精品电影一区二区| 成人免费毛片嘿嘿连载视频| 精品国产一区二区三区忘忧草 | 青娱乐精品在线视频| 欧美在线你懂得| 亚洲女人的天堂| av在线不卡观看免费观看| 国产亚洲自拍一区| 成人中文字幕电影| 亚洲图片你懂的| 一本色道**综合亚洲精品蜜桃冫| 国产精品久久三| 91在线观看视频| 亚洲精品综合在线| 欧美日韩一区 二区 三区 久久精品| 一区二区三区精品在线| 欧美日韩精品一区二区| 五月天激情综合网| 欧美草草影院在线视频| 国产精品一级黄| 欧美韩国一区二区| 国产精品18久久久久久vr| 中文字幕精品三区| 91首页免费视频| 日韩黄色片在线观看| 日韩一区二区三区视频| 久久国产成人午夜av影院| 久久久青草青青国产亚洲免观| 国产精品1区2区3区在线观看| 日本一区二区电影| 欧美综合在线视频| 蜜桃视频在线一区| 国产精品久久久久久久久免费桃花| 91丨porny丨蝌蚪视频| 亚洲综合视频网| xfplay精品久久| 色菇凉天天综合网| 久久aⅴ国产欧美74aaa| 国产精品久久国产精麻豆99网站| 一本到高清视频免费精品| 毛片av一区二区| 亚洲日本va午夜在线影院| 欧美一区二区三区视频在线 | 韩国欧美国产一区| 最近中文字幕一区二区三区| 欧美揉bbbbb揉bbbbb| 国产乱理伦片在线观看夜一区| 亚洲日本在线a| 日韩精品一区二| 色婷婷av一区二区三区之一色屋| 蜜桃视频一区二区三区在线观看| 国产精品久久久久9999吃药| 51精品秘密在线观看| 成人午夜又粗又硬又大| 人禽交欧美网站| 亚洲嫩草精品久久| 久久久综合激的五月天| 91精品久久久久久久久99蜜臂| 国产 欧美在线| 热久久一区二区| 亚洲国产精品久久人人爱 | 日韩经典中文字幕一区| 国产精品视频你懂的| 精品国产乱码久久久久久1区2区 | 午夜精品久久久久久久99水蜜桃 | 欧美精品一区二区三区在线播放| 色悠悠久久综合| 国产高清不卡二三区| 蜜桃一区二区三区在线观看| 亚洲综合另类小说| 中文字幕一区二区在线播放| 久久一日本道色综合| 日韩欧美123| 91精品欧美久久久久久动漫| 欧美日韩黄视频| 99久久国产综合精品麻豆| 国产综合色在线视频区| 首页亚洲欧美制服丝腿| 亚洲码国产岛国毛片在线| 日本一区二区久久| 国产日韩三级在线| 国产丝袜欧美中文另类| 精品国产乱码久久久久久久久| 日韩一区二区三区四区五区六区| 欧美区一区二区三区| 欧美性猛交xxxxxx富婆| 精品视频1区2区| 欧美日韩亚洲高清一区二区| 欧美性受xxxx| 欧美日韩综合不卡| 欧美伦理影视网| 欧美精品色综合| 91精品国产色综合久久ai换脸| 欧美情侣在线播放| 日韩精品一区二区三区老鸭窝| 日韩欧美亚洲国产另类 | 亚洲免费毛片网站| 亚洲你懂的在线视频| 亚洲福利视频一区二区| 亚洲大片精品永久免费| 青娱乐精品在线视频| 狠狠色狠狠色综合日日91app| 国产精品一二三| 成人av在线资源网站| 91碰在线视频| 欧美高清www午色夜在线视频| 91精品国产综合久久久久久| 欧美成人a在线| 国产精品美日韩| 亚洲一区在线观看免费观看电影高清| 天天综合色天天| 国产精品主播直播| 91国产成人在线| 欧美一区二区三区人| 久久综合久久鬼色中文字| 国产精品久久久久久亚洲毛片 | 国产一区二区三区视频在线播放| 国精产品一区一区三区mba桃花| 岛国精品一区二区| 在线观看欧美精品| 精品动漫一区二区三区在线观看 | 久久亚洲一区二区三区明星换脸 | 天堂蜜桃一区二区三区 | 美女在线视频一区| 成人av午夜电影| 91精品国产一区二区| 日本一区二区在线不卡| 亚洲一区二区精品3399| 国产乱码精品一区二区三| 色视频成人在线观看免| 亚洲精品一区二区三区在线观看 | 国产激情一区二区三区四区| 99re8在线精品视频免费播放| 欧美日产在线观看| 国产精品久久久久影院老司| 丝袜诱惑亚洲看片| 99久久精品99国产精品| 一本大道久久a久久精品综合| 欧美日韩在线一区二区| 中文字幕巨乱亚洲| 男人操女人的视频在线观看欧美| 国产69精品一区二区亚洲孕妇| 欧美猛男超大videosgay| 欧美激情在线看| 免费不卡在线观看| 色综合久久久久久久| 日本一区二区免费在线观看视频| 亚洲午夜久久久久| 91在线看国产| 国产午夜精品福利| 蜜臀av一区二区| 欧美日韩国产影片| 亚洲激情自拍视频| 成人h动漫精品一区二区| 欧美大片国产精品| 免费一级片91| 在线成人小视频| 亚洲成年人网站在线观看| 色综合久久99| 亚洲人成影院在线观看| 成人av网在线| 国产精品视频一二| 高清国产一区二区三区| 国产视频一区二区三区在线观看 | 久久综合色天天久久综合图片| 亚洲大型综合色站| 欧美亚州韩日在线看免费版国语版| 18涩涩午夜精品.www| 福利一区二区在线观看| 中文无字幕一区二区三区 | 亚洲国产精品高清| 国产成人午夜精品影院观看视频| 久久精品夜色噜噜亚洲aⅴ| 久久国产成人午夜av影院| 亚洲精品一线二线三线| 国模无码大尺度一区二区三区|