主题:一个问题
jy02042738
[专家分:70] 发布于 2005-08-21 02:24:00
1。可否用QB建一个类似DATA一样的数据库,不过是要在程序运行时由我输
入数据而不是象DATA一样预设数据呢{我要输入的数据好多的}。还要把我输入
的数据Save,以便日后把引用。
2。再把我上面输入的数据打乱顺序输出成*.txt格式的文本。
第1问不能不要紧,我想知道第2问所说的“打乱数据顺序输出成*.txt格式的文本”能不能做到。
输入数据(不一定是数字)
↓
save到一个库中(能的话最好不是暂存,而是永久存,方便日后引用嘛)
↓
引用上面数据库中的数据
↓
打乱被引用数据的顺序(即是随机顺序)
↓
最后打数据输出成*.txt文本。
谢谢~!~!
回复列表 (共3个回复)
沙发
moz [专家分:37620] 发布于 2005-08-21 09:15:00
1. 很简单,把DATA操作换成文件操作就可以了
你把你的数据用 EDIT 来做输入
一行一个,随便你怎么输输多久都可以,
只需要退出的时候记得保存就可以了.
如果非得要用QB里的 input 的话,那也行,
打开一个文件把它保存就行了.
2. "打乱顺序"得看看是不是同类型同长度的数据了
总得按某种规律来顺序吧?
非得随机的话,还得把一串数列颠置后
按数列顺序把文件内容重置就得了.
板凳
jy02042738 [专家分:70] 发布于 2005-08-22 07:06:00
我具体是这样想的。不过有个缺点就是一定要本来有一个“Data.txt”并且要在Data.txt输入end作标记才能。有什么办法可以解决这个问题呢?
<div style="background-color:#FFFFE0">
DIM DT$(1 TO 2000)
DIM y AS STRING
CLS
PRINT " Jay random vocabulary maker"
PRINT
PRINT " > v 2.0 Edition <"
OPEN "data.txt" FOR INPUT AS #1
DO
LINE INPUT #1, l$
IF l$ = "end" THEN EXIT DO
i = i + 1
DT$(i) = l$
LOOP
CLOSE #1
d = i
PRINT
PRINT "1. If you want to input words, please input digit 1."
PRINT
PRINT "2. If you want to output vocabulary, please input digit 2."
start:
PRINT
INPUT "Which do you choose, 1 or 2 ? ", m
IF m = 1 THEN
PRINT
PRINT "Please input you words one by one."
PRINT
PRINT "If you want to finish you inputting, please input--end."
DO
PRINT
INPUT "Inkey the word you want to store: ", y$
IF y$ = "end" THEN EXIT DO
i = i + 1
DT$(i) = y$
LOOP
OPEN "data.txt" FOR OUTPUT AS #1
FOR j = 1 TO i
PRINT #1, DT$(j)
NEXT j
PRINT #1, "end"
CLOSE #1
PRINT
PRINT "Input is finished."
f = i - d
FOR k = 1 TO f
PRINT k; "."; DT$(k + d),
NEXT k
ELSEIF m = 2 THEN
p$ = RIGHT$(TIME$, 2)
q$ = LEFT$(TIME$, 2)
o = VAL(q$) * VAL(p$) + VAL(p$)
FOR u = 1 TO o
l = RND
NEXT u
PRINT
INPUT "How many words would you want?", v
IF v > i THEN
PRINT "Sorry~! There are only totally"; i; "words in the data."
ELSE
OPEN "vocabu.txt" FOR OUTPUT AS #2
DO
h = INT(RND * i + 1)
IF DT$(h) <> "none" THEN
PRINT #2, DT$(h); "."
n = n + 1
PRINT n; "."; DT$(h),
DT$(h) = "none"
END IF
LOOP UNTIL n = v
CLOSE #2
END IF
PRINT
PRINT "Congratulation~!"
PRINT
PRINT "Your provisional vocabulary is finished."
ELSE
PRINT
PRINT "ERROE~! You key a wrong digit. Please try again~!"
GOTO start
END IF
END
</div>
3 楼
jyf1987 [专家分:930] 发布于 2005-08-22 09:22:00
打乱前给各个数据分类,每个数据前加个类型判断符号
这样打乱后输出也没问题
我来回复