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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 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 頁(yè) / 共 5 頁(yè)
字號(hào):
unit LCDScreen;

////////////////////////////////////////////////////////////////////////////////
//
//  TLCDScreen / TLCDAnimator v2.5 (15/aug/01)
//  written by Jacques VOIRIN
//  E-Mail: jacques.voirin@iname.com
//
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
//
//   TLCDScreen is an alphanumeric LCD- like display with multidirectionnal
//   scrolling and smart animation features.
//
//   TLCDScreen can be fully customized throught its On/Off Pixels Intensity,
//   DotMatrix, PixelSize, etc. properties.
//   The caption is strored in Lines: TStrings.
//   In order to animate a TLCDScreen link it to a TLCDAnimator,
//   using its LCDAnimator property.
//   AnimationEnabled and AnimationDelay control the execution of the Animation
//   Code store in a TLCDAnimator.
//
//   For best look, use 65536 colors (16 bits) or higher.
//
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
//
//  TLCDScreen's props and methods list:
//  -----------------------------------
//
//   About: String               - Just for copyright;
//   AnimationDelay: Cardinal    - The smaller, the faster;
//   AnimationEnabled: Boolean   - Animation is set on or off;
//   AnimationRepeating: Boolean - If True, repeat the animation's code when done;
//   AnimationUnits: TAnimationUnit - auChar or auPixel;
//   BorderSpace: Byte       - The width in pixels beetween LCDdots and the border;
//   BorderStyle: TLCDBorder - bsRaised, bsLowered or bsNone;
//   CharSpacing: Byte       - The horz. width in pixels beetween LCD characters;
//   Color: TColor           - The main, background color of the component;
//   Cursor;
//   DotMatrix: TDotMatrix   - LCD's display look: mat5x7, mat7x9, mat9x12,
//   DotMatrixBorders: set of TDotMatrixBorder; (mbBottom, mbLeft, mbRight, mbTop)
//                           -  Put an empty line around one char;
//   Enabled;
//   Height;
//   Hint;
//   HorzScrollMode: TScrollMode - smIndependant or smDependant;
//                                 Only used with horizontal scroll directions.
//   Intensity: ShortInt     - The light power. [-127..127]
//                             'OnScreenOnPixColor := PixOnColor*Intensity'
//   LCDAnimator: TLCDAnimator - The animation code is store in it;
//   Left;
//   Lines: TStringList      - Where the text is strore. Can be edited at runtime
//                             using standard TStringList's functions;
//   LineSpacing: Byte       - The vert. width in pixels beetween LCD characters;
//   NoOfLines  : Byte       - The number of lines displayed;
//   NoOfChars  : Byte       - The number of characters displayed;
//   PixelHeight: Byte       - A read only prop in the general case.
//                             Only used when PixelSize is set to pixCustom;
//   PixelOff : TColor       - The color of switched on dots;
//   PixelOn  : TColor       - The color of switched off dots;
//   PixelShape: TPixelShape - The look of dots: psSquare, psShaped or psRound;
//   PixelSize: TPixelSize   - The size of one dot: pix1x1..pix16x16 or pixCustom;
//   PixelSpacing: Byte      - The vert.and horz.width in pixels beetween LCDdots;
//   PixelWidth: Byte        - A read only prop in the general case.
//                             Only used when PixelSize is set to pixCustom;
//   ShowHint;
//   Tag;
//   Top;
//   Visible;
//   Width;
//
//   OnClick;
//   OnDblClick;
//   OnDragDrop;
//   OnDragOver;
//   OnEndDrag;
//   OnMouseDown;
//   OnMouseMove;
//   OnMouseUp;
//
 //  procedure Reset(Value: TResetMode); TResetMode = (rmDisplay, rmCode, rmDisplayAndCode);
//
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
//
//  TLCDAnimator's props and methods list:
//  --------------------------------------
//
//   About: String     - Just for copyright;
//   Code: TStrings    - The animation code; Can be edited throught the
//                       TLCDAnimatorEditor's Form;
//   CurrentLine: Byte - the number of the current code line ;
//
//   OnEndCode:      TEndCodeEvent;
//                   TEndCodeEvent = procedure (Sender: TLCDAnimator) of object;
//                   Event fire when code had proceed its last code line.
//
//   OnLineExecuted: TLineExecutedEvent;
//                   TLineExecutedEvent = procedure(Sender: TLCDAnimator; LineNumber: Word) of object;
//                   Event fire each time a line of the code had been proceeded.
//
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
//
//  History:
//
//   v1.0: (30/jan/00)
//         First public release
//
//   v1.1: (20/feb/00)
//         - New scrolling commands: ScrollDirection removed.
//             Use now ScrollHorz, ScrollVert: ShortInt [-127..127]
//         - Intensity implementation (Byte: [0..255])
//         - BorderSpace, CharSpacing, LineSpacing, NoOfLines, NoOfChars,
//           PixelSpacing and PixelWidth are now Byte type.
//         - CharSpacing and LineSpacing are now expressed width in pixels.
//         - Other cosmetic code design.
//
//   v1.2: (02/apr/00)
//         - New code for Intensity (ShortInt [-128..127])
//           Allow now 'inverse intensity'
//
//   v2.0: (01/may/00)
//         - Introducing TLCDAnimator, the animation command for TLCDScreen
//           All 'Scroll' props and methods are now obsolet.
//           Use now AnimationDelay: Cardinal;
//                   AnimationEnabled: Boolean;
//                   AnimationRepeating: Boolean;
//                   and a TLCDAnimator to anime TLCDScreen;
//           Fisrt version of TLCDAnimatorCodeEditorForm.
//         - Remove all Dynamic Arrays: Less nice :(
//                                      but more compatible with old Delphi :))
//         - Rewrite drawing/scrolling routines.
//         - Removed internal FDisplayLines.
//
//   v2.1: (01/jun/00)
//         - An empty line doesn't raise error in TLCDAnimator.
//         - pixCustom bug fix.
//         - No more global protection error when a TLCDAnimator linked to a TLCDScreen
//           is detroyed.
//         - No more global protection error when TLCDScreen.LCDAnimator
//           is cleared.
//         - Other cosmetic code design.
//
//   v2.2:(01/jul/00)
//         - Matrix.pas ver 2.0 : - Hitachi, Hitachi2, dos5x7 removed;
//                                - use now mat5x7, mat7x9, mat9x12;
//         - Introducing DotMatrixBorders = set of (mbBottom, mbLeft, mbRight, mbTop);
//         - Introducing special effects: inverse and blinking effects;
//
//   v2.3:(20/jul/00)
//         - Fisrt version of TLCDScreenLineEditorForm.

//   v2.5:(15/aug/01)
//         - D6 version and new code design with TLCDScreenReg.pas
//         - Code cleaning and rewriting animation routines;
//         - Add AnimationUnits: TAnimationUnit = (auChar, auPixel);
//         - Add two new special effects: underline and strike;
//         - Remove psShaped from Pixelshape (not really usefull);
//         - Remove InfoPanelOn/Off (too buggy);
//         - Remove BorderColor and simplify BorderStyle;
//         - Updated Demo.exe and Help file;
//
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
//
//  Know bugs:
//
//   - none :)
//
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
//
//  The Strory and the Status of TLCDScreen
//  ---------------------------------------
//
//  TLCDScreen is based on an original code from Peter Czidlina's TLCDLabel v1.5a
//                               (petercz@swipnet.se)
//                               (http://hem2.passagen.se/ebcpecz/)
//
// The mother code for dots and characters drawing and Matrix.pas are Peter
// Czidlina's stuff.
// At the beginning, my idea was only to improve TLCDLabel.
// First, I try to implemente a true-multiline dimension. When done I add
// scrolling capacities to the component. I also recode drawing routines
// to improve speed.
// Days after days, improvments after improvments and e-mails after e-mails,
// it appears that I write a totally new component.
// Then, with the express agreement of Peter, I rename it and publish my work
// under my name.
//
// As Peter Czidlina's component was FREEWARE, it was easy for me to analyse his
// code and try to improve it.
//
// This is why TLCDScreen is also FREEWARE.
// However, use in commercial or shareware applications requires
// MY EXPRESS WRITTEN PERMISSION.
//
////////////////////////////////////////////////////////////////////////////////
//
// There is no direct compatibility between TLCDScreen and TLCDLabel because
// some properties had been renames, added or removed from the original code.
//
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
//
// Installation note:
// ------------------
//    TLCDScreen use 'DsgnIntf.pas' for the About prop and the TLCDAnimator's
//    ComponentEditor and PropertyEditor.
//    'DsgnIntf.pas' can be find in '$(DELPHI)\Source\Toolsapi'
//    Then you must add it:
//                [Project/Options]
//                [Select Directories/Conditionnals]
//                Add [$(DELPHI)\Source\Toolsapi] in [SearchPath]
//
//
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
//
//  Please notice bugs or problems, suggestions and improvements at
//
//  jacques.voirin@iname.com
//
////////////////////////////////////////////////////////////////////////////////


interface

{$R LCDScreen.res}

uses
  Windows, Classes, Graphics, Controls, Dialogs, ExtCtrls, Math, SysUtils,
  Forms, Matrix;


function NbOfThings(tempcode: string; Thing: Char): Integer;


const MaxSizeCodeInstructionArray = 255; //Removing dynamic Arrays...


type
  TLCDAnimator = class;

  TCodeInstruction = record
                       Word: string[25];
                       Param: Integer;
                       end;

  CodeInstructionArrayBuilder = array[1..MaxSizeCodeInstructionArray] of TCodeInstruction; //Removing dynamic Arrays...

  TEndCodeEvent = procedure(Sender: TLCDAnimator) of object;

  TResetMode = (rmDisplay, rmCode, rmDisplayAndCode);

  TLineExecutedEvent = procedure(Sender: TLCDAnimator; LineNumber: Word) of object;

  //TDotMatrix = (mat5x7, mat7x9, mat9x12 {, CustomFont});

  TDotMatrixBorder = (mbBottom, mbLeft, mbRight, mbTop);

  TDotMatrixBorders = set of TDotMatrixBorder;

  TPixelSize = (pixCustom, pix1x1, pix2x2, pix3x3, pix4x4, pix5x5, pix6x6,
                pix7x7, pix8x8, pix9x9, pix10x10, pix11x11, pix12x12, pix13x13,
                pix14x14, pix15x15, pix16x16);

  TPixelShape = (psSquare, psRound);

  TLCDBorder = (bsLowered, bsNone, bsRaised);

  TSpecialEffect = (spBlinking, spInverse, spUnderline, spStrike);

  TSpecialEffects = set of TSpecialEffect;

  TAnimationUnit = (auChar, auPixel);

  TOneChar = record
                TheChar:WideChar;
                SpEff: Byte;
                end;

////////////////////////////////////////////////////////////////////////////////
//
// TLCDAnimator
//
////////////////////////////////////////////////////////////////////////////////

  TLCDAnimator = class(TComponent)
  private
    FCode: TStrings;
    FCodeErrorFound: Boolean;
    FCurrentLine: SmallInt;
    FOnEndCode: TEndCodeEvent;
    FOnLineExecuted: TLineExecutedEvent;
    function  GetAbout: string;
    procedure SetAbout(Value: string);
    procedure SetCurrentLine(Value: SmallInt);

  protected
    procedure SetCode(Value: TStrings);

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

  published
    property About: string read GetAbout write SetAbout stored False;
    property Code: TStrings read FCode write SetCode;
    property CodeErrorFound: Boolean read FCodeErrorFound write FCodeErrorFound;
    property CurrentLine: SmallInt read FCurrentLine write SetCurrentLine;
    property OnEndCode: TEndCodeEvent read FOnEndCode write FOnEndCode;
    property OnLineExecuted: TLineExecutedEvent read FOnLineExecuted write FOnLineExecuted;
  end;


////////////////////////////////////////////////////////////////////////////////
//
// TLCDScreen
//
////////////////////////////////////////////////////////////////////////////////

  TLCDScreen = class(TGraphicControl)
  private

    P: ^CodeInstructionArrayBuilder;      //Removing dynamic Arrays...
    Display: array [0..255,0..255] of TOneChar; { Internal image of the screen        }
    PixHRef, PixVRef: ShortInt;           { Internal offset in Pixel unit             }
    CharHRef, CharVRef: SmallInt;         { Internal offset in Char unit              }
    CharWidth, CharHeight: Word;          { Temp. storage of character sizes          }
    psx, psy: Byte;                       { Internal pixel dimension variables        }
    FontWidth, FontHeight: Byte;          { Font size                                 }
    FTimer: TTimer;                       { Internal Timer                            }
    //FVirginMatrixBitmap: TBitmap;         { Internal bitmap of a virgin matrix        }
    //FBlackMatrixBitmap: TBitmap;          { Internal bitmap of a allOnPixels matrix   }
    //FDisplayCharBitmap: TBitmap;

    FVirginMatrixDC: HDC;
    FVirginMatrixBitmap: TBitmap;
    FOVirginMatrixBitmap: HBITMAP;

    FBlackMatrixDC: HDC;
    FBlackMatrixBitmap: TBitmap;
    FOBlackMatrixBitmap: HBITMAP;

    FCharDC: HDC;
    FCharBitmap, FOCharBitmap: HBITMAP;
    
    FTrueOnColor : TColor;                { Internal color for OnPixels               }
    FTrueOffColor: TColor;                { Internal color for OffPixels              }
    FBlinkingStatus: Boolean;             { Internal Blinking On/Off flag             }

    FAnimationDelay: Cardinal;            { In milliseconds; the smaller, the faster  }
    FAnimationEnabled: Boolean;           { Enable or disable the animation           }
    FAnimationRepeating: Boolean;         { What to do when all code lines had been processed }
    FAnimationUnits: TAnimationUnit;      { Animation pixel per pix or char per char  }
    FBorderSpace: Byte;                   { Distance from the LCD border              }
    FBorderStyle: TLCDBorder;             { Border around the the component           }
    FCharSpacing: Byte;                   { Space between the characters on the LCD   }
    FColor: TColor;                       { LCD color                                 }
    //FDotMatrix: TDotMatrix;               { Type of character matrix on the LCD       }
    FDotMatrixBorders: TDotMatrixBorders; { PixelOff borders around a character       }
    FHeight: Integer;                     { Label height in pixels                    }
    FIntensity: ShortInt;                 { [-128..127] percentage of ligth           }
    FLCDAnimator: TLCDAnimator;           { The TLCDAnimator associated with          }
    FLines: TStringList;                  { The component's multilines text           }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区中文字幕国产| 精品一区二区av| 精品国产伦一区二区三区观看方式| 成人性生交大片免费看中文 | 午夜成人在线视频| 国产性天天综合网| 91精品国产综合久久久久| 成人看片黄a免费看在线| 日韩精品亚洲专区| 亚洲激情成人在线| 国产精品午夜久久| 精品99久久久久久| 91精品国产入口在线| 一本大道久久a久久综合| 国产精品一色哟哟哟| 日本不卡的三区四区五区| 亚洲欧美日韩在线不卡| 国产欧美一区二区精品秋霞影院| 日韩一区二区在线看片| 欧美影院一区二区| 色综合中文字幕| 9i在线看片成人免费| 成人网页在线观看| 国产在线播放一区三区四| 另类人妖一区二区av| 午夜精品久久久久久不卡8050| 亚洲精品自拍动漫在线| 国产精品乱码人人做人人爱 | 最新国产成人在线观看| 国产丝袜欧美中文另类| 久久女同精品一区二区| 久久日一线二线三线suv| 精品国产自在久精品国产| 91麻豆精品国产自产在线观看一区| 欧美制服丝袜第一页| 91丨国产丨九色丨pron| 99久久99久久精品国产片果冻| 成人激情动漫在线观看| 成人午夜视频免费看| 福利一区在线观看| 成人午夜精品在线| 成人avav影音| 91福利小视频| 欧美男生操女生| 欧美日本在线视频| 91精品国产综合久久福利软件 | 亚洲二区视频在线| 日韩精品视频网| 蜜臀av性久久久久蜜臀aⅴ| 看电视剧不卡顿的网站| 久久se精品一区精品二区| 国产一区二区三区香蕉| 成人丝袜18视频在线观看| av影院午夜一区| 色乱码一区二区三区88| 欧美特级限制片免费在线观看| 欧美日韩一区在线| 欧美不卡视频一区| 国产欧美一区二区精品性色超碰| 亚洲一区二区三区四区在线观看 | 欧美性猛片aaaaaaa做受| 91成人在线观看喷潮| 7777精品伊人久久久大香线蕉完整版| 日韩欧美色综合网站| 国产午夜精品久久久久久久| 国产精品久久久久久久岛一牛影视| 国产精品伦一区二区三级视频| 亚洲日穴在线视频| 免费在线观看一区| 国产成人免费xxxxxxxx| 一本一道久久a久久精品综合蜜臀| 欧美性生活影院| 精品久久久久一区二区国产| 国产欧美一二三区| 亚洲午夜一区二区三区| 久久精品国产精品亚洲精品| 国产成人精品在线看| 欧美在线制服丝袜| 精品免费国产一区二区三区四区| 国产精品美女久久久久久久久久久 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 日韩在线一区二区| 韩国av一区二区三区在线观看| 成人小视频在线| 91精品国产色综合久久不卡蜜臀| 中文字幕乱码日本亚洲一区二区| 亚洲一二三专区| 国产69精品一区二区亚洲孕妇| 欧美图片一区二区三区| xf在线a精品一区二区视频网站| 亚洲欧美日韩国产手机在线| 精品写真视频在线观看| 在线看一区二区| 国产欧美精品一区aⅴ影院| 亚洲3atv精品一区二区三区| 不卡在线视频中文字幕| 欧美一级专区免费大片| 亚洲免费观看高清| 国产精品99久久久久久有的能看| 欧美日韩亚洲综合在线 | 国产精品一二三| 欧美日韩精品综合在线| 中文字幕永久在线不卡| 九色|91porny| 69久久99精品久久久久婷婷| 亚洲精品中文在线影院| 国产xxx精品视频大全| 日韩女优电影在线观看| 亚洲va韩国va欧美va精品| 色婷婷综合激情| 国产精品美女久久久久高潮| 国产精品一区二区91| 日韩一区二区免费视频| 午夜精品福利在线| 欧美伊人久久大香线蕉综合69| 国产精品日韩精品欧美在线| 国产麻豆视频一区| 日韩欧美精品在线| 日韩精品亚洲专区| 欧美日韩欧美一区二区| 一区二区三区四区在线| 97国产精品videossex| 国产精品久久福利| 成人午夜伦理影院| 国产精品三级视频| 成人黄色a**站在线观看| 国产欧美视频一区二区| 国产一本一道久久香蕉| 精品美女被调教视频大全网站| 日本三级亚洲精品| 宅男在线国产精品| 日韩国产高清影视| 欧美福利视频导航| 五月开心婷婷久久| 欧美精品vⅰdeose4hd| 日韩电影在线免费| 3d成人h动漫网站入口| 免费一级欧美片在线观看| 欧美老肥妇做.爰bbww| 午夜视频在线观看一区二区 | 亚洲精品欧美在线| 日本韩国一区二区三区| 一区二区三区加勒比av| 91国偷自产一区二区三区观看| 亚洲男人的天堂一区二区| 色国产综合视频| 亚洲国产欧美日韩另类综合| 欧美视频在线一区| 午夜精品福利一区二区蜜股av| 欧美一区二区三区成人| 久久99精品国产麻豆婷婷洗澡| 久久久久久久久久久黄色| 国产成人av一区| 一区二区在线观看免费| 欧美在线看片a免费观看| 婷婷丁香久久五月婷婷| 欧美大片在线观看一区| 高清在线不卡av| 亚洲人亚洲人成电影网站色| 欧美私人免费视频| 国精品**一区二区三区在线蜜桃| 国产亚洲综合性久久久影院| gogo大胆日本视频一区| 亚洲www啪成人一区二区麻豆| 日韩一区二区免费视频| 国产精品一区专区| 亚洲日本韩国一区| 777久久久精品| 国产福利一区二区三区| 一区二区三区在线观看国产| 日韩精品一区二区三区中文不卡 | 日韩欧美在线网站| 国产v综合v亚洲欧| 亚洲一级二级在线| 久久精品一区二区三区不卡牛牛| 91免费版在线| 老司机午夜精品| 亚洲欧美色图小说| 精品国产乱码91久久久久久网站| 粗大黑人巨茎大战欧美成人| 亚洲第一福利一区| 国产女主播一区| 欧美日韩国产高清一区二区| 国产一区免费电影| 亚洲福利视频一区| 国产欧美视频在线观看| 在线电影欧美成精品| 不卡视频免费播放| 蜜芽一区二区三区| 亚洲欧美日韩在线| 久久久久久久综合| 欧美日韩美女一区二区| 岛国一区二区在线观看| 日韩精品欧美精品| 亚洲欧美日韩小说| 欧美韩日一区二区三区四区| 欧美一级日韩免费不卡| 色激情天天射综合网| 成人久久视频在线观看| 久久99久久久久久久久久久|