스트링그리드에서 특정 셀-아래소스에서 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;
> 스트링그리드에서 특정 셀-아래소스에서 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;
위처럼 되는 겁니다용..~
수고하셔요~