node-2

program: dim thisTable
program: dim thisRowLabel
program: dim thisColumnLabel
program: dim prevTable
program: dim prevRowLabel
program: dim prevColumnLabel
program: thisPage=ex("service", "getThisPage")
program: thisPageR=getResultPart(thisPage)
program: ex("service","println "+thisPageR)
program: parseCsv(thisPageR, thisTable, thisRowLabel, thisColumnLabel)
program: lineNumber=getMaxIndex(thisRowLabel)
program: minVal=10000
program: selectedNode=0
program: selectedPath=""
program: preNodes=0
program: for i=0 to lineNumber-1
program:   if thisTable(i,thisColumnLabel("kind")) = "preNode" then
program:   {
program:      preNodes=preNodes+1
program:      ii=thisTable(i,thisColumnLabel("No"))
program:      prevPageUrl=thisTable(i,thisColumnLabel("url"))
program:      prevPage=ex("connector", "getpage "+prevPageUrl)
program:      if prevPage = "ERROR" then
program:      {
program:        prevPageUrl=thisTable(i,thisColumnLabel("url2"))
program:        prevPage=ex("connector", "getpage "+prevPageUrl)
program:      }
program:     if prevPage <> "ERROR" then
program:     {
program:        prevPageR=getResultPart(prevPage)
program:        parseCsv(prevPageR, prevTable, prevRowLabel, prevColumnLabel)
program:        ix=getindex(prevTable, prevRowLabel, prevColumnLabel("kind"),"=","nodeInfo")
program:        prevVal=prevTable(ix,prevColumnLabel("val"))
program:        arcVal=thisTable(ii,thisColumnLabel("arcVal"))
program:        xval=prevVal+arcVal
program:        thisTable(i,thisColumnLabel("val"))=xval
program:        prevPath=prevTable(ix,prevColumnLabel("path"))
program:        thisTable(i,thisColumnLabel("path"))=prevPath
program:        if xval<minVal then
program:        {
program:            minVal=xval
program:            selectedNode=ii
program:            selectedPath=prevPath
program:        }
program:     }
program:   } 
program: next i
program: ex("service","clear sendBuffer")
program: thisNodeIndex=getindex(thisTable,thisRowLabel, thisColumnLabel("kind"),"=","nodeInfo")
program: thisTable(thisNodeIndex,thisColumnLabel("selectedNode"))=selectedNode
program: if preNodes=0 then
program: {
program:   thisTable(thisNodeIndex,thisColumnLabel("path"))=thisTable(thisNodeIndex, thisColumnLabel("nodeName"))
program:   thisTable(thisNodeIndex,thisColumnLabel("val"))=0
program: }
program: else
program: {
program:   thisTable(thisNodeIndex,thisColumnLabel("path"))=selectedPath+" - "+thisTable(thisNodeIndex, thisColumnLabel("nodeName"))
program:   thisTable(thisNodeIndex,thisColumnLabel("val"))=minVal
program: }
program: dataline="kind=\"nodeInfo\""
program: dataline=dataline+",nodeName=\""+thisTable(thisNodeIndex,thisColumnLabel("nodeName"))+"\""
program: dataline=dataline+",startNode=\""+thisTable(thisNodeIndex,thisColumnLabel("startNode"))+"\""
program: dataline=dataline+",selectedNode="+thisTable(thisNodeIndex,thisColumnLabel("selectedNode"))
program: dataline=dataline+",val="+thisTable(thisNodeIndex,thisColumnLabel("val"))
program: dataline=dataline+",path=\""+thisTable(thisNodeIndex,thisColumnLabel("path"))+"\""
program: ex("service","putSendBuffer "+dataline)
program: for i=0 to lineNumber-1
program:   if thisTable(i,thisColumnLabel("kind")) = "preNode" then
program:   {
program:     dataline="kind=\"preNode\""
program:     dataline=dataline+",No="+thisTable(i,thisColumnLabel("No"))
program:     dataline=dataline+",url=\""+thisTable(i,thisColumnLabel("url"))+"\""
program:     dataline=dataline+",url2=\""+thisTable(i,thisColumnLabel("url2"))+"\""
program:     dataline=dataline+",arcVal="+thisTable(i,thisColumnLabel("arcVal"))
program:     dataline=dataline+",val="+thisTable(i,thisColumnLabel("val"))
program:     dataline=dataline+",path=\""+thisTable(i,thisColumnLabel("path"))+"\""
program:     ex("service","putSendBuffer "+dataline)
program:  }
program: next i
program: ex("service","sendResults.");

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-03-25 (金) 14:07:33 (2973d)