procedure Tpitch.detect_sipe;
var
dist : real;
bi : integer;
begin
for bi := 0 to blocks.count-1 do begin //block:Tlist
with Tblock(blocks.items[bi]) do begin //Tblock:Tobject
dist := distance(pt[0],pt[length(pt)-1]);
if dist <= 10e-3 then
sipeis := false
else
sipeis := true
end;
end;
end;
앞부분은 생략해서 해석이 가능하실지 모르겠지만
Tobject.pt[]에 좌표위치를 받아서 거리를 구해서 조건문을 쓴건데요
with Tblock(block.items[bi]) do begin 이부분좀 해석부탁드립니다.
distance는 함수같은데 어떻게 어떤 클래스에 속한 함수이며, 어떻게 사용하고 어떤 값을 반환하는지요
빠른 답변 부탁드립니다.
참고로
result:=Tobject.create
block.add(result)
TBlock은 TObject형을 소스 상단(type내부)에 아래와 같이 사용자가 정의한 Object이고요
TBlock=class(TObject)
......
blocks는 'blocks.items[bi]'에 의하면
분명 아래와 같이 어딘가 선언되었을 것입니다.
blocks: TStringList 또는 TList
distance역시 사용자function이므로 소스를 찾아보십시요.
위 3항목 모두 선언되는 부분을 살펴 보시는 것이 좋을듯 싶습니다.
TBlock이 Class이므로 procedure 및 function이 모두 선언될수도
있기 때문입니다. 그래서 with Tblock(blocks.items[bi]) do begin 은
리스트 blocks가 갖고 있는 값들중 bi번째 값에 해당하는 TBlock의
property, procedure, function등을 실행하는 begin ... end 이네요.
Marek ...