主题:编了个实用的把钱龙股票数据从2~10 要编译成EXE错
编了个实用的把钱龙股票数据从2~10 要编译成EXE错 求教 谢谢!!
DECLARE SUB newfile (infile$, oufile$)
DECLARE SUB dell (a$, D$)
DECLARE SUB CC (y1!, bx!, LY$, O!)
DECLARE SUB CI (x1!, y1!, X2!, Y2!, LA$)
DECLARE SUB gudel (a$, s$, i%, c$)
CLS
INPUT " FILE =", FIST$
IF FIST$ = "f" OR FIST$ = "F" THEN
INPUT "file ", f$
OPEN "f.bat" FOR OUTPUT AS #1
PRINT #1, "copy " + f$ + " lis"
CLOSE #1
SHELL "f"
CLS
ELSE
CALL newfile(FIST$, "lis")
END IF
CLOSE #2
CLOSE #6
CLS
OPEN "lis" FOR INPUT AS #8
DO
IF EOF(8) THEN
CLOSE
END
END IF
LINE INPUT #8, file$
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
TYPE SUJU
DATE AS LONG
OPEN1 AS LONG
HIGH1 AS LONG
LOW1 AS LONG
CLOSE1 AS LONG
MONEY1 AS LONG
VOLUME AS LONG
NOUSE1 AS LONG
NOUSE2 AS LONG
NOUSE3 AS LONG
END TYPE
CLOSE #2
CLOSE #1
DIM ZHUAN AS SUJU
OPEN file$ FOR RANDOM AS #1 LEN = LEN(ZHUAN)
FILE1$ = file$
CALL dell(FILE1$, ".DAY")
PRINT FILE1$
nb = LOF(1) / LEN(ZHUAN)
FILE2$ = FILE1$ + ".@@@"
OPEN FILE2$ FOR OUTPUT AS #2
FOR a = 1 TO nb
GET #1, a, ZHUAN
'R1 = ZHUAN.CLOSE1 / 1000
PRINT #2, ZHUAN.DATE,
PRINT #2, ZHUAN.OPEN1 / 1000,
PRINT #2, ZHUAN.CLOSE1 / 1000,
PRINT #2, ZHUAN.HIGH1 / 1000,
PRINT #2, ZHUAN.LOW1 / 1000,
PRINT #2, ZHUAN.VOLUME
' PRINT "MONEY=", ZHUAN.MONEY1
' PRINT "NOUSE1", ZHUAN.NOUSE1
' PRINT "NOUSE2", ZHUAN.NOUSE2
' PRINT "NOUSE3", ZHUAN.NOUSE3
NEXT
LOOP
END
SUB BIN (file$, K, c, B1, n) STATIC
A2 = B1 * n
x1 = 0: X2 = A2
y1 = K: Y2 = y1
CALL CI(x1, y1, X2, Y2, "0")
y1 = K + 100 / c: Y2 = y1
CALL CI(x1, y1, X2, Y2, "0")
y1 = K + 20 / c: Y2 = y1
CALL CI(x1, y1, X2, Y2, "INNER")
y1 = K + 80 / c: Y2 = y1
CALL CI(x1, y1, X2, Y2, "INNER")
y1 = K + 50 / c: Y2 = y1
CALL CI(x1, y1, X2, Y2, "POWDER")
END SUB
SUB BINSUI (file$, OUTFILE$, s%) STATIC
CLOSE #1
CLOSE #2
OPEN file$ FOR INPUT AS #1
OPEN "SUI2" FOR OUTPUT AS #2
OUTFILE$ = "SUI1"
FOR a = 1 TO s%
IF EOF(1) THEN EXIT SUB
LINE INPUT #1, a$
CALL gudel(a$, "", 1, C1$)
c$(a) = C1$
IF a = s% THEN
H = 0
FOR b = 1 TO s%
H = VAL(c$(b)) + H
NEXT b
PRINT #2, H / s%
' PRINT H / s%
ELSE PRINT #2, 50
' PRINT 50
END IF
NEXT a
FOR M = 1 TO 1000000
FOR c = 1 TO s%
c$(c) = c$(c + 1)
NEXT c
IF EOF(1) THEN EXIT SUB
LINE INPUT #1, a$
CALL gudel(a$, "", 1, C1$)
c$(s%) = C1$
H = 0
FOR b = 1 TO s%
H = VAL(c$(b)) + H
NEXT b
PRINT #2, H / s%
' PRINT H / s%
NEXT M
END SUB
SUB CC (y1, bx, LY$, O) STATIC
aa = y1
y1 = LOG(y1) * 50 / LOG(10#) + O
' Y1
x1 = bx - .5: X2 = bx: y1 = y1: Y2 = y1
PRINT #2, 0
PRINT #2, "TEXT"
PRINT #2, 8
PRINT #2, "3"
PRINT #2, 10
PRINT #2, bx
PRINT #2, 20
PRINT #2, Y2
PRINT #2, 30
PRINT #2, 0
PRINT #2, 40
PRINT #2, .2
PRINT #2, 1
PRINT #2, aa
CALL CI(x1, y1, X2, Y2, LY$)
END SUB
SUB CI (x1, y1, X2, Y2, LA$) STATIC
' CLOSE #2
' OPEN "SANG.DXF" FOR APPEND AS #2
PRINT #2, 0
PRINT #2, "LINE"
PRINT #2, 8
PRINT #2, LA$
PRINT #2, 10
PRINT #2, x1
PRINT #2, 20
PRINT #2, y1
PRINT #2, 30
PRINT #2, 0
PRINT #2, 11
PRINT #2, X2
PRINT #2, 21
PRINT #2, Y2
PRINT #2, 31
PRINT #2, 0
END SUB
SUB DAAA (file$, D, n, u, O) STATIC
CLOSE #1
CLOSE #2
OPEN file$ FOR INPUT AS #1
OPEN "SANG.DXF" FOR APPEND AS #2
PRINT
IF EOF(1) THEN EXIT SUB
D% = D
P = 0
FOR b = 1 TO 100000
IF EOF(1) THEN EXIT SUB
LINE INPUT #1, a$
CALL gudel(a$, "", D%, a1$)
y1 = LOG(u) * 50 / LOG(10#) + O - 2
PRINT #2, 0
PRINT #2, "TEXT"
PRINT #2, 8
PRINT #2, "DATA"
PRINT #2, 10
PRINT #2, P
PRINT #2, 20
PRINT #2, y1
PRINT #2, 30
PRINT #2, 0
PRINT #2, 40
PRINT #2, .03
PRINT #2, 1
PRINT #2, a1$
P = P + n
NEXT b
END SUB
SUB DAAB (file$, N1, O, B1, n) STATIC
CLOSE #1
CLOSE #2
CLOSE #4
OPEN file$ FOR INPUT AS #1
OPEN "SANG.DXF" FOR APPEND AS #2
OPEN "sh.txt" FOR INPUT AS #4
fle$ = file$
CALL dell(fle$, ".@@@")
CALL dell(fle$, ".&&&")
DO
IF EOF(4) THEN
EXIT DO
END IF
LINE INPUT #4, a$
CALL gudel(a$, " ", 1, a1$)
IF a1$ = fle$ THEN
CALL gudel(a$, " ", 2, a1$)
fle$ = fle$ + " " + a1$
EXIT DO
END IF
LOOP
y1 = LOG(N1) * 50 / LOG(10#) + O
x1 = (B1 * n) - 12
PRINT
IF EOF(1) THEN EXIT SUB
PRINT #2, 0
PRINT #2, "TEXT"
PRINT #2, 8
PRINT #2, "MAME"
PRINT #2, 10
PRINT #2, x1
PRINT #2, 20
PRINT #2, y1
PRINT #2, 30
PRINT #2, 0
PRINT #2, 40
PRINT #2, .9
PRINT #2, 1
PRINT #2, fle$
END SUB
SUB dell (a$, D$) STATIC
b = LEN(D$)
FOR H = 1 TO 80
a = LEN(a$)
c = INSTR(a$, D$)
IF c = 0 THEN EXIT SUB
IF c <> 0 THEN
END IF
e$ = MID$(a$, 1, (c - 1)) + MID$(a$, (c + b), (a - c - b + 1))
a$ = e$
NEXT
END SUB
SUB DR (file$, nb%, D1, D2) STATIC
CLOSE #1
CLOSE #2
OPEN file$ FOR INPUT AS #1
IF EOF(1) THEN GOTO e
LINE INPUT #1, a$
CALL gudel(a$, "", nb%, a1$)
D1 = VAL(a1$)
FOR b = 1 TO 100000
IF EOF(1) THEN GOTO e
LINE INPUT #1, a$
CALL gudel(a$, "", nb%, A2$)
R1 = VAL(A2$)
IF R1 > D1 THEN D1 = R1
NEXT b
e:
D2 = D1
D1 = 200 - LOG(D1) * 50 / LOG(10#) + O
END SUB
SUB DR6 (file$, nb%, D1, D2) STATIC
DIM ZHUAN AS SUJU
CLOSE #1
OPEN file$ FOR RANDOM AS #1 LEN = LEN(ZHUAN)
nb1 = LOF(1) / LEN(ZHUAN)
nb1% = nb1
D1 = 100000000
FOR a = 1 TO nb1%
GET #1, a, ZHUAN
R1 = ZHUAN.VOLUME / 1000
IF R1 > D1 THEN D1 = R1
NEXT
D2 = D1
D1 = 200 - LOG(D1) * 50 / LOG(10#) + O
END SUB
SUB DU (file$, B1) STATIC
CLOSE #1
CLOSE #2
OPEN file$ FOR INPUT AS #1
FOR B1 = 1 TO 2000
IF EOF(1) THEN EXIT SUB
LINE INPUT #1, a$
NEXT B1
END SUB
SUB FCC (file$, N1, C4, B1, O, n3, n) STATIC
a1 = C4
CALL CC(a1, B1 * n + .75, "OUTER", O)
FOR b = 1 TO 100000
a1 = C4 * n3 * b / 100 + C4
IF a1 < N1 THEN
CALL CC(a1, B1 * n + .75, "OUTER", O)
ELSE EXIT SUB
END IF
NEXT
END SUB
SUB gudel (a$, s$, i%, c$) STATIC
IF INSTR(a$, s$) = 0 THEN EXIT SUB
a$ = a$ + " "
c = 0: b = 0
FOR a = 1 TO i%
c = b
FOR t = 1 TO 200
c = c + 1
IF MID$(a$, c, 1) <> " " THEN t = 200
y$ = MID$(a$, c, 1)
NEXT t
b = c
FOR s = 1 TO 100
b = b + 1
IF MID$(a$, b, 1) = " " THEN s = 100
NEXT s
NEXT
c$ = MID$(a$, c, (b - c))
END SUB
SUB J (file$, N1, C4, h1, O, n3, n, K1) STATIC
um = 0
FOR b = 1 TO 100000
B1 = C4 * n3 * (b - 1) / 100 + C4
b2 = C4 * n3 * b / 100 + C4
CLOSE #1
CLOSE #4
OPEN "f3" FOR INPUT AS #1
OPEN "f6" FOR INPUT AS #4
DO
IF EOF(1) THEN
b$ = "0"
u = 0
EXIT DO
END IF
LINE INPUT #1, a$
LINE INPUT #4, b$
IF VAL(a$) >= B1 AND VAL(a$) < b2 THEN
u = VAL(b$) + u
IF um < u THEN
um = u
END IF
END IF
LOOP
a1 = C4 * n3 * b / 100 + C4
IF a1 > N1 THEN
b = 1000000
END IF
NEXT
DECLARE SUB newfile (infile$, oufile$)
DECLARE SUB dell (a$, D$)
DECLARE SUB CC (y1!, bx!, LY$, O!)
DECLARE SUB CI (x1!, y1!, X2!, Y2!, LA$)
DECLARE SUB gudel (a$, s$, i%, c$)
CLS
INPUT " FILE =", FIST$
IF FIST$ = "f" OR FIST$ = "F" THEN
INPUT "file ", f$
OPEN "f.bat" FOR OUTPUT AS #1
PRINT #1, "copy " + f$ + " lis"
CLOSE #1
SHELL "f"
CLS
ELSE
CALL newfile(FIST$, "lis")
END IF
CLOSE #2
CLOSE #6
CLS
OPEN "lis" FOR INPUT AS #8
DO
IF EOF(8) THEN
CLOSE
END
END IF
LINE INPUT #8, file$
'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
TYPE SUJU
DATE AS LONG
OPEN1 AS LONG
HIGH1 AS LONG
LOW1 AS LONG
CLOSE1 AS LONG
MONEY1 AS LONG
VOLUME AS LONG
NOUSE1 AS LONG
NOUSE2 AS LONG
NOUSE3 AS LONG
END TYPE
CLOSE #2
CLOSE #1
DIM ZHUAN AS SUJU
OPEN file$ FOR RANDOM AS #1 LEN = LEN(ZHUAN)
FILE1$ = file$
CALL dell(FILE1$, ".DAY")
PRINT FILE1$
nb = LOF(1) / LEN(ZHUAN)
FILE2$ = FILE1$ + ".@@@"
OPEN FILE2$ FOR OUTPUT AS #2
FOR a = 1 TO nb
GET #1, a, ZHUAN
'R1 = ZHUAN.CLOSE1 / 1000
PRINT #2, ZHUAN.DATE,
PRINT #2, ZHUAN.OPEN1 / 1000,
PRINT #2, ZHUAN.CLOSE1 / 1000,
PRINT #2, ZHUAN.HIGH1 / 1000,
PRINT #2, ZHUAN.LOW1 / 1000,
PRINT #2, ZHUAN.VOLUME
' PRINT "MONEY=", ZHUAN.MONEY1
' PRINT "NOUSE1", ZHUAN.NOUSE1
' PRINT "NOUSE2", ZHUAN.NOUSE2
' PRINT "NOUSE3", ZHUAN.NOUSE3
NEXT
LOOP
END
SUB BIN (file$, K, c, B1, n) STATIC
A2 = B1 * n
x1 = 0: X2 = A2
y1 = K: Y2 = y1
CALL CI(x1, y1, X2, Y2, "0")
y1 = K + 100 / c: Y2 = y1
CALL CI(x1, y1, X2, Y2, "0")
y1 = K + 20 / c: Y2 = y1
CALL CI(x1, y1, X2, Y2, "INNER")
y1 = K + 80 / c: Y2 = y1
CALL CI(x1, y1, X2, Y2, "INNER")
y1 = K + 50 / c: Y2 = y1
CALL CI(x1, y1, X2, Y2, "POWDER")
END SUB
SUB BINSUI (file$, OUTFILE$, s%) STATIC
CLOSE #1
CLOSE #2
OPEN file$ FOR INPUT AS #1
OPEN "SUI2" FOR OUTPUT AS #2
OUTFILE$ = "SUI1"
FOR a = 1 TO s%
IF EOF(1) THEN EXIT SUB
LINE INPUT #1, a$
CALL gudel(a$, "", 1, C1$)
c$(a) = C1$
IF a = s% THEN
H = 0
FOR b = 1 TO s%
H = VAL(c$(b)) + H
NEXT b
PRINT #2, H / s%
' PRINT H / s%
ELSE PRINT #2, 50
' PRINT 50
END IF
NEXT a
FOR M = 1 TO 1000000
FOR c = 1 TO s%
c$(c) = c$(c + 1)
NEXT c
IF EOF(1) THEN EXIT SUB
LINE INPUT #1, a$
CALL gudel(a$, "", 1, C1$)
c$(s%) = C1$
H = 0
FOR b = 1 TO s%
H = VAL(c$(b)) + H
NEXT b
PRINT #2, H / s%
' PRINT H / s%
NEXT M
END SUB
SUB CC (y1, bx, LY$, O) STATIC
aa = y1
y1 = LOG(y1) * 50 / LOG(10#) + O
' Y1
x1 = bx - .5: X2 = bx: y1 = y1: Y2 = y1
PRINT #2, 0
PRINT #2, "TEXT"
PRINT #2, 8
PRINT #2, "3"
PRINT #2, 10
PRINT #2, bx
PRINT #2, 20
PRINT #2, Y2
PRINT #2, 30
PRINT #2, 0
PRINT #2, 40
PRINT #2, .2
PRINT #2, 1
PRINT #2, aa
CALL CI(x1, y1, X2, Y2, LY$)
END SUB
SUB CI (x1, y1, X2, Y2, LA$) STATIC
' CLOSE #2
' OPEN "SANG.DXF" FOR APPEND AS #2
PRINT #2, 0
PRINT #2, "LINE"
PRINT #2, 8
PRINT #2, LA$
PRINT #2, 10
PRINT #2, x1
PRINT #2, 20
PRINT #2, y1
PRINT #2, 30
PRINT #2, 0
PRINT #2, 11
PRINT #2, X2
PRINT #2, 21
PRINT #2, Y2
PRINT #2, 31
PRINT #2, 0
END SUB
SUB DAAA (file$, D, n, u, O) STATIC
CLOSE #1
CLOSE #2
OPEN file$ FOR INPUT AS #1
OPEN "SANG.DXF" FOR APPEND AS #2
IF EOF(1) THEN EXIT SUB
D% = D
P = 0
FOR b = 1 TO 100000
IF EOF(1) THEN EXIT SUB
LINE INPUT #1, a$
CALL gudel(a$, "", D%, a1$)
y1 = LOG(u) * 50 / LOG(10#) + O - 2
PRINT #2, 0
PRINT #2, "TEXT"
PRINT #2, 8
PRINT #2, "DATA"
PRINT #2, 10
PRINT #2, P
PRINT #2, 20
PRINT #2, y1
PRINT #2, 30
PRINT #2, 0
PRINT #2, 40
PRINT #2, .03
PRINT #2, 1
PRINT #2, a1$
P = P + n
NEXT b
END SUB
SUB DAAB (file$, N1, O, B1, n) STATIC
CLOSE #1
CLOSE #2
CLOSE #4
OPEN file$ FOR INPUT AS #1
OPEN "SANG.DXF" FOR APPEND AS #2
OPEN "sh.txt" FOR INPUT AS #4
fle$ = file$
CALL dell(fle$, ".@@@")
CALL dell(fle$, ".&&&")
DO
IF EOF(4) THEN
EXIT DO
END IF
LINE INPUT #4, a$
CALL gudel(a$, " ", 1, a1$)
IF a1$ = fle$ THEN
CALL gudel(a$, " ", 2, a1$)
fle$ = fle$ + " " + a1$
EXIT DO
END IF
LOOP
y1 = LOG(N1) * 50 / LOG(10#) + O
x1 = (B1 * n) - 12
IF EOF(1) THEN EXIT SUB
PRINT #2, 0
PRINT #2, "TEXT"
PRINT #2, 8
PRINT #2, "MAME"
PRINT #2, 10
PRINT #2, x1
PRINT #2, 20
PRINT #2, y1
PRINT #2, 30
PRINT #2, 0
PRINT #2, 40
PRINT #2, .9
PRINT #2, 1
PRINT #2, fle$
END SUB
SUB dell (a$, D$) STATIC
b = LEN(D$)
FOR H = 1 TO 80
a = LEN(a$)
c = INSTR(a$, D$)
IF c = 0 THEN EXIT SUB
IF c <> 0 THEN
END IF
e$ = MID$(a$, 1, (c - 1)) + MID$(a$, (c + b), (a - c - b + 1))
a$ = e$
NEXT
END SUB
SUB DR (file$, nb%, D1, D2) STATIC
CLOSE #1
CLOSE #2
OPEN file$ FOR INPUT AS #1
IF EOF(1) THEN GOTO e
LINE INPUT #1, a$
CALL gudel(a$, "", nb%, a1$)
D1 = VAL(a1$)
FOR b = 1 TO 100000
IF EOF(1) THEN GOTO e
LINE INPUT #1, a$
CALL gudel(a$, "", nb%, A2$)
R1 = VAL(A2$)
IF R1 > D1 THEN D1 = R1
NEXT b
e:
D2 = D1
D1 = 200 - LOG(D1) * 50 / LOG(10#) + O
END SUB
SUB DR6 (file$, nb%, D1, D2) STATIC
DIM ZHUAN AS SUJU
CLOSE #1
OPEN file$ FOR RANDOM AS #1 LEN = LEN(ZHUAN)
nb1 = LOF(1) / LEN(ZHUAN)
nb1% = nb1
D1 = 100000000
FOR a = 1 TO nb1%
GET #1, a, ZHUAN
R1 = ZHUAN.VOLUME / 1000
IF R1 > D1 THEN D1 = R1
NEXT
D2 = D1
D1 = 200 - LOG(D1) * 50 / LOG(10#) + O
END SUB
SUB DU (file$, B1) STATIC
CLOSE #1
CLOSE #2
OPEN file$ FOR INPUT AS #1
FOR B1 = 1 TO 2000
IF EOF(1) THEN EXIT SUB
LINE INPUT #1, a$
NEXT B1
END SUB
SUB FCC (file$, N1, C4, B1, O, n3, n) STATIC
a1 = C4
CALL CC(a1, B1 * n + .75, "OUTER", O)
FOR b = 1 TO 100000
a1 = C4 * n3 * b / 100 + C4
IF a1 < N1 THEN
CALL CC(a1, B1 * n + .75, "OUTER", O)
ELSE EXIT SUB
END IF
NEXT
END SUB
SUB gudel (a$, s$, i%, c$) STATIC
IF INSTR(a$, s$) = 0 THEN EXIT SUB
a$ = a$ + " "
c = 0: b = 0
FOR a = 1 TO i%
c = b
FOR t = 1 TO 200
c = c + 1
IF MID$(a$, c, 1) <> " " THEN t = 200
y$ = MID$(a$, c, 1)
NEXT t
b = c
FOR s = 1 TO 100
b = b + 1
IF MID$(a$, b, 1) = " " THEN s = 100
NEXT s
NEXT
c$ = MID$(a$, c, (b - c))
END SUB
SUB J (file$, N1, C4, h1, O, n3, n, K1) STATIC
um = 0
FOR b = 1 TO 100000
B1 = C4 * n3 * (b - 1) / 100 + C4
b2 = C4 * n3 * b / 100 + C4
CLOSE #1
CLOSE #4
OPEN "f3" FOR INPUT AS #1
OPEN "f6" FOR INPUT AS #4
DO
IF EOF(1) THEN
b$ = "0"
u = 0
EXIT DO
END IF
LINE INPUT #1, a$
LINE INPUT #4, b$
IF VAL(a$) >= B1 AND VAL(a$) < b2 THEN
u = VAL(b$) + u
IF um < u THEN
um = u
END IF
END IF
LOOP
a1 = C4 * n3 * b / 100 + C4
IF a1 > N1 THEN
b = 1000000
END IF
NEXT