以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何获得多文件列中的文件数目  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=24851)

--  作者:Fotable
--  发布时间:2012/10/24 20:49:00
--  如何获得多文件列中的文件数目

列只能管理一个,如果一行数据有可能涉及到,那么请用

只有字符或者备注列才能扩展为

对于列,有一个专门的列窗口用于管理

图片点击可在新窗口打开查看

通常使用备注列或者字符列来扩展为,如果使用字符列,请注意合理设置字符列的长度。

比如是文件表 中的多图片列 tables("文件").current("多图片")

我现在想分析这个这多图片列里存储了多少个文件,也就是要分析这个多文件字段的的字符串有多少个回车换行符。

dim s as string = tables("文件").current("多图片")

dim piccount as integer

piccount = s.?

[此贴子已经被作者于2012-10-24 20:54:13编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/10/24 20:57:00
--  

dim s as string = tables("文件").current("多图片")

s = s.replace(vbcrlf, vblf)

Dim fls() As String = s.split(vblf)

output(fls.Length)

[此贴子已经被作者于2012-10-24 20:57:14编辑过]

--  作者:Fotable
--  发布时间:2012/10/24 21:05:00
--  

piccount = 0

for i as integer = 3 to s.length -1

if s.chars(i) = vblf then

piccount = piccount +1

i = i+3

end if

next

这样可以吗?

[此贴子已经被作者于2012-10-24 21:17:34编辑过]

--  作者:Fotable
--  发布时间:2012/10/24 21:20:00
--  
以下是引用狐狸爸爸在2012-10-24 20:57:00的发言:

dim s as string = tables("文件").current("多图片")

s = s.replace(vbcrlf, vblf)

Dim fls() As String = s.split(vblf)

output(fls.Length)

[此贴子已经被作者于2012-10-24 20:57:14编辑过]

为什么不可以直接

Dim fls() As String = s.split(vbcrlf)

output(fls.Length)


--  作者:Fotable
--  发布时间:2012/10/24 21:28:00
--  
以下是引用狐狸爸爸在2012-10-24 20:57:00的发言:

dim s as string = tables("文件").current("多图片")

s = s.replace(vbcrlf, vblf)

Dim fls() As String = s.split(vblf)

output(fls.Length)

[此贴子已经被作者于2012-10-24 20:57:14编辑过]

狐爸你的这个算法 在 s= “”的时候

会计算出 fls.length = 1

 而实际要求当s= “”的时候,= 0

[此贴子已经被作者于2012-10-24 21:30:54编辑过]

--  作者:Fotable
--  发布时间:2012/10/24 22:04:00
--  

这个错误的原因 应该算在 split函数上,当空字符串 进行split的时候,应该得到一个长度为0的空数组,而不是长度为1的数组。

所以应该纠正下split函数


--  作者:狐狸爸爸
--  发布时间:2012/10/24 22:13:00
--  

dim s as string = tables("文件").current("多图片")

if s >"" then

   s = s.replace(vbcrlf, vblf)

   Dim fls() As String = s.split(vblf)

   output(fls.Length)

end if