MDB에서 ZONE들의 이름을 읽어 와서 파일로 저장하는 함수를 만들어 봤습니다.
함수의 내용은 간단합니다.
현재의 레벨을 저장한후에 WORLD 레벨로 올라갑니다.
거기서 zone들을 collect합니다.
여기서 for ce 를 붙이니까 제대로 zone들을 끌어 모으지 못했습니다.
그 자세한 이유는 모르겠고 그냥 for ce를 뺐습니다.
그리고 마지막에 저장한 레벨로 되돌려 놓습니다.
덤으로
함수의 내용은 간단합니다.
Define Function !!GetZoneList(!path Is String)
!cur = ref
world
var !tzone collect all zone
q var !tzone
!pathName = !path + '\ZoneList.dat'
!!totalF = Object FILE('$!pathName')
!!totalF.Open('overwrite')
DO !c Index !tzone
$!tzone[$!c]
var !name name
!!totalF.WriteRecord('$!name')
ENDDO
!!totalF.Close()
!!totalF.Delete()
$p ================
$P completed
$p ================
$!cur
EndFunction
인자로 파일이 생길 폴더 이름을 받습니다.현재의 레벨을 저장한후에 WORLD 레벨로 올라갑니다.
거기서 zone들을 collect합니다.
여기서 for ce 를 붙이니까 제대로 zone들을 끌어 모으지 못했습니다.
그 자세한 이유는 모르겠고 그냥 for ce를 뺐습니다.
그리고 마지막에 저장한 레벨로 되돌려 놓습니다.
덤으로
define function !!dofgetgridwl(!path Is String)
!cur = ref
world
var !cgridwl collect all GRIDWLD
q var !cgridwl
if !cgridwl.size() ge 1 Then
!pathName = '/' + !path + '\GridWL.mac'
$!cgridwl[1]
file $!pathName
output ce term
$p ================
$P completed
$p ================
endif
$!cur
endfunction
댓글
댓글 쓰기