1

TJVSegmentedLEDDisplayタイマーとして使用したい (JVCL からの) コントロールがあります。したがって、5 つの場所、2 つの時間、2 つの分、および 2 つの数字の間にコロン (つまり 12:34) があります。何時間も実験と検索を行った後でも、個々の数字にプログラムでアクセスする方法をまだ理解できていません。それは次のようなものであるべきだと私には思えます:

LEDControl.Digits[Index].Text

...しかし、明らかに、そうではありません。

何かご意見は ?

4

1 に答える 1

1

あなたがアクセスしようとしたTJvCustomSegmentedLEDDigit.Textプロパティは、私が言う間違いによって保護されています.それ以来、Textプロパティを直接変更することを除いて、これはあまり快適ではありません.個々のセグメント値を変更する方法を見つけることができませんでした. ただし、インターポーザ クラスなどを使用して、この保護されたアクセスを回避できます。

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, JvExControls, JvSegmentedLEDDisplay;

type
  TLEDDigit = class(JvSegmentedLEDDisplay.TJvCustomSegmentedLEDDigit);

type
  TForm1 = class(TForm)
    Button1: TButton;
    JvSegmentedLEDDisplay1: TJvSegmentedLEDDisplay;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  TLEDDigit(JvSegmentedLEDDisplay1.Digits[0]).Text := '1';
  TLEDDigit(JvSegmentedLEDDisplay1.Digits[1]).Text := '2';
end;

end.
于 2012-12-09T02:16:12.850 に答える