1 (edited by sibprogsistem 2018-08-22 11:17:52)

Topic: цвет по условию

procedure Form1_OnShow (Sender: TObject; Action: string);
var
sColor: string = SQLExecute('SELECT yesNo FROM one WHERE id=1');
begin
    if (sColor ='0' ) then Begin sColor:= 'clBlack'; end else sColor:= 'clGreen';
    Form1.TableGrid1.Color := sColor;
end;

что не так?

такой вариант не нужен

procedure Form1_OnShow (Sender: TObject; Action: string);
var
sColor: string = SQLExecute('SELECT yesNo FROM one WHERE id=1');
begin
    if (sColor ='0' ) then Begin Form1.TableGrid1.Color := clBlack; end else Form1.TableGrid1.Color := clGreen;
end;

Re: цвет по условию

попробуйте так

procedure Form1_OnShow (Sender: TObject; Action: string);
var
    sColor: string;
    Color: TColor;
begin
    sColor := SQLExecute('SELECT yesNo FROM one WHERE id=1');
    if sColor = '0' then Color:= clBlack else Color:= clGreen;
    Form1.TableGrid1.Color := Color;
end;
Dmitry.

Re: цвет по условию

я не такой привел пример, я хотел, именно в переменной sColor передавать цвет....  Цвет будет выбираться через ChekBoks

Re: цвет по условию

Цвет имеет тип TColor, он же Integer, вы не можете использовать вместо этого строковый тип без преобразования.
А чем это не подходит?

Dmitry.

Re: цвет по условию

sibprogsistem wrote:

я не такой привел пример, я хотел, именно в переменной sColor передавать цвет....  Цвет будет выбираться через ChekBoks

тьфу опять не так..... спишу ))))   через ComboBox

Re: цвет по условию

тогда примерно так

procedure Form1_ComboBox1_OnChange (Sender: TObject);
var
    sColor: string;
    Color: TColor;
begin
    sColor := Form1.ComboBox1.Text;
    if sColor = 'clBlack' then Color:= clBlack else
    if sColor = 'clGreen' then Color:= clGreen else
    if sColor = 'clRed' then Color := clRed;
    Form1.TableGrid1.Color := Color;
end;
Dmitry.