Foxtable(狐表)用户栏目专家坐堂 → 有没有办法得到 {"函数名","代码"} 这样的数据呢?


  共有4227人关注过本帖树形打印复制链接

主题:有没有办法得到 {"函数名","代码"} 这样的数据呢?

帅哥哟,离线,有人找我吗?
有点蓝
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/25 8:28:00 [只看该作者]

Dim s As String
For Each r As Col In Tables("内部函数").cols
    output.show(r.name)
    s = s & """" & r.name & ""","
Next
    s= s.TrimEnd(",")
    s="{" & s & "}"
output.show(s)

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)Dim s As StringFor Each r As Col I...  发帖心情 Post By:2022/2/25 8:57:00 [只看该作者]

谢谢  {}内解决了

 

Dim s As String
For Each r As Col In Tables("内部函数").cols
    output.show(r.name)
    s = s & """" & r.name & ""","
Next
s= s.TrimEnd(",")
s="{" & s & "}"
output.show(s)

Dim Cols1() As String =s 
Dim s1 As String
For Each dr As DataRow In DataTables("内部函数").DataRows
    For i As Integer = 0 To Cols1.Length -1
        If s1 > "" Then s1 = s1  & "|"
        If dr.IsNull(Cols1(i)) = False Then
            s1 =  s1  & dr(Cols1(i))
        End If
    Next
    s1 = s1.TrimStart("|")
    FileSys.WriteAllText("d:\JobPosition.txt", s1 & vbcrlf , True, Encoding.Default)
Next

 

运行提示:

 


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/25 9:08:00 [只看该作者]

提示很明显了字符串不能赋值为数组。

如果要取所有列,直接遍历表格不就行了!还要先遍历表格,把列转换为字符串,再从字符串里遍历列名,这算是吃饱了撑的吗?!

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/2/25 9:41:00 [只看该作者]

哈哈,这个有意思。
如果要传参数进去,定义一个数组作为参数不就OK了唆。
又不是要打印出来

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)提示很明显了字符串不能赋值为数组。...  发帖心情 Post By:2022/2/25 10:07:00 [只看该作者]

老师:按照你的提示现在修改如下:红色部分代码怎么操作呢?

 

‘定义链接字符输入框

Dim cm3 As WinForm.ComboBox = e.Form.Controls("ComboBox3")

Dim s2 As String

'写入空置到文本
FileSys.WriteAllText("d:\JobPosition.txt", "" & vbcrlf , True, Encoding.Default)
For Each r As Col In Tables("内部函数").cols
    s2 =  s2  & r.name & cm3.text
Next
s2 = s2.Trim(cm3.text)
output.Show(s2)

'写入遍历内部函数表所有列名的值到文本  假定cm3.text= | 格式为: 第一列|第二列
FileSys.WriteAllText("d:\JobPosition.txt", s2 & vbcrlf , True, Encoding.Default)

 

’定义数组,便于根据数组来遍历内部函数所有行,获取数据,并写入文本  假定cm3.text= |

‘格式为:

’张三|5227

‘里斯|5228

 

Dim Cols1() As String ={"函数名","代码"}
Dim s1 As String
For Each dr As DataRow In DataTables("内部函数").DataRows
    s1 = ""
    For i As Integer = 0 To DataTables("内部函数").DataCols.Count -1
        If s1 > "" Then s1 = s1  & cm3.text
        If dr.IsNull(Cols1(i)) = False Then
            s1 =  s1  & dr(Cols1(i))
        End If
    Next
    s1 = s1.TrimStart(cm3.text)
    FileSys.WriteAllText("d:\JobPosition.txt", s1 & vbcrlf , True, Encoding.Default)
Next
MessageBox.Show("操作完毕","温馨提示")


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/25 10:24:00 [只看该作者]

Dim Cols1() As String =s2.split("|")
Dim s1 As String
For Each dr As DataRow In DataTables("内部函数").DataRows
    s1 = ""
    For i As Integer = 0 To Cols1.length-1
        If s1 > "" Then s1 = s1  & cm3.text
        If dr.IsNull(Cols1(i)) = False Then
            s1 =  s1  & dr(Cols1(i))
        End If
    Next
    s1 = s1.TrimStart(cm3.text)
    FileSys.WriteAllText("d:\JobPosition.txt", s1 & vbcrlf , True, Encoding.Default)
Next

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)Dim Cols1() As String =s2.split("|...  发帖心情 Post By:2022/2/25 10:47:00 [只看该作者]

谢谢!

 

Dim cm3 As WinForm.ComboBox = e.Form.Controls("ComboBox3")
Dim tb As WinForm.Table = e.Form.Controls("Table1")
Dim s2 As String
FileSys.WriteAllText("d:\"& tb.Table.DataTable.Name & ".txt","" & vbcrlf , False, Encoding.Default)
For Each r As Col In Tb.Table.cols
    s2 =  s2  & r.name & cm3.text
Next
s2 = s2.Trim(cm3.text)
output.Show(s2)
FileSys.WriteAllText("d:\"& tb.Table.DataTable.Name & ".txt",s2 & vbcrlf , False, Encoding.Default)


Dim Cols1() As String =s2.split(cm3.text)
Dim s1 As String
For Each dr As DataRow In Tb.Table.DataTable.DataRows
    s1 = ""
    For i As Integer = 0 To Cols1.length-1
        If s1 > "" Then s1 = s1  & cm3.text
        If dr.IsNull(Cols1(i)) = False Then
            s1 =  s1  & dr(Cols1(i))
        End If
    Next
    s1 = s1.TrimStart(cm3.text)
    FileSys.WriteAllText("d:\"& tb.Table.DataTable.Name & ".txt",s1 & vbcrlf , True, Encoding.Default)
Next
MessageBox.Show("操作完毕","温馨提示")

 

 

经运行,大部分表数据都按照正常格式导出为文本了

但是个别表列数据出现如下?,经查表中列字符没有空格,一般情况下产生这个?的原因是啥呢?

 


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/25 10:49:00 [只看该作者]

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=171718&replyID=153610&skin=1

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)http://www.foxtable.com/bbs/dispbb...  发帖心情 Post By:2022/2/25 11:04:00 [只看该作者]

老师 参照运行问题依旧

Dim cm3 As WinForm.ComboBox = e.Form.Controls("ComboBox3")
Dim tb As WinForm.Table = e.Form.Controls("Table1")
Dim s2 As String
FileSys.WriteAllText("d:\"& tb.Table.DataTable.Name & ".txt","" & vbcrlf , False, Encoding.Default)
For Each r As Col In Tb.Table.cols
    s2 =  s2  & r.name & cm3.text
Next
s2 = s2.Trim(cm3.text)
output.Show(s2)
FileSys.WriteAllText("d:\"& tb.Table.DataTable.Name & ".txt",s2 & vbcrlf , False, Encoding.Default)


Dim Cols1() As String =s2.split(cm3.text)
Dim s1 As String
For Each dr As DataRow In Tb.Table.DataTable.DataRows
    s1 = ""
    For i As Integer = 0 To Cols1.length-1
        If s1 > "" Then s1 = s1  & cm3.text
        If dr.IsNull(Cols1(i)) = False Then
            Dim bb As String =dr(Cols1(i))
            s1 =  s1  & bb.Replace(chrw(8203),"")

        End If
    Next
    s1 = s1.TrimStart(cm3.text)
   
    FileSys.WriteAllText("d:\"& tb.Table.DataTable.Name & ".txt",s1 & vbcrlf , True, Encoding.Default)
Next
MessageBox.Show("操作完毕","温馨提示")


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/25 11:08:00 [只看该作者]

请上传实例说明

 回到顶部
总数 30 上一页 1 2 3