Code: Select all
DIM AS INTEGER a0i, a1i, a2i, a3i, a4i, a5i, a6i, a7i, a8i, a9i, b0i, b1i, b2i, b3i, b4i, b5i, b6i, b7i, b8i, b9i, e0i,e1i
DIM AS STRING a0s, a1s, a2s, a3s, a4s, a5s, a6s, a7s, a8s, a9s, b0s, b1s, b2s, b3s, b4s, b5s, b6s, b7s, b8s, b9s, c0s, c1s, c2s, c3s, c4s, c5s, c6s, c7s, c8s, c9s, d0s, d1s, d2s, d3s, d4s, d5s, d6s, d7s, d8s, d9s
CLS
'test file "structure of dbase"
'fields: ord num, name of field, initial position, long
OPEN "aaa" FOR OUTPUT AS #1
WRITE #1, "1", " dia","1","3"
WRITE #1, "2", " mes","5","7"
WRITE #1, "3", " con","13","9"
CLOSE (1)
'test file "data base"
'mar el ok asia <<< special test
OPEN "bbb" FOR OUTPUT AS #2
PRINT #2, "lun enero europa "
PRINT #2, "mar el ok asia "
PRINT #2, "mie marzo africa "
PRINT #2, "jue abril america "
PRINT #2, "vie mayo oceania "
PRINT #2, "sab junio artico "
PRINT #2, "dom febrero antartico"
CLOSE (2)
OPEN "aaa" FOR INPUT AS #1
WHILE NOT EOF(1)
INPUT #1, a0s,a1s,a2s,a3s
PRINT a0s;a1s
WEND
CLOSE (1)
PRINT
INPUT "option number (1,2,3) = ";b0s
PRINT
OPEN "aaa" FOR INPUT AS #1
WHILE NOT EOF(1)
INPUT #1, a0s,a1s,a2s,a3s
IF a0s = b0s THEN
a0i = VAL(a2s):a1i = VAL(a3s)
OPEN "bbb" FOR INPUT AS #2
WHILE NOT EOF(2)
INPUT #2, c0s
PRINT MID(c0s,a0i,a1i)
WEND
CLOSE (2)
END IF
WEND
CLOSE (1)
PRINT
INPUT "Write a word of the list = ";d1s
d1s = LCASE(d1s)
PRINT
OPEN "aaa" FOR INPUT AS #1
WHILE NOT EOF(1)
INPUT #1, a0s,a1s,a2s,a3s
IF a0s = b0s THEN
a0i = VAL(a2s)
a1i = VAL(a3s)
OPEN "bbb" FOR INPUT AS #2
WHILE NOT EOF(2)
INPUT #2, c0s
IF MID(c0s,a0i,a1i) = d1s THEN PRINT "ok" ELSE PRINT "error!"
WEND
CLOSE (2)
END IF
WEND
CLOSE (1)
'===============================================================================
'a possible solution of the problem
'===============================================================================
print
print "========================================================================="
PRINT
'INPUT "Now write a word of the list = ";d1s
PRINT
b1i = LEN(d1s)
d2s = ""
FOR e1i = 1 TO b1i
IF MID(d1s,e1i,1) <> " " THEN d2s = d2s + MID(d1s,e1i,1)
NEXT e1i
OPEN "aaa" FOR INPUT AS #1
WHILE NOT EOF(1)
INPUT #1, a0s,a1s,a2s,a3s
IF a0s = b0s THEN
a0i = VAL(a2s)
a1i = VAL(a3s)
OPEN "bbb" FOR INPUT AS #2
WHILE NOT EOF(2)
INPUT #2, c0s
d3s = ""
FOR e0i = a0i TO a0i+a1i
IF MID(c0s,e0i,1) <> " " THEN d3s = d3s + MID(c0s,e0i,1)
NEXT e0i
IF d2s = d3s THEN PRINT "ok" ELSE PRINT "error!"
WEND
CLOSE (2)
END IF
WEND
CLOSE (1)
SLEEP
END