Ä HB-232 Charlie Test (500:10/12) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ HB-232_C Ä Msg : #5926 [351] From : David Stark 1:260/218 Wed 21 Oct 92 21:00 To : All Subj : writing recursive scripts ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .MSGID: 1:260/218 9394afbc .PID: FM 2.02 After experiencing some difficulty in getting ZERO.SCR to work properly, I wanted to pass along what I learned. Many of you may have already figured this out, but as Bill points out in the "Forward" to the HB-232 manual, the explanation of the script language is not too clear to the newcomer. 1) Message lines must have the "-" after the line number. (MSG9- etc) Otherwise, the messages do not appear on the screen. 2) When processing a range of channels, the HB-232 stops on the last channel number specified - WITHOUT executing the desired command on that channel. That is why ZERO.SCR and CUSTBANK.SCR prompt the user to enter the highest channel number PLUS ONE. 3) The scanner and interface do not consider channel 1 to be higher than channel 400. This causes problems when looping up to channel 400. If the script is not properly written, the scanner will continually cycle around ALL of the channels until you abort the script. For example, the script fragment CHAN = 361 DO something LOOP UNTIL CHAN = 400 Executes "something" on all channels from 361 up to and EXCLUDING channel 400. If instead you say LOOP UNTIL CHAN > 400 the script will never stop, since there is no channel number higher than 400. I found that setting it up so that the LOOP statement said LOOP UNTIL CHAN = VALUE@2 + 1 had the same effect as ">400" on the script regardless of VALUE@2. I also tried to use an IF...THEN...ELSE...ENDIF construction, but that didn't work any differently. Here is what I tried. Maybe somebody can explain why it wasn't valid. CHAN = VALUE@1 (start at the low channel) IF VALUE@2 = 400 THEN DO FREQ 0 LOCK-OUT ON PROGRAM LOOP UNTIL CHAN = 1 (process channel 400 last and stop at 1) ELSE DO FREQ 0 LOCK-OUT ON PROGRAM LOOP UNTIL CHAN = VALUE@2 (process highest desired channel) ENDIF This version worked just fine as long as VALUE@2 was NOT 400. Any ideas why not? --- * Origin: NF2G and N2PHA Rochester (1:260/218) .PATH: 260/218 272/31