(saveFormat "2.3")
(date "Mon 03/Mar/1997 16:47:05 MST")
(veerev "4.0")
(platform "HP9000s700")
(execMode fast)
(filterNAN 0)
(workspaceStackingOrder M)
(SaveCF no)
(device 0 ROOTCONTEXT
(properties
(trigMode deg)
(nextID 18)
(popupTitleText "Reading  XY Values From A Text File")
(popupMoveable 1)
(popupTitleTextColor "Black")
(popupTitleBackgroundColor "Gray")
(deleteGlobals 0))
(deviceList
(device 0 BREAK)
(device 1 FROMFILE
(properties
(transactions 1 "READ TEXT x, y REAL"))
(interface
(output 1
(name "X")
(optional yes))
(output 2
(name "Y")
(optional yes))
(output 3
(name "EOF")
(tag "EOF")
(lock name constraints)
(optional yes)))
(implementation
(attr iopath file read "~installDir/examples/manual/manual29.dat"
(readTerm "\n")
(fs " ")
(eol "\n")
(multiField fullSyntax)
(arrayFormat block))))
(device 2 COLLECTOR
(interface
(input 1
(name "Data")
(tag "Data"))
(input 2
(type trigger)
(name "XEQ")
(lock name constraints))
(output 1
(name "Array")
(tag "Array"))))
(device 3 COLLECTOR
(interface
(input 1
(name "Data")
(tag "Data"))
(input 2
(type trigger)
(name "XEQ")
(lock name constraints))
(output 1
(name "Array")
(tag "Array"))))
(device 4 TEXTDISPLAY
(interface
(input 1
(name "Data"))))
(device 5 TEXTDISPLAY
(interface
(input 1
(name "Data"))))
(device 6 NOTE
(properties
(name "Thread #1")
(text2 4 "This thread reads the file" "and builds two arrays"
"from the XY pairs" "stored in the data file.")))
(device 7 START25)
(device 8 REPEATUNTILBREAK
(interface
(output 1
(name "Continuous")
(lock name constraints))))
(device 9 XYPLOT
(interface
(input 1
(name "XData")
(lock constraints))
(input 2
(name "YData1")
(lock constraints))
(input 3
(type control)
(name "Auto Scale")
(lock name constraints)
(optional yes)))
(implementation
(tracePin 2)
(graphMode rectangular)))
(device 10 FROMFILE
(properties
(transactions 1 "READ TEXT x, y REAL"))
(interface
(output 1
(name "X")
(optional yes))
(output 2
(name "Y")
(optional yes))
(output 3
(name "EOF")
(tag "EOF")
(lock name constraints)
(optional yes)))
(implementation
(attr iopath file read "~installDir/examples/manual/manual29.dat"
(readTerm "\n")
(fs " ")
(eol "\n")
(multiField fullSyntax)
(arrayFormat block))))
(device 11 NOTE
(properties
(name "Thread #2")
(text2 6 "This thread reads the file" "and plots the data points"
"as they are read.  Notice" "that there is no need to "
"build an array or waveform" "in order to plot the data.")))
(device 12 NOTE
(properties
(name "Warranty Disclaimer")
(text2 4 "This example is provided as an"
"illustration \"as is\", and Hewlett-Packard"
"Company makes no warranty of any kind" "with regard to this example.")))
(device 13 CONTEXT
(properties
(name "Press For")
(trigMode deg)
(nextID 3))
(deviceList
(device 0 IFTHENELSE
(properties
(name "!= 0")
(cases 1 "a!=0"))
(interface
(input 1
(name "A")
(optional yes))
(output 1
(name "Then")
(lock name constraints))
(output 2
(name "Else")
(lock name constraints))))
(device 1 TOGGLE25
(properties
(name "Info About")
(autoTrigger 1))
(interface
(input 1
(type control)
(name "Reset")
(lock name constraints)
(optional yes))
(output 1
(lock name constraints)))
(implementation
(value Int32
(data  0))
(initValue Int32
(data  0))))
(device 2 CONTEXT
(properties
(name "Info About...")
(trigMode deg)
(nextID 2)
(popupMoveable 1))
(deviceList
(device 0 CONFIRM25
(properties
(name "DONE"))
(interface
(output 1
(name "Go")
(lock name constraints)))
(implementation))
(device 1 NOTE
(properties
(name "Info About")
(text2 30 "Overview:"
"  This program illustrates how to read an unknown number of XY values from a text "
"  file." "" "Details:"
"  The two threads in this program read data in the same way, but handle it "
"  differently after it is read.  Refer to the \"Note Pads\" adjacent to each "
"  thread for additional information." ""
"  The data file read by each thread is the same; you may wish to view it in a "
"  text editor outside of HP VEE.  Note how flexibly HP VEE interprets various "
"  notations for numbers including optional signs, decimal points, and exponents."
"" "This is how to run this program:"
"  Simply click on \"Start\" for each thread." ""
"This is how the program works:"
"  The data in the file consists of X and Y values separated"
"  by whitespace, one pair per line.  Here are typical "
"  contents of the data file:" "        1  1.1" "        2  2.2"
"        3  3.3" "        .  ." "        .  ." "        .  ." ""
"  The \"From File\" object reads pairs of XY values from the file until the end "
"  of the file is reached; at that point the \"EOF\" terminal of \"From File\" "
"  terminates the \"Until Break\" loop.")))
(configuration)
(ShowOnExecPanel
(relativeOrigin 6 32)))
(contextCarrier
(active detail)
(panel
(extent 845 533)
(widget 1 detail
(relativeOrigin 3 4)
(title off)
(borderStyle flat)
(extent 835 463)
(editing disabled))
(widget 0 detail
(relativeOrigin 388 482)
(title off)
(borderStyle flat)
(extent 64 34)))
(detail
(extent 351 200)
(anchorPt 184 137)
(configuration
(devCarrierFor 0
(active open)
(icon
(extent 45 15))
(open
(extent 58 37))
(title off)
(pinCenter 0 0))
(devCarrierFor 1
(active icon)
(icon
(extent 110 25))
(open
(extent 537 234)
(editing enabled))
(pinCenter -29 -67)))
(stackingOrder 0 1))))
(configuration
(connect D1:1 D0:1)
(connect D0:0 D1:1)
(connect D0:1 D2:0)))
(contextCarrier
(active panel)
(panel
(extent 319 77)
(widget 1 detail
(relativeOrigin 100 11)
(title off)
(borderStyle flat)
(extent 114 39)
(scaled on)
(format button)))
(detail
(extent 912 591)
(anchorPt 344 247)
(configuration
(devCarrierFor 0
(active icon)
(icon
(extent 46 25))
(open
(extent 73 64))
(terminals on)
(pinCenter 0 0))
(devCarrierFor 1
(active open)
(icon
(extent 81 15))
(open
(extent 114 39)
(scaled on)
(format button))
(title off)
(pinCenter -130 0))
(devCarrierFor 2
(active icon)
(icon
(extent 127 25))
(open
(extent 845 533)
(carbonCopy))
(bg "Light Blue Gray")
(pinCenter 102 68))
(connect D1:1 D0:1
(points 2 -71 0 -26 0))
(connect D0:0 D1:1
(points 5 0 15 0 38 -208 38 -208 0 -190 0))
(connect D0:1 D2:0
(points 3 25 -10 102 -10 102 53)))
(stackingOrder 0 1 2))))
(device 14 BREAK)
(device 15 REPEATUNTILBREAK
(interface
(output 1
(name "Continuous")
(lock name constraints))))
(device 16 START25)
(device 17 DO
(interface
(output 1
(name "Do")
(lock name constraints))))
(configuration
(connect D1:3 D0:0)
(connect D15:1 D1:0)
(connect D1:2 D2:1)
(connect D15:0 D2:2)
(connect D1:1 D3:1)
(connect D15:0 D3:2)
(connect D3:1 D4:1)
(connect D2:1 D5:1)
(connect D7:0 D8:0)
(connect D10:1 D9:1)
(connect D10:2 D9:2)
(connect D17:1 D9:3)
(connect D8:1 D10:0)
(connect D17:0 D14:0)
(connect D16:0 D15:0)
(connect D10:3 D17:0)))
(contextCarrier
(wndOrigin 2 2)
(wndState res)
(active detail)
(detail
(extent 900 447)
(anchorPt 821 359)
(configuration
(devCarrierFor 0
(active icon)
(icon
(extent 78 25))
(open)
(terminals on)
(pinCenter 0 0))
(devCarrierFor 1
(active open)
(icon
(extent 110 25))
(open
(extent 324 153))
(terminals on)
(pinCenter -310 -100))
(devCarrierFor 2
(active icon)
(icon
(extent 110 25))
(open
(extent 60 110))
(terminals on)
(pinCenter 20 -90))
(devCarrierFor 3
(active icon)
(icon
(extent 110 25))
(open
(extent 60 110))
(terminals on)
(pinCenter 20 -140))
(devCarrierFor 4
(active open)
(icon)
(open
(extent 174 109))
(pinCenter 250 -240))
(devCarrierFor 5
(active open)
(icon)
(open
(extent 174 109))
(pinCenter 250 -20))
(devCarrierFor 6
(active open)
(icon
(extent 110 0))
(open
(extent 270 98)
(editing disabled))
(pinCenter -660 -130))
(devCarrierFor 7
(active open)
(icon
(extent 42 15))
(open
(extent 67 37))
(title off)
(pinCenter -390 30))
(devCarrierFor 8
(active icon)
(icon
(extent 110 64)
(iconImage "loop.icn"))
(open)
(terminals on)
(pinCenter -390 100))
(devCarrierFor 9
(active open)
(icon
(iconImage "display.icn"))
(open
(extent 360 296)
(displayMode scrollGraph)
(graphType cartesian)
(gridType grid)
(scale 0
(name "Y name")
(domainName "X name")
(pen 9)
(show 1)
(range 0 14 3 linear))
(domain 0 14 3 linear)
(trace 0 onScale 0
(name "YData1")
(pen 4)
(lineType 1)
(pointType 0)))
(terminals on)
(pinCenter 225 230))
(devCarrierFor 10
(active open)
(icon
(extent 110 25))
(open
(extent 324 153))
(terminals on)
(pinCenter -320 280))
(devCarrierFor 11
(active open)
(icon
(extent 110 0))
(open
(extent 271 142)
(editing disabled))
(pinCenter -660 280))
(devCarrierFor 12
(active icon)
(icon
(extent 338 48)
(iconImage "disclaim.icn")
(label off))
(open
(extent 397 82)
(editing disabled))
(pinCenter -100 -290))
(devCarrierFor 13
(active open)
(icon
(extent 110 25))
(open
(extent 319 77)
(carbonCopy))
(bg "Light Blue Gray")
(pinCenter -640 -270))
(devCarrierFor 14
(active icon)
(icon
(extent 78 25))
(open)
(terminals on)
(pinCenter -100 430))
(devCarrierFor 15
(active icon)
(icon
(extent 110 64)
(iconImage "loop.icn"))
(open)
(terminals on)
(pinCenter -380 -260))
(devCarrierFor 16
(active open)
(icon
(extent 42 15))
(open
(extent 61 34))
(title off)
(pinCenter -380 -330))
(devCarrierFor 17
(active icon)
(icon
(extent 46 25))
(open)
(terminals on)
(pinCenter -100 390))
(connect D1:3 D0:0
(points 3 -106 -50 0 -50 0 -15))
(connect D15:1 D1:0
(points 3 -323 -260 -305 -260 -305 -197))
(connect D1:2 D2:1
(points 2 -106 -100 -38 -100))
(connect D15:0 D2:2
(points 7 -380 -226 -380 -220 -90 -220 -90 -130 -70 -130 -70 -80 -38 -80))
(connect D1:1 D3:1
(points 2 -106 -150 -38 -150))
(connect D15:0 D3:2
(points 5 -380 -226 -380 -220 -90 -220 -90 -130 -38 -130))
(connect D3:1 D4:1
(points 4 77 -140 90 -140 90 -240 160 -240))
(connect D2:1 D5:1
(points 4 77 -90 90 -90 90 -20 160 -20))
(connect D7:0 D8:0
(points 2 -390 51 -390 65))
(connect D10:1 D9:1
(points 6 -116 230 -100 230 -100 220 -90 220 -90 130 -38 130))
(connect D10:2 D9:2
(points 4 -116 280 -90 280 -90 230 -38 230))
(connect D17:1 D9:3
(points 4 -75 390 -60 390 -60 330 -38 330))
(connect D8:1 D10:0
(points 3 -333 100 -315 100 -315 183))
(connect D17:0 D14:0
(points 2 -100 405 -100 415))
(connect D16:0 D15:0
(points 2 -380 -311 -380 -295))
(connect D10:3 D17:0
(points 3 -116 330 -100 330 -100 375)))
(stackingOrder 0 1 2 3 4 5 9 10 11 12 13 6 15 17 14 16 8 7))
(numberFormats
(realFormat standard)
(realSigDigits 4)
(realRadixSpec 4)
(integerBase decimal))))
