Q&A

  • StringGrid 에서 특정셀 마이너스일때 색깔 넣기....??
스트링그리드에서 특정 셀-아래소스에서 cells[5,row]의 값(숫자)이 마이너스일때만

font색깔을 빨간색으로 하려하는데 컴파일시에 ''' is not a valied integer 와 같은 종류의 에러 메시지가 납니다..... 어디가 잘못된건지...??



with tstringgrid(sender).canvas do

begin

if (col=5) and (row>=1) then

begin

if strtoint(tstringgrid(sender).cells[col,row])<0 then

begin

font.color:=clred;

fillrect(rect);

textout(rect.right-stringgrid1.canvas.textwidth(cellstr),rect.top+2,cellstr);

end;

end;

end;



1  COMMENTS
  • Profile
    조규춘 2000.12.08 03:08
    델이랑파이랑 wrote:

    > 스트링그리드에서 특정 셀-아래소스에서 cells[5,row]의 값(숫자)이 마이너스일때만

    > font색깔을 빨간색으로 하려하는데 컴파일시에 ''' is not a valied integer 와 같은 종류의 에러 메시지가 납니다..... 어디가 잘못된건지...??

    >

    > with tstringgrid(sender).canvas do

    > begin

    > if (col=5) and (row>=1) then

    > begin

    > if strtoint(tstringgrid(sender).cells[col,row])<0 then

    > begin

    > font.color:=clred;

    > fillrect(rect);

    > textout(rect.right-stringgrid1.canvas.textwidth(cellstr),rect.top+2,cellstr);

    > end;

    > end;

    > end;

    >



    그거는 루프를 돌면서 숫자루 바꾸지 못하는 값을 만났을때 그러한 결과가 나오는 겁니다.



    ''' is not a valied integer 공백을 숫자로 처리를 못해서 생기는 에러 이옵니다.



    그래서 다음에 예처러 이용하시면 되지요..



    var

    i : Integer;

    begin

    .............

    try

    i := StrToInt(Edit1.Text);

    except

    on EConvertError do

    Label1.caption := '숫자로 바꾸질 못하겠군요^^';

    end;



    end;



    위처럼 되는 겁니다용..~



    수고하셔요~