지금 현재 RS232통신으로 문장을 읽어와서 스트링 그리드에 해당 값을 집어넣고 있습니다.
예) 읽어들이는 문자열 : 가 나 다 라 마
10 20 30 40 50
스트링 그리드에 저장(_문자는 공백을 의미)
가____ 10____ 10
나____ 20____ 20
다____ 30____ 30
라____ 40____ 40
마____ 50____ 50
첫번째 필드와 두번째 필드는 6씩 끊어서 집어넣었고 세번째 필드는 두번째 필드 값들에서 공백을 제거한 값을 집어 넣었는데요..
각 셀들의 값은 현재 string형이자나요..
이걸 double형으로 바꿔서 더할려고 해서..
var
i, sum : double;
begin
for i := 0 to grid.rowcount-1 di begin
sum := sum + strtofloat(grid.cell[2,i]);
이런식으로 했는데..
''' is not a calid float value이런식으로 에러가 나오는데요..
그래서 스트링 그리드에다가 읽어들인 값을 안넣고 123을 넣어서 해봤는데..
이때는 변환이 잘 되더라구요..아무 에러 없이..
무슨 조환지를 잘 모르겠어요..
대충이라도 해결할수있게끔 조언좀 해주세요..
두서없는 글 읽어주셔서 고맙습니다..
제가 보기에는 Grid의 Cell값중에 ''(셀에 아무값도 들어있지 않음)이 있나봅니다.
StrToFloat 함수를 쓰지 마시고, StrToFloatDef 함수를 사용하시면 좀 더 안전하게 작업할 수 있을 것 같네요.
자세한 사항은 Help를 참조하세요.
즐프하세요.