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

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

?? qilcdmatrix.pas

?? Iocomp Ultra Pack v3.0.2 Sources.For.Delphi 數據顯示編程插件,可用于工業控制
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
  Canvas.FillRect(ARect);
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.DrawCharacter(Canvas: TCanvas; Col, Row: Integer; CharacterIndex: Integer; Color: TColor);
var
  CellColStart : Integer;
  CellRowstart : Integer;
  ACharacter   : TiLCDCharacter;

  CellRow      : Integer;
  CellCol      : Integer;
  CellRowData  : Integer;
  CellOn       : Boolean;
begin
  if (Col < 0) or (Col > (FCharactersHorz -1)) then Exit;
  if (Row < 0) or (Row > (FCharactersVert -1)) then Exit;

  CellColStart := Col *(FCharactersetWidth  + FCharacterSpacingHorz);
  CellRowStart := Row *(FCharactersetHeight + FCharacterSpacingVert);

  Canvas.Brush.Color := Color;
  Canvas.Pen.Color   := Color;

  ACharacter := CharacterObject[CharacterIndex];

  for CellRow := 0 to FCharactersetHeight-1 do
    begin
      CellRowData := ACharacter.GetRowData(CellRow);
      for CellCol := 0 to FCharactersetWidth -1 do
        begin
          CellOn := CellRowData and (1 shl (FCharactersetWidth - CellCol -1)) > 0;
          if CellOn then DrawCell(Canvas, CellColStart + CellCol, CellRowstart + CellRow, CellOn);
        end;
    end;
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.DrawText(Canvas: TCanvas);
var
  x        : Integer;
  Row, Col : Integer;
begin
  for x := 0 to FElementList.Count-1 do
    begin
      if ElementObject[x].AChar = #0 then Continue;

      Row := x div FCharactersHorz;
      Col := x mod FCharactersHorz;

      DrawCharacter(Canvas, Col, Row, ord(ElementObject[x].AChar), ElementObject[x].Color);
    end;
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.iPaintTo(Canvas: TCanvas);
begin
  DrawBackGround(Canvas, BackGroundColor);

  Canvas.Brush.Style := bsSolid;
  Canvas.Pen.Style   := psSolid;

  DrawCalc;
  DrawGrid(Canvas);
  DrawText(Canvas);
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.SetCharacterSpacingHorz(const Value: Integer);begin if Value < 0 then Exit; SetIntegerProperty(Value, FCharacterSpacingHorz, irtInvalidate);end;
procedure TiLCDMatrix.SetCharacterSpacingVert(const Value: Integer);begin if Value < 0 then Exit; SetIntegerProperty(Value, FCharacterSpacingVert, irtInvalidate);end;
procedure TiLCDMatrix.SetCharactersetWidth   (const Value: Integer);begin if Value < 1 then Exit; SetIntegerProperty(Value, FCharactersetWidth,    irtInvalidate);end;
procedure TiLCDMatrix.SetCellsWidth          (const Value: Integer);begin if Value < 1 then Exit; SetIntegerProperty(Value, FCellsWidth,           irtInvalidate);end;
procedure TiLCDMatrix.SetCellsSpacingHorz    (const Value: Integer);begin if Value < 0 then Exit; SetIntegerProperty(Value, FCellsSpacingHorz,     irtInvalidate);end;
procedure TiLCDMatrix.SetCellsSpacingVert    (const Value: Integer);begin if Value < 0 then Exit; SetIntegerProperty(Value, FCellsSpacingVert,     irtInvalidate);end;
procedure TiLCDMatrix.SetCellsColorOff       (const Value: TColor );begin                         SetColorProperty  (Value, FCellsColorOff,        irtInvalidate);end;
procedure TiLCDMatrix.SetCellsShowOff        (const Value: Boolean);begin                         SetBooleanProperty(Value, FCellsShowOff,         irtInvalidate);end;
procedure TiLCDMatrix.SetOuterMarginBottom   (const Value: Integer);begin if Value < 0 then Exit; SetIntegerProperty(Value, FOuterMarginBottom,    irtInvalidate);end;
procedure TiLCDMatrix.SetOuterMarginLeft     (const Value: Integer);begin if Value < 0 then Exit; SetIntegerProperty(Value, FOuterMarginLeft,      irtInvalidate);end;
procedure TiLCDMatrix.SetOuterMarginRight    (const Value: Integer);begin if Value < 0 then Exit; SetIntegerProperty(Value, FOuterMarginRight,     irtInvalidate);end;
procedure TiLCDMatrix.SetOuterMarginTop      (const Value: Integer);begin if Value < 0 then Exit; SetIntegerProperty(Value, FOuterMarginTop,       irtInvalidate);end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.SetCellsColorOn(const Value: TColor);
var
  x : Integer;
begin
  if FCellsColorOn <> Value then
    begin
      FCellsColorOn := Value;

      for x := 0 to FElementList.Count-1 do
        ElementObject[x].Color := Value;
        
      InvalidateChange;
    end;
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.SetCharactersetHeight(const Value: Integer);
var
  x : Integer;
begin
  if Value < 1 then Exit;
  if FCharactersetHeight <> Value then
    begin
      FCharactersetHeight := Value;
       for x := 0 to 255 do
         CharacterObject[x].RowCount := Value;
      InvalidateChange;   
    end;
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.SetCharactorRowData(CharacterIndex, RowIndex, Value: Integer);
begin
  CharacterObject[CharacterIndex].SetRowData(RowIndex, Value);
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.DefineProperties(Filer: TFiler);
begin
  inherited;
  Filer.DefineProperty('Characters', ReadFromStream, WriteToStream, True);
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.WriteToStream(Writer: TWriter);
var
  x : Integer;
begin
  TWriterAccess(Writer).WriteValue(vaCollection);
  for x := 0 to 255 - 1 do
  begin
    Writer.WriteListBegin;
    WriterWriteProperties(Writer, CharacterObject[x]);
    Writer.WriteListEnd;
  end;
  Writer.WriteListEnd;
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.ReadFromStream(Reader: TReader);
var
  CurrentIndex : Integer;
begin
  CurrentIndex := 0;
  if TReaderAccess(Reader).ReadValue <> vaCollection then exit;
  while not Reader.EndOfList do
  begin
    Reader.ReadListBegin;
    while not Reader.EndOfList do TReaderAccess(Reader).ReadProperty(CharacterObject[CurrentIndex]);
    Reader.ReadListEnd;
    Inc(CurrentIndex)
  end;
  Reader.ReadListEnd;
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.LoadCharactersetFromFile(FileName: String);
var
  x            : Integer;
  Row          : Integer;
  StringList   : TStringList;
  NewWidth     : Integer;
  NewHeight    : Integer;
  CurrentIndex : Integer;
begin
  StringList := TStringList.Create;
  try
    StringList.LoadFromFile(FileName);

    CurrentIndex := 0;

    NewWidth  := StrToInt(StringList.Strings[CurrentIndex]); Inc(CurrentIndex);
    NewHeight := StrToInt(StringList.Strings[CurrentIndex]); Inc(CurrentIndex);

    if (NewHeight*256 + 2) <> StringList.Count then raise Exception.Create('Invalid Characterset File Format');

    FCharactersetName := ExtractFileName(FileName);

    CharactersetWidth  := NewWidth;
    CharactersetHeight := NewHeight;

    for x := 0 to 255 do
      for Row := 0 to NewHeight-1 do
        begin
          CharacterObject[x].SetRowData(Row, StrToInt(StringList.Strings[CurrentIndex]));
          Inc(CurrentIndex);
        end;

  finally
    StringList.Free;
  end;
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.SaveCharactersetToFile(FileName: String);
var
  x          : Integer;
  Row        : Integer;
  StringList : TStringList;
begin
  StringList := TStringList.Create;
  try
    StringList.Add(IntToStr(CharactersetWidth));
    StringList.Add(IntToStr(CharactersetHeight));

    for x := 0 to 255 do
      for Row := 0 to CharactersetHeight-1 do
        StringList.Add(IntToStr(CharacterObject[x].GetRowData(Row)));

    StringList.SaveToFile(FileName);
    FCharactersetName := ExtractFileName(FileName);
  finally
    StringList.Free;
  end;
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.AdjustElementList(RequiredElements: Integer);
var
  Element : TiLCDElement;
begin
  if FElementList.Count < RequiredElements then
    begin
      while FElementList.Count < RequiredElements do
        begin
          Element := TiLCDElement.Create;
          Element.Color := FCellsColorOn;
          Element.AChar := #0;
          FElementList.AddObject('', Element);
        end;
    end;
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.SetText(const Value: String);
begin
  FText := Value;
  Clear;
  PlaceText(FText, 0, 0, FCellsColorOn);
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.PlaceText(AText: String; Col, Row: Integer; AColor: TColor);
var
  x            : Integer;
  StartIndex   : Integer;
  AShortString : ShortString;
begin
  DrawCalc;
  StartIndex := Row*FCharactersHorz + Col;

  AdjustElementList(StartIndex + Length(AText));

  for x := 0 to Length(AText)-1 do
    begin
      if (x + StartIndex) > FElementList.Count-1 then Break;
      AShortString := Copy(AText, x + 1, 1);
      ElementObject[StartIndex + x].AChar := AShortString[1];
      ElementObject[StartIndex + x].Color := AColor;
    end;

  InvalidateChange;
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.Clear;
var
  x : Integer;
begin
  for x := 0 to FElementList.Count-1 do
    begin
      ElementObject[x].Color := FCellsColorOn;
      ElementObject[x].AChar := #0;
    end;

  InvalidateChange;
end;
//****************************************************************************************************************************************************
function TiLCDMatrix.GetElementColor(Col, Row: Integer): TColor;
begin
  DrawCalc;

  Result := clBlack;
  if Col < 0                  then Exit;
  if Row < 0                  then Exit;
  if Col > FCharactersHorz -1 then Exit;
  if Row > FCharactersVert -1 then Exit;

  Result := ElementObject[Row*FCharactersHorz + Col].Color;
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.SetElementColor(Col, Row: Integer; const Value: TColor);
begin
  DrawCalc;

  if Col < 0                  then Exit;
  if Row < 0                  then Exit;
  if Col > FCharactersHorz -1 then Exit;
  if Row > FCharactersVert -1 then Exit;

  ElementObject[Row*FCharactersHorz + Col].Color := Value;
  InvalidateChange;
end;
//****************************************************************************************************************************************************
function TiLCDMatrix.GetElementChar(Col, Row: Integer): Char;
begin
  DrawCalc;

  Result := #0;
  if Col < 0                  then Exit;
  if Row < 0                  then Exit;
  if Col > FCharactersHorz -1 then Exit;
  if Row > FCharactersVert -1 then Exit;

  Result := ElementObject[Row*FCharactersHorz + Col].AChar;
end;
//****************************************************************************************************************************************************
function TiLCDMatrix.GetElementCharCode(Col, Row: Integer): Integer;
begin
  DrawCalc;

  Result := 0;
  if Col < 0                  then Exit;
  if Row < 0                  then Exit;
  if Col > FCharactersHorz -1 then Exit;
  if Row > FCharactersVert -1 then Exit;

  Result := ord(ElementObject[Row*FCharactersHorz + Col].AChar);
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.SetElementChar(Col, Row: Integer; const Value: Char);
begin
  DrawCalc;

  if Col < 0                  then Exit;
  if Row < 0                  then Exit;
  if Col > FCharactersHorz -1 then Exit;
  if Row > FCharactersVert -1 then Exit;

  ElementObject[Row*FCharactersHorz + Col].AChar := Value;
  InvalidateChange;
end;
//****************************************************************************************************************************************************
procedure TiLCDMatrix.SetElementCode(Col, Row: Integer; const Value: Integer);
begin
  DrawCalc;

  if Col < 0                  then Exit;
  if Row < 0                  then Exit;
  if Col > FCharactersHorz -1 then Exit;
  if Row > FCharactersVert -1 then Exit;

  ElementObject[Row*FCharactersHorz + Col].AChar := chr(Value);
  InvalidateChange;
end;
//****************************************************************************************************************************************************
end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区在线看麻豆| 精彩视频一区二区| 久久亚洲综合av| 色香蕉久久蜜桃| 国产综合一区二区| 亚洲一区欧美一区| 国产精品免费人成网站| 欧美一区二区福利视频| 色综合久久中文字幕综合网| 国产一区二区在线观看免费| 天天综合天天综合色| 国产精品护士白丝一区av| 欧美tickling网站挠脚心| 欧美亚洲禁片免费| 97久久人人超碰| 国产一区二区三区四区五区美女| 亚洲国产一区视频| 亚洲乱码日产精品bd| 久久精品视频在线免费观看 | 国产日韩欧美a| 欧美一区三区二区| 欧美日韩中字一区| 91黄视频在线| 色综合久久久久综合| 成人三级伦理片| 国产精品996| 激情成人午夜视频| 老司机精品视频导航| 欧美a级一区二区| 午夜激情一区二区| 天天影视色香欲综合网老头| 亚洲精品国产一区二区三区四区在线| 久久久精品综合| 久久久久久久一区| 久久久久9999亚洲精品| 久久精品一二三| 国产性色一区二区| 国产日产亚洲精品系列| 久久精品一区二区| 欧美国产日韩亚洲一区| 亚洲国产精品精华液ab| 国产精品丝袜一区| 中文字幕在线一区免费| 亚洲欧洲精品一区二区精品久久久| 国产欧美一区二区在线| 国产人妖乱国产精品人妖| 国产视频一区二区在线| 国产精品网站在线| 亚洲欧洲成人av每日更新| 亚洲人成人一区二区在线观看| 亚洲欧美综合网| 亚洲综合成人网| 午夜不卡在线视频| 精品一区二区三区香蕉蜜桃| 国产在线精品国自产拍免费| 风间由美一区二区av101| 成人高清视频在线| 欧美午夜片在线看| 日韩亚洲欧美中文三级| 久久老女人爱爱| 国产精品第13页| 亚洲影院久久精品| 日本午夜精品视频在线观看| 国产精品99久| 欧美性生活久久| 欧美变态tickling挠脚心| 国产亚洲欧洲一区高清在线观看| 国产精品美女久久福利网站| 一区二区三区日韩在线观看| 免费亚洲电影在线| 国产成人av电影在线播放| 色综合天天综合网国产成人综合天 | 麻豆精品一区二区av白丝在线| 国产综合色在线视频区| 一本一本大道香蕉久在线精品| 欧美美女黄视频| 久久久精品综合| 夜色激情一区二区| 麻豆精品在线观看| 91在线丨porny丨国产| 制服丝袜亚洲色图| 国产欧美精品一区二区色综合| 亚洲色图丝袜美腿| 蜜桃视频在线观看一区| 岛国精品一区二区| 欧美群妇大交群中文字幕| 久久久久久9999| 性久久久久久久久久久久| 国产乱子轮精品视频| 欧亚洲嫩模精品一区三区| 精品久久国产97色综合| 亚洲日本青草视频在线怡红院| 日韩精品乱码免费| 99精品久久只有精品| 精品久久久久久久久久久久久久久| 中文字幕亚洲一区二区va在线| 日本中文一区二区三区| 91婷婷韩国欧美一区二区| 精品久久久久香蕉网| 一区二区三区蜜桃网| 国产99精品视频| 欧美一级电影网站| 亚洲精品国产成人久久av盗摄| 国产精品911| 精品国产一区二区三区四区四| 亚洲毛片av在线| 欧美一区二区福利在线| 一区二区三区日韩欧美| 成人免费视频国产在线观看| 日韩欧美www| 香蕉乱码成人久久天堂爱免费| 成人午夜碰碰视频| 精品国产免费视频| 日本在线不卡视频| 欧美日韩在线精品一区二区三区激情| 国产精品福利一区二区三区| 国产成人在线视频免费播放| 日韩欧美在线不卡| 日韩精品亚洲一区| 欧美日韩国产美| 亚洲九九爱视频| 9久草视频在线视频精品| 欧美国产精品v| 国产一区二区不卡在线| 欧美一级理论片| 天天综合色天天综合| 欧美日韩高清不卡| 亚洲一区影音先锋| 欧美日韩一区二区三区高清| 亚洲综合在线免费观看| 一本久道久久综合中文字幕| 综合色天天鬼久久鬼色| 不卡视频一二三四| 国产精品久久久久久久久动漫 | 国产精品欧美久久久久无广告| 国模一区二区三区白浆| 精品国产乱码久久久久久久久| 蜜桃视频在线一区| 欧美tickle裸体挠脚心vk| 极品瑜伽女神91| 久久婷婷国产综合精品青草| 久久国产三级精品| 精品久久国产字幕高潮| 国产美女精品在线| 欧美国产一区二区| 96av麻豆蜜桃一区二区| 亚洲自拍偷拍图区| 91精品国产全国免费观看| 男男gaygay亚洲| 欧美大片在线观看一区二区| 老司机精品视频在线| 久久久亚洲精品石原莉奈| 粉嫩av一区二区三区粉嫩| 亚洲欧美在线视频观看| 在线视频综合导航| 五月天中文字幕一区二区| 日韩欧美国产一二三区| 国产麻豆视频一区二区| 国产精品三级视频| 91麻豆视频网站| 日韩有码一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 国产成人午夜99999| 亚洲欧美另类在线| 欧美理论电影在线| 激情欧美一区二区| 亚洲视频精选在线| 欧美人妇做爰xxxⅹ性高电影| 精品午夜久久福利影院| 中文字幕日韩精品一区| 666欧美在线视频| 成人免费av在线| 亚洲国产日韩一级| 久久综合给合久久狠狠狠97色69| 丁香桃色午夜亚洲一区二区三区| 一区二区三区在线视频观看| 日韩视频国产视频| eeuss国产一区二区三区| 肉色丝袜一区二区| 日本一区二区三级电影在线观看| 欧美网站一区二区| 国产精品99久| 午夜精品福利视频网站| 国产欧美日韩亚州综合| 欧美日韩三级视频| 国产成人午夜视频| 婷婷六月综合网| 中国色在线观看另类| 欧美一区国产二区| 91美女福利视频| 欧美丰满嫩嫩电影| 99久久婷婷国产综合精品电影| 蜜臀精品一区二区三区在线观看 | 久久精品二区亚洲w码| 亚洲人成在线播放网站岛国| 精品人伦一区二区色婷婷| 欧美性一区二区| 91在线看国产| 国产精品538一区二区在线| 天堂久久久久va久久久久|