DIM record AS STRING * 16 DIM vn AS INTEGER DIM frame AS INTEGER DIM i AS INTEGER DIM byteloc AS LONG TYPE varinfo vname AS STRING * 16 vtype AS STRING * 1 END TYPE DIM onechar AS STRING * 1 DIM twochar AS STRING * 2 DIM eightchar AS STRING * 7 DIM valuec(50, 200) AS STRING * 6 DIM maxspeed AS INTEGER DIM speedvar AS INTEGER DIM timevar AS INTEGER DIM rpmvar AS INTEGER DIM airvar AS INTEGER DIM knockvar AS INTEGER DIM throtposvar AS INTEGER DIM lefto2var AS INTEGER DIM righto2var AS INTEGER DIM advvar AS INTEGER DIM weight AS SINGLE DIM a AS INTEGER DIM variable(50) AS varinfo DIM filename AS STRING * 64 FILES "*.dbf" PRINT "Enter the name of the file" INPUT filename OPEN filename FOR BINARY AS #1 OPEN "output.dat" FOR OUTPUT AS #2 GET #1, , record vn = 1 GET #1, , record GET #1, , record WHILE ASC(LEFT$(record, 1)) <> 13 i = 1 WHILE i < 16 AND ASC(MID$(record, i, 1)) <> 0 i = i + 1 WEND variable(vn).vname = LEFT$(record, i - 1) variable(vn).vtype = MID$(record, 12, 1) IF (LEFT$(variable(vn).vname, 10) = "VHCL_SPEED") THEN speedvar = vn ELSEIF (LEFT$(variable(vn).vname, 9) = "Frame_num") THEN timevar = vn ELSEIF (LEFT$(variable(vn).vname, 10) = "ENGINE_RPM") THEN rpmvar = vn ELSEIF (LEFT$(variable(vn).vname, 8) = "SPRK_ADV") THEN advvar = vn ELSEIF (LEFT$(variable(vn).vname, 10) = "KNOCK_RETD") THEN knockvar = vn ELSEIF (LEFT$(variable(vn).vname, 8) = "AIR_FLOW") THEN airvar = vn ELSEIF (LEFT$(variable(vn).vname, 9) = "THROT_POS") THEN throtposvar = vn ELSEIF (LEFT$(variable(vn).vname, 7) = "LEFT_O2") THEN lefto2var = vn ELSEIF (LEFT$(variable(vn).vname, 8) = "RIGHT_O2") THEN righto2var = vn END IF vn = vn + 1 GET #1, , record byteloc = LOC(1) GET #1, , record WEND vn = vn - 1 PRINT USING "## variables found"; vn FOR i = 1 TO vn PRINT USING " ## \ \ \\"; i; variable(i).vname; variable(i).vtype NEXT i GET #1, byteloc, twochar FOR frame = 1 TO 200 FOR i = 1 TO vn - 1 GET #1, , valuec(i, frame) NEXT i GET #1, , valuec(vn, frame) GET #1, , onechar NEXT frame