各位前辈,关于txt阅读器的制作?

hhh871030 2009-03-05 08:29:56
各位前辈,小弟是个学。net的,是个应届生,没有什么经验。最近想做个txt阅读器,如果各位前辈能告诉我txt阅读器的原理,或者告诉我从那下手,小弟将不胜感激。
...全文
470 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
wstdxsg 2009-12-04
  • 打赏
  • 举报
回复
补充一下楼主,下面给出部分制作TXT阅读器的代码:

需要控件:
RichTextBox1,Button1

需要引用命名空间:
using System.IO

思路:
OpenFileDiailog ofd = new OpenFileDiailog(); //实例化OpenFileDiailog
ofd.ShowDailog(); //向用户弹出选择文件对话框
if(ofd.fileName!=""){ //如果用户选择了文本文件路径

RichTextBox1.Text=
File.ReadAllText(ofd.fileName,Encoding.Default); //通过用户选择的文本文件路径,用默认编码读取文本数据,并用RichTextBox1接受数据
}


如果楼主还有疑问,请mail:458745152@qq.com 或加我QQ,乐意为你解答疑问。
C#这门语言还是有前途和钱途的,希望你能继续努力。

wstdxsg 2009-12-02
  • 打赏
  • 举报
回复
用什么语言先不说,因为各有各的语言,而且我现在也在做。
我用过易和C#,大体的流程是:添加可显示文本控件->可用流根据用户选择路径打开文本文件->可添加读取书签->字体颜色和文本控件的背景色设置。
GavinDX 2009-03-07
  • 打赏
  • 举报
回复
突然发现,我对楼上某位仁兄的代码有点误会,没看清楚,不好意思,虽然楼上某仁兄是用了RichTextbox,但并不是用了RichTextBox的Load()方法。
GavinDX 2009-03-07
  • 打赏
  • 举报
回复
晕,我竟然一分都没有,楼主觉得用RichTextBox来实现很有意思吗?我觉得用那个简直就是拼积木,你觉得你用RichTextBox学会了什么?我的那个读txt文件的方法注释了的代码实际上很有用的,你想读一些有固定规则的txt文件的话,那那个注释的代码可以说就是基本,但如果仅仅是读一个txt文件的话,还是用ReadToEnd()比较好,所以我才注释了那段代码,改用ReadToEnd()。

话说回来,楼主该不会是连“方法”都不会用吧?难道还要我像楼上那样,连Openfiledialog都要给你写出来?
嘛,算了,发发牢骚而已。可以当我没说过,“分”这些就算了,只是让我觉得楼主你有点“是非不分”而已。
zccmy22 2009-03-06
  • 打赏
  • 举报
回复
说错丢人勿笑,勿笑。呵。
zccmy22 2009-03-06
  • 打赏
  • 举报
回复
我没写过c/s,但一直写b/s看看我的说法对不对。你可以试试。

在窗体上面加上下拉菜单按钮我相信你都会了吧。之后在页面内加一个,可以显示内容的控件。什么控件,我
没有具体做过,自己去找一下。

之后当点击比如打开菜单时,可以弹出一个地址选择器。之后,把选中的路径取给文件读取对像。打开。

具本细节自己找。大体思路无非是这样。
beargo 2009-03-06
  • 打赏
  • 举报
回复
刚好我以前在学校也开发个一个记事本,楼主需要的话可以找我要,分要给我哦~~呵呵.
119654848#qq.com #替换成@
GavinDX 2009-03-06
  • 打赏
  • 举报
回复
第一次贴代码,刚才找不到贴代码的功能,我又没有修改帖子的权限,现在唯有再发过一次。

用RichTextBox来实现确实是最简单的方法,不过我自己就不喜欢这样,我是使用Textbox然后使用StreamReader来读取的,贴出我写的读文件方法以及保存文件的方法给楼主参考下吧:

先在using那里添加这个:
using System.Collections;

private void ReadFile(string filepath)
{
try
{
FileStream aFile = new FileStream(filepath, FileMode.Open);
StreamReader sr = new StreamReader(aFile, Encoding.Default);

ArrayList arrText = new ArrayList();

/*while (sr.Peek() != -1)
{
string strLine = sr.ReadLine();
arrText.Add(strLine);
}*/
arrText.Add(sr.ReadToEnd()); //作用跟上面的注释语句基本等效,不过我觉得这个更好。

string[] arrString = new string[arrText.Count];
arrText.CopyTo(arrString, 0);
txtTextArea.Lines = arrString;
sr.Close();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "打开文件失败!");
}
}


private void SaveFile(string filepath)
{
FileStream aFile = new FileStream(filepath, FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(aFile, Encoding.Default);

try
{
foreach (string oneLine in txtTextArea.Lines)
sw.WriteLine(oneLine);

//这段注释代码跟上面的foreach语句作用等效
/*int i;
for (i = 0; i < txtTextArea.Lines.Length - 1; i++)
{
sw.WriteLine(txtTextArea.Lines[i]);
}*/

sw.Close();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "保存文件出错!");
}
}
GavinDX 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 Guyschaos 的回复:]
C# codeusingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;namespaceWindowsApplication1
{publicpartialclassForm1 : Form
{publicForm1()
{
InitializeComponent();
}privatevoidForm1_Load(objectsender, EventArgs e)
{this.openFileDialog1.ShowDialog();
}privatevo…
[/Quote]
用RichTextBox来实现确实是最简单的方法,不过我自己就不喜欢这样,我是使用Textbox然后使用StreamReader来读取的,贴出我写的读文件方法以及保存文件的方法给楼主参考下吧:

先在using那里添加这个:
using System.Collections;

private void ReadFile(string filepath)
{
try
{
FileStream aFile = new FileStream(filepath, FileMode.Open);
StreamReader sr = new StreamReader(aFile, Encoding.Default);

ArrayList arrText = new ArrayList();

/*while (sr.Peek() != -1)
{
string strLine = sr.ReadLine();
arrText.Add(strLine);
}*/
arrText.Add(sr.ReadToEnd()); //作用跟上面的注释语句基本等效,不过我觉得这个更好。

string[] arrString = new string[arrText.Count];
arrText.CopyTo(arrString, 0);
txtTextArea.Lines = arrString;
sr.Close();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "打开文件失败!");
}
}

private void SaveFile(string filepath)
{
FileStream aFile = new FileStream(filepath, FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(aFile, Encoding.Default);

try
{
foreach (string oneLine in txtTextArea.Lines)
sw.WriteLine(oneLine);

//这段注释代码跟上面的foreach语句作用等效
/*int i;
for (i = 0; i < txtTextArea.Lines.Length - 1; i++)
{
sw.WriteLine(txtTextArea.Lines[i]);
}*/

sw.Close();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "保存文件出错!");
}
}
贫僧又回来了 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zhaozhijun0207 的回复:]
引用 6 楼 Guyschaos 的回复:
引用 1 楼 ojekleen 的回复:
txt阅读器?NND,第一次听说,楼主很有创意,加油

txt阅读器这不是很正常的嘛!手机上的MOTO-TXT没用过吗?


MOTO-TXT没用过,用手机版office不就行了.
[/Quote]
越扯越远了!
zhaozhijun0207 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Guyschaos 的回复:]
引用 1 楼 ojekleen 的回复:
txt阅读器?NND,第一次听说,楼主很有创意,加油

txt阅读器这不是很正常的嘛!手机上的MOTO-TXT没用过吗?
[/Quote]

MOTO-TXT没用过,用手机版office不就行了.
XGJ889 2009-03-06
  • 打赏
  • 举报
回复
用文本控件RichTextBox
贫僧又回来了 2009-03-06
  • 打赏
  • 举报
回复
刚才忘说了
StreamReader hc = new StreamReader(this.openFileDialog1.FileName.ToString(),System.Text.Encoding.GetEncoding("GB2312"));//指定下编码,不然会有乱码的!
贫僧又回来了 2009-03-06
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.openFileDialog1.ShowDialog();
}
private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
{
StreamReader hc = new StreamReader(this.openFileDialog1.FileName.ToString());
this.richTextBox1.Text = hc.ReadToEnd();
}
}
}

其他就看你要具体什么样的功能了!
caorenlong 2009-03-06
  • 打赏
  • 举报
回复
txt格式的文档,如果用在电脑上,阅读器也用不到吧,只有装上操作系统了,肯定能阅读txt文档.
倒是听说过有一个叫exebook的小东西,可以把好多txt的文档,汇集到一块,相当于一个电子图书的东西!
贫僧又回来了 2009-03-06
  • 打赏
  • 举报
回复
其实就是打开TXT文件,用个RichTextBox来显示就OK了!
你要实现点怎么样的功能呢?
贫僧又回来了 2009-03-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ojekleen 的回复:]
txt阅读器?NND,第一次听说,楼主很有创意,加油
[/Quote]
txt阅读器这不是很正常的嘛!手机上的MOTO-TXT没用过吗?
whowhen21 2009-03-06
  • 打赏
  • 举报
回复
楼主可以用显示文字的控件,比如TextBox ,RichTextBox,都可以,
做的好的话可以类似于Windows的记事本哦。

可以参考用文件流读写。方便好用!
GavinDX 2009-03-05
  • 打赏
  • 举报
回复
楼主是想编个记事本吧?看你想编个怎样程度的记事本,单单是txt文件的打开以及保存和复制、剪切、粘贴功能的实现的话,其实不难,如果考虑很多细节,编个跟Windows记事本不相上下的程度的话就有难度了。
ojekleen 2009-03-05
  • 打赏
  • 举报
回复
txt阅读器?NND,第一次听说,楼主很有创意,加油
软件概述 UG(Unigraphics NX)是一款由西门子(Siemens PLM Software)开发的交互式CAD/CAM/CAE系统。作为全球领先的产品工程解决方案,它集成了产品设计、工程仿真与制造加工于一体。其功能强大且应用广泛,能够轻松实现各种复杂实体和造型的构造,为模具、汽车、航空航天及通用机械等行业提供了高性能的机械设计与制图灵活性。 软件基础信息 • 支持系统: 64位 Windows 10、Windows 11 核心功能模块 一、创新设计:高效、灵活、无缝协同 全链路产品设计 涵盖从2D布局、3D建模、装配设计到图纸文档记录的各个环节,大幅提升设计吞吐量,缩短交付周期超35%。 强大的同步建模技术 打破数据壁垒,可无缝导入并直接修改来自其他CAD系统的几何模型,是跨平台协同设计的理想选择。 复杂装配管理 专为大型复杂产品打造,即使面对成千上万的零件也能从容应对,快速识别并解决数字样机中的干涉等问题。 集成设计验证 内置自动验证功能,实时监控设计是否符合公司及行业标准;结合PLM数据可视化合成,辅助工程师做出更明智的决策。 二、综合仿真(Simcenter 3D):精准预测,降低试错成本 极速前后处理 依托先进的几何引擎,将强大的分析命令与几何编辑紧密集成,相比传统有限元工具,可缩短高达70%的仿真建模时间。 全方位结构分析 在同一环境中集成线性静力学、动态、疲劳及非线性分析,底层由业界顶尖的NX Nastran解算器提供支持,确保计算的高精度与可靠性。 声学与热管理分析 提供内外声学仿真以优化音质、降低噪音;具备一流的热传导仿真能力,帮助电子产品和工业机械实现最佳热管理方案。 多物理场耦合 简化了结构动力学、热传导、流体流动等复杂物理现象的模拟过程,消除外部数据传输错误,真实还原产品运行工况。 三、智能制造(CAM):打通从计划到车间的数字主线 全面的制造解决方案 提供从工装设计、CAM编程到机床控制器(如Sinumerik)的一体化支持,助力制定更科学的生产决策。 深度集成的PLM环境 借助Teamcenter实现数据和流程的统一管理,避免多数据库冲突,支持重用验证过的加工工艺与刀具库。 车间级互联 通过DNC系统与车间无缝对接,直接将加工数据和刀具清单下发至CNC机床,实现计划与生产的紧密结合。 提质增效 优化NC编程与刀具路径,提升表面精加工水平与零件精度;减少人为错误,显著提高新机床部署成功率及制造资源利用率。 总结 UG NX 2023作为一款集成化的产品工程解决方案,通过其强大的设计、仿真和制造功能,为现代制造业提供了完整的数字化产品开发平台。无论是复杂产品的设计验证,还是精密制造的流程优化,UG NX 2023都能为工程师团队提供高效、可靠的解决方案,助力企业提升产品创新能力和市场竞争力。 适用领域 模具设计、汽车制造、航空航天、通用机械、消费电子等
软件概述 UG(Unigraphics NX)是一款由西门子(Siemens PLM Software)开发的交互式CAD/CAM/CAE系统。作为全球领先的产品工程解决方案,它集成了产品设计、工程仿真与制造加工于一体。其功能强大且应用广泛,能够轻松实现各种复杂实体和造型的构造,为模具、汽车、航空航天及通用机械等行业提供了高性能的机械设计与制图灵活性。 软件基础信息 • 支持系统: 64位 Windows 10、Windows 11 核心功能模块 一、创新设计:高效、灵活、无缝协同 全链路产品设计 涵盖从2D布局、3D建模、装配设计到图纸文档记录的各个环节,大幅提升设计吞吐量,缩短交付周期超35%。 强大的同步建模技术 打破数据壁垒,可无缝导入并直接修改来自其他CAD系统的几何模型,是跨平台协同设计的理想选择。 复杂装配管理 专为大型复杂产品打造,即使面对成千上万的零件也能从容应对,快速识别并解决数字样机中的干涉等问题。 集成设计验证 内置自动验证功能,实时监控设计是否符合公司及行业标准;结合PLM数据可视化合成,辅助工程师做出更明智的决策。 二、综合仿真(Simcenter 3D):精准预测,降低试错成本 极速前后处理 依托先进的几何引擎,将强大的分析命令与几何编辑紧密集成,相比传统有限元工具,可缩短高达70%的仿真建模时间。 全方位结构分析 在同一环境中集成线性静力学、动态、疲劳及非线性分析,底层由业界顶尖的NX Nastran解算器提供支持,确保计算的高精度与可靠性。 声学与热管理分析 提供内外声学仿真以优化音质、降低噪音;具备一流的热传导仿真能力,帮助电子产品和工业机械实现最佳热管理方案。 多物理场耦合 简化了结构动力学、热传导、流体流动等复杂物理现象的模拟过程,消除外部数据传输错误,真实还原产品运行工况。 三、智能制造(CAM):打通从计划到车间的数字主线 全面的制造解决方案 提供从工装设计、CAM编程到机床控制器(如Sinumerik)的一体化支持,助力制定更科学的生产决策。 深度集成的PLM环境 借助Teamcenter实现数据和流程的统一管理,避免多数据库冲突,支持重用验证过的加工工艺与刀具库。 车间级互联 通过DNC系统与车间无缝对接,直接将加工数据和刀具清单下发至CNC机床,实现计划与生产的紧密结合。 提质增效 优化NC编程与刀具路径,提升表面精加工水平与零件精度;减少人为错误,显著提高新机床部署成功率及制造资源利用率。 总结 UG NX 2023作为一款集成化的产品工程解决方案,通过其强大的设计、仿真和制造功能,为现代制造业提供了完整的数字化产品开发平台。无论是复杂产品的设计验证,还是精密制造的流程优化,UG NX 2023都能为工程师团队提供高效、可靠的解决方案,助力企业提升产品创新能力和市场竞争力。 适用领域 模具设计、汽车制造、航空航天、通用机械、消费电子等

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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