望高手解决

xiaoming889 2004-12-07 07:40:59
本人用VB.NET编一个小程序,主要功能是从TXT文件中读取一些字符(按位,这些字符里有中文和数字)然后用类似于表格的样式表示在FORM中.
在下有几点不知:
1.要不出错的读取(按位读,其中有中文,中文是两位的),到底用FileStream还是用ReaderStream
2.读出来后,我只在Windows组件里找到DataGrid这个控件,可不知道如何用.试了几次连一个列名都不显示出来.如果不是用这个组件,请问那个.
如果有例子最好.小弟在此先谢谢了.
...全文
164 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoming889 2004-12-12
  • 打赏
  • 举报
回复
感谢哈.最近有点忙所以没有来看,没有想到,有这么多的高手.
zxbstrong 2004-12-11
  • 打赏
  • 举报
回复
使用FILESTREAM,然后用system.text.encoding.default.getstring(b() as byte)
得到字符串,再利用string.split(c as char)

用datagrid就可以了.查询的时候:
dim t as new table
dim c0,c1 as datacolumn
dim row as datarow
动态生成数据表.
最后再加句:
datagrid1.datasource=t
Paradise_heida 2004-12-11
  • 打赏
  • 举报
回复
我这个上面的Function也是涉及如何按Byte取字符串,看看对你有没有帮助。
Paradise_heida 2004-12-11
  • 打赏
  • 举报
回复
Private Function Cut_Records(ByRef strSourceToCut As String, ByVal intBytes As Integer) As String

Dim int As Integer
Dim strReturn As String
Dim byteReturn As Byte()
Dim byteSource As Byte()

If intBytes >= System.Text.Encoding.Default.GetBytes(strSourceToCut).Length Then
strReturn = strSourceToCut
ElseIf intBytes <= 0 Then
strReturn = String.Empty
End If

byteSource = System.Text.Encoding.Default.GetBytes(strSourceToCut)

ReDim byteReturn(intBytes - 1)

For int = 0 To intBytes - 1
byteReturn(int) = byteSource(int)
Next

strReturn = System.Text.Encoding.Default.GetString(byteReturn)

strSourceToCut = strSourceToCut.Remove(0, strReturn.Length)

Return strReturn

End Function
ekinwt 2004-12-10
  • 打赏
  • 举报
回复
只要能用表格显示的.好像都可以用DataGrid控件..

先定义一张Datatable.然后再将你要的东西添加到Datatable里面.然后奖你的datatable添加到dataset里面.然后就可以在dataGrid里面用了....虽然比较麻烦..
xiaoming889 2004-12-10
  • 打赏
  • 举报
回复
可以不用DataGrid控件,我只找不到其它的控件.
xiaoming889 2004-12-10
  • 打赏
  • 举报
回复
我有两个TXT文件,一个TXT是文件的定义,就是指明每个字段的长度类型.
另一个TXT是数据
水如烟 2004-12-10
  • 打赏
  • 举报
回复
你将你的文本摘一部分贴上来好参考些
捏造的信仰 2004-12-09
  • 打赏
  • 举报
回复
使用DataSet组织你得到的数据。步骤是:

首先要建立表的结构。新建一个DataSet,然后在DataSet当中添加一个DataTable。在DataTable中添加几个DataColumn。请参考这些类的构造函数。

然后将读取来的数据填充进去。定义一个DataRow,并且使用DataTable的NewRow方法来得到一个新的DataRow。将数据写入DataRow,然后使用DataTable的Rows.Add方法将DataRow放入DataTable中。

最后将数据源和DataGrid绑定。

DataSet的使用方法在MSDN中有简单的代码示例可供参考。
youlongzaitian 2004-12-09
  • 打赏
  • 举报
回复
我不行,不代表CSDN里面的人不不行,只是高手没有看见而已!
你从TXT读数据,按位读,显示的时候会遵循什么原则呢?
至于显示嘛,如果你非要用DATAGRID,就将数据先存进DATATABLE,然后再赋给DATAGRID就可以!
也可以变通,通过委托动态生成TEXTBOX来组成TABLE显示在FORM中!
xiaoming889 2004-12-09
  • 打赏
  • 举报
回复
看来CSDN里人也不怎么样嘛!

没有人会了吗?
xiaoming889 2004-12-08
  • 打赏
  • 举报
回复
楼上的.GnuDoyng(疯牛涕淌)
DataGrid好象不行.我看了看只能在绑定数据源时,其中的列才显示出来.(我现在还不能够只显示一列,此列与数据库表中的列无关,自己写的一个.)
难道真的没有一个人为么?
使用FileStream吗?可是类中有方法能按位读吗?比如说,先读2位到一个变量,然后再读几位到另一个变量中?
GnuDoyng 2004-12-08
  • 打赏
  • 举报
回复
1.用FileStream就可以了。
2.DataGrid是显示数据的最好的控件,如果有什么困难,去查查MSDN吧。或者到这里来:〉
xiaoming889 2004-12-08
  • 打赏
  • 举报
回复
csdn里就没有人会了吗?真是的.

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧