11 12
发新话题
打印

关于线性列表(续)!

关于线性列表(续)!

我想实现这样的效果:
把users.txt里的内容调用进去,实现同样的效果!

TOP

关于线性列表(续)!

咱家看看!

TOP

关于线性列表(续)!

要是那位大哥做好了,麻烦发个信息给我,谢了!

TOP

关于线性列表(续)!

把你的计算图标setup中内容改为以下内容

Id:=[]
name:=[]
score:=[]
wen:=ReadExtFile(FileLocation^"users.txt")
hang:=LineCount(wen)
repeat with i:=1 to hang
      ge:=GetLine(wen,i ,i)
       Id[i]:=GetLine(ge,1 ,1,Tab)
      name[i]:=GetLine(ge,2 ,2,Tab)
     score[i]:=GetLine(ge,3 ,3,Tab)
end repeat

--Id:=[01,02,03,04,05,06,07,08,09,10]
--name:=["老大","老三","老四","老二","老五","老八","老七","老六","老么","老九"]
--score:=[100,60,80,70,94,89,74,50,92,84]
sort:=1

TOP

关于线性列表(续)!

Id:=[]
name:=[]
score:=[]
score := ReadExtFile(filelocation^"score.txt")
linecount1:=linecount(score)
repeat with i:=1 to linecount1
     curline:=GetLine(score,i)
     Id[i]:=substr(curline,1 ,find(tab,curline)-1)
     curlinecount:=charcount(curline)
     curname:=substr(curline,find(tab,curline)+1,curlinecount)
     name[i]:=GetLine(curname,1 ,find(tab,curname)-1)
     curnamecount:=charcount(curname)
     score[i]:=substr(curline,find(tab,curline)+1,curlinecount)
end repeat
看看这个吧,我对线性表不是很熟悉,怎么样显示线性表的内容? 这部分分我不知道,所以没有最后的测试

TOP

关于线性列表(续)!

我试了,通过了
score.txt内容
1wo123
2we234
结果id内容为["1","2"]

TOP

关于线性列表(续)!

我看了一下"tab"的变量说明
  Tab contains a single Tab character. You can put Tab characters in a string by using "\t".
她就是等于一个制表符,也就是“\t”
不过上面的兄弟用tab代替return也应该对阿,他们的方法我没试过,我的方法可能笨一些,赫赫

TOP

关于线性列表(续)!

[quote][b]下面引用由[u]小邓[/u]在 [i]2002/10/30 04:19pm[/i] 发表的内容:[/b]
把你的计算图标setup中内容改为以下内容
Id=ReadExtFile(FileLocation^"users.txt")
hang:=LineCount(wen)
repeat with i=GetLine(wen,i ,i)
...
[/quote]
是可以引用了,可是出现了一个问题,就是点击“分数”按钮的时候,排列出了问题。

TOP

关于线性列表(续)!

Id[i]:=GetLine(ge,1 ,1,Tab)
name[i]:=GetLine(ge,2 ,2,Tab)
score[i]:=GetLine(ge,3 ,3,Tab)
函数getLine是从字符串中取出指定行。最后一个参数是指定分隔符,默认的分隔符是Return,即回车符。
不指定分隔符即为默认,所以可以使用ge:=GetLine(wen,i ,i)来从读取的文本中取出第i行,因为在文本中每一行是回车开始下一行的。
也可以指定分隔符。所以使用Id[i]:=GetLine(ge,1 ,1,Tab)就是指定Tab为分隔符。
排序的问题是因为字符串的问题引起的,默认的情况下AW是把数字当做字符串来处理的。
解决方法是把语句
score[i]:=GetLine(ge,3 ,3,Tab)
换成
score[i]:=GetNumber(1,GetLine(ge,3 ,3,Tab))
就行了

TOP

关于线性列表(续)!

好的,明白了,谢谢!!!

TOP

 11 12
发新话题