Вопрос по компоненту Shape

Тема в разделе "Delphi - Компоненты", создана пользователем KuevProger, 7 апр 2009.

Статус темы:
Закрыта.
  1. KuevProger

    KuevProger Гость

    Есть некий массив данных Value[1..9] и есть 9 компонентов Shape. Считывание данных с массива идет в реальном времени.Нужно чтоб при считывании с массива 1 значения згарался Shepe1,при 2 Shepe2 и.т.д???
    при необходимости могу написать листинг.
     
  2. etc

    etc Гость

    Раз уж так действительно нужно, то так и быть, не возражаем, на этот раз идем на уступки, делайте как нужно.
     
  3. KuevProger

    KuevProger Гость

    Обезательно сделаю у меня выбора нет.
    PS. ЗА МАНИ НЕ ПРЕДЛОГАТЬ
     
  4. etc

    etc Гость

    Армия на кону? :)
     
  5. KuevProger

    KuevProger Гость

    НЕТ у нас в Казахстане проще 4ем вас а армией. 4тоб уйти в армию надо плотить деньги. :rolleyes:
    т.к. желающих докуя :cool:. В общем мне ето не грозит.
    ЗЫ. на гляди ;) :

    private
    values: array [1..9] of integer; // ну или какой там у Вас тип
    shape: array [1..9] of TShape;
    private
    function GetValue(index: integer): integer;
    procedure SetValue(index: integer; new_value: integer);
    public
    property Value[index: integer] read GetValue write SetValue;
    end;
    ...

    function TForm1.GetValue(index: integer): integer;
    begin
    Result := values[index];
    end;

    procedure TForm1.SetValue(index: integer; new_value: integer);
    begin
    // Может в массив уже записано это значение и нет смысла ничего менять
    if (values[index] <> new_value) then
    begin
    values[index] := new_value;
    // отображаем соответствующий элементу шейп
    // можно соответственно какую-то другую логику сюда засунуть
    // в зависимости от задачи
    shape[index].Visible := true;
    end;
    end;
     
  6. etc

    etc Гость

    У кого выцыганили?
     
  7. KuevProger

    KuevProger Гость

    Есть еще добрые люди которые не за деньги готовы помочь.. :)

    PS. Можно на ты)))
     
  8. KuevProger

    KuevProger Гость

    Мне подсказали сделать по другому:
    type
    Logikal=record
    Value_V:real;
    Value_Log:byte;
    Indikator:TShape;
    Ind_Name:TLabel;
    end;
    var
    DCB : TDCB;
    CT: TCommTimeouts;
    hPort : THandle;
    i:integer;
    ReadThread:TReadThread;
    Value:array[1..9] of real;
    Logic:array[1..9] of Logikal;
    tick:integer=0;
    tck_reg:Integer=0;
    Period_Reg:integer=100;
    Form1: TForm1;
    NamePatch:String;
    RegFileName:string;
    RegFile:TFileStream;
    str,st_file:string;
    ....
    procedure Logical_indikator;
    var
    i:integer;

    begin
    for i:=1 To 7 do
    begin
    Logic.Value_V:=Value;
    If (Logic.Value_V>=-0.5) and (Logic.Value_V<=0.5) Then Logic.Value_Log:=0;
    If (Logic.Value_V>=4.5) and (Logic.Value_V<=5.5) Then Logic.Value_Log:=1;
    If Logic.Value_Log=0 Then Logic.Indikator.Brush.Color:=clLime;
    If Logic.Value_Log=1 Then Logic.Indikator.Brush.Color:=clRed;
    end;
    end;
    ЗЫ. задачу я грам не правильно сформулировал)))

    У меня еще появился вопрос? создал динамическую процедуру и не могу замутить чтоб подписывать значения лейблом вот код:
    type
    Logikal=record
    Value_V:real;
    Value_Log:byte;
    Indikator:TShape;
    Ind_Name:TLabel;
    ...

    Procedure Create_Indicator();
    begin

    For i:=1 To 7 Do
    begin
    Logic.Indikator:=TShape.Create(Form1);
    Logic.Indikator.Parent:=Form1.Panel1;
    Logic.Indikator.Top:=18;
    Logic.Indikator.Left:=500+i*27;
    Logic.Indikator.Height:=20;
    Logic.Indikator.Width:=20;
    Logic.Indikator.Shape:=stCircle;
    Logic.Indikator.Brush.Color:=clLime;
    Logic[i].Indikator.Hint:='K'+IntToStr(i);
    Logic[i].Indikator.ShowHint:=True;
    Logic[i].Indikator.Visible:=True;
    Logic[i].Ind_Name.Caption:=КАК ТУТ НАДО ПИСАТЬ ИЛИ ТАК НЕ ПРАВИЛЬНО???;
    end;
    end;[/i][/i][/i][/i]
     
Загрузка...
Похожие Темы - Вопрос по компоненту
  1. ApplePen
    Ответов:
    0
    Просмотров:
    78
  2. gURaBA_N
    Ответов:
    3
    Просмотров:
    94
  3. kartaman
    Ответов:
    0
    Просмотров:
    128
  4. Peter
    Ответов:
    4
    Просмотров:
    524
  5. di0d_
    Ответов:
    1
    Просмотров:
    441
Статус темы:
Закрыта.

Поделиться этой страницей