以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据导入的类型是否可以更改?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=6430)

--  作者:floor2
--  发布时间:2010/4/2 10:50:00
--  数据导入的类型是否可以更改?
扫描器导入到电脑里的文件 是*.dat,可以用txt打开,如何把这种文件格式导入到foxtable?

--  作者:狐狸爸爸
--  发布时间:2010/4/2 11:01:00
--  
 ReadAllText

ReadAllText

读取文本文件的内容。

语法:

ReadAllText(File)

File: 要读取的文件的文件名和路径

示例

读取并显示指定文本文件的内容:

Dim s As string = FileSys.ReadAllText("c:\\data\\table.txt")
Output.Show(s)

 


--  作者:floor2
--  发布时间:2010/4/2 11:59:00
--  
 恩 已经这么干了,然后又写入另外一个文本文件,这样再跟表进行数据合并

现在的问题是,如何换行写入,条形码在第一行,s的内容依次在第2.3、、行,
下面的代码的结果是 条形码和s的第一行都在同一行了。
Dim s As string = FileSys.ReadAllText("d:\\fahuo\\fahuo.dat")
messagebox.Show(s)
FileSys.WriteAllText("d:\\fahuo\\data.Txt", "条形码" & s , false)

可以了 加上 “vbcrlf”
[此贴子已经被作者于2010-4-2 12:02:32编辑过]

--  作者:baoxyang
--  发布时间:2010/4/2 12:09:00
--  

if filesys.fileExists("C:\\barcode_up\\ChSSU.txt") = true then
    Dim gb As System.Text.Encoding = System.Text.Encoding.GetEncoding("GB2312")
    Dim Muti As string = FileSys.ReadAllText("C:\\barcode_up\\ChSSU.txt",gb)
    Dim Values() As String = Muti.Split(Chr(10))


    For Index As Integer = 0 To Values.Length - 2
   
    Dim s As String = Values(Index).Trim
   
    If Not s.EndsWith("C") or s.length < 30 Then
        Continue For
    End If
    Dim r As Row = Tables("转库数据上传_Table1").rows.AddNew()   
    Dim bytes() As byte = gb.GetBytes(s)
    dim time1 as string = gb.GetString(bytes,71,12)
    dim s1 as string = time1.SubString(0,4) & "-" & time1.SubString(4,2) & "-" & time1.SubString(6,2)
    dim s2 as string = s1 & " " & time1.SubString(8,2) & ":" & time1.SubString(10,2) & ":00"
    dim kbh as string = gb.GetString(bytes,0,29)
   if kbh <> "" then
     dim kbh1 as string = kbh.SubString(0,1)
     dim kbh2 as string = kbh1.ToUpper()
     kbh = kbh.TrimStart("S")
     if kbh2 = "S" then
       kbh = kbh.substring(0,6) & "-" & kbh.substring(6,kbh.length - 6)
     end if
   end if
    r("捆包号") = kbh
    r("条码号")  = gb.GetString(bytes,0,29)
    r("库位")  = gb.GetString(bytes,30,40)
    r("扫描时间")  = s2
    r("上传人")  = Vars("用户")
    r("上传时间") = format(date.now,"yyyy-MM-dd HH:mm:ss")
    if r("捆包号") <> "" or r("库位") <> "" then
       r("有效标记") = "有效"   \'gb.GetString(bytes,166,1)
    else
       r("有效标记") = "无效"   \'gb.GetString(bytes,166,1)
    end if
 Next
else
   MessageBox.Show("转库扫描数据文件不存在,请检查!","提示")
end if




以上是我读取条形码产生的文本数据。每一行需要一个换行符或一个结束符。(条形码机器编程可达到的),参考下,看是否对你有帮助。
--  作者:floor2
--  发布时间:2010/4/2 13:50:00
--  
 楼上真强,谢谢