写入Ascii格式的数据
概述
该样本程序说明如何写入ASCII传输格式的格式化数组。
参见这个程序的标注迹线。
在HT Basic中的样本程序(write_a.htb)
10 REAL Freq,Fdata(1:1601,1:2)
20 DIM File$[300]
30 INTEGER Nop
40 !
50 ASSIGN @Agte507x TO 717
60 !
70 CALL Inp_file_name(File$)
80 !
90 OUTPUT @Agte507x;":CALC1:PAR1:SEL"
100 OUTPUT @Agte507x;":INIT1:CONT OFF"
110 OUTPUT @Agte507x;":ABOR"
120 !
130 OUTPUT @Agte507x;":SENS1:SWE:POIN?"
140 ENTER @Agte507x;Nop
150 REDIM Fdata(1:Nop,1:2)
160 !
170 ON ERROR GOTO File_error
180 ASSIGN @File TO File$
190 ENTER @File USING "K";Buff$
200 ENTER @File USING "K";Buff$
210 ENTER @File USING "K";Buff$
220 FOR I=1 TO Nop
230 ENTER @File USING "19D,2X,19D,2X,19D";Freq,Fdata(I,1),Fdata (I,2)
240 NEXT I
250 ASSIGN @File TO *
260 OFF ERROR
270 !
280 OUTPUT @Agte507x;":FORM:DATA ASC"
290 !
300 OUTPUT @Agte507x;":CALC1:DATA:FDAT ";Fdata(*)
310 !
320 GOTO Prog_end
330 !
340 File_error: OFF ERROR
350 PRINT "############ ERROR ############"
360 PRINT File$&" is NOT exist."
370 PRINT " or"
380 PRINT File$&" has UNSUITABLE data."
390 !
400 Prog_end: END
410 !=============================================
420 ! File Name Input Function
430 !=============================================
440 SUB Inp_file_name(Inp_name$)
450 DIM Inp_char$[9]
460 ON ERROR GOTO Inp_start
470 Inp_start: !
480 PRINT "Input File Name!"
490 INPUT "Name?",Inp_name$
500 PRINT "Input Name: "&Inp_name$
510 INPUT "OK? [Y/N]",Inp_char$
520 IF UPC$(Inp_char$)<>"Y" THEN Inp_start
530 OFF ERROR
540 SUBEND
说明
50行
为I/O通道分配GPIB地址。
70行
传递对名为Inp_file_name子程序的控制,使用户输入文件名,然后将其返回的文件名储存到File$变量中。如欲了解有关Inp_file_name子程序的更多信息,请参考用二进制传输格式写入格式化数组的说明。
90行到110行
这些行将通道1的激活迹线设置为迹线1,并对扫描进行控制。
130行到140行
这些行获取通道1中的点数,并将其储存到Nop变量中。
150行
这些行获取通道1中的点数,并将其储存到Nop变量中。.
170行
如果获取文件(例如,如果没有文件匹配File$)的数据发生错误,这行指出要执行的声明块。
180行到260行
这些行获取由File$识别的文件的格式化数据,并将数据保存到F数组。
280行
将数据传输格式设置为ASCII。
300行
将F数据写入通道1中激活迹线(迹线1)的格式化数组。
340行到380行
如果在获取文件的数据时发生错误,这个声明块被执行。