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

hhh871030 2009-03-05 08:29:56
各位前辈,小弟是个学。net的,是个应届生,没有什么经验。最近想做个txt阅读器,如果各位前辈能告诉我txt阅读器的原理,或者告诉我从那下手,小弟将不胜感激。
...全文
478 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,第一次听说,楼主很有创意,加油
数据集可视化效果可参见下方展示。 【数据集概况】 · 检测类别(中文):[保龄球(bowling)] · 训练集:594 张 · 验证集:75 张 · 测试集:74 张 · 总计:743 张 该数据集聚焦于室内保龄球馆场景,系统性采集了多角度、多姿态下保龄球在不同运动阶段的视觉特征,为保龄球运动过程中的球体识别与轨迹分析提供了高质量标注样本,具有明确的体育训练与智能辅助系统开发价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 100 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9938** mAP50-95 | 0.6966 Precision | 0.9740 Recall | 0.9974 train/box_loss | 0.9113 train/cls_loss | 0.2862 val/box_loss | 1.1516 val/cls_loss | 0.3116 【训练过程分析】 100 轮训练后 mAP50 达到 0.9938,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。但 mAP50-95 为 0.6966,和 mAP50 差距 0.30,定位精度仍有优化空间。 【模型性能评估】 Precision 0.9740、Recall 0.9974,精召双高,模型对保龄球的检测能力强。 【预测效果展示】 验证集预测效果较好,检测框基本准确覆盖保龄球,置信度整体偏高。 【改进建议】 1. 丰富场景多样性:补充不同光照、背景和遮挡条件下的样本。 2. 提升输入分辨率:640 ...
PaddleOCR 与YOLO目标检测 HTTP 服务。 项目通过 PaddleOCROnnx 原生库集成 OnnxRuntime加速能力,围绕 ONNX 模型部署, 以统一接口提供图像文字识别、YOLO 目标检测和 Tensor 数据输出。 功能概览 文字识别:支持图片 Base64、multipart/form-data 上传,以及文本和 JSON 结果。 目标检测:支持 YOLO 图片检测,返回检测框 JSON 或原始 Tensor。 浏览器演示:访问服务根地址,上传图片并切换 OCR、YOLO 模式。 健康检查:通过 /health 查看服务及 OCR、YOLO 引擎初始化状态。 并发处理:通过 OCR 引擎实例池处理并发请求,可调整实例数量。 体验与调用 启动后访问: 入口 地址 浏览器演示 http://localhost:5000/ 健康检查 http://localhost:5000/health 原生依赖 Windows:优先从 runtimes/win-x64/native/ 加载原生 DLL;该目录没有 PaddleOCROnnx.dll 时,尝试从可执行文件所在目录加载。主 DLL 与对应后端依赖应放在同一原生目录中,不要将同一组依赖分散到多个目录。 Linux:原生运行时位于 runtimes/linux-x64/native/,程序使用相对于可执行文件的运行时搜索路径查找随包部署的依赖。 后端选择:CoreOCROnnx 支持 ONNX Runtime、OpenVINO、TensorRT 后端。请使用与平台、进程架构、硬件和后端匹配的一整套运行时,不要混用不同后端或版本的依赖。

111,129

社区成员

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

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

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