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


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

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

帅哥哟,离线,有人找我吗?
cnsjroom
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | 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("操作完毕","温馨提示")


 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | 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("操作完毕","温馨提示")


 回到顶部
总数 15 上一页 1 2