手头有个text文本,怎么让visual studio读取并执行其中的内容?

ARNEBEAR 2011-09-08 08:07:52
文本文件名字叫 HOUSE.txt ,内容就是:
Rectangle
50
200
300
300
Line
200
50
0
250
Line………..

总之就是根据这些文本信息去画出对应的图像。

如何根据这些数字画出对应图像我已经很明白了,但是如何让我的visual studio能自动读取并执行呢?

我从工具栏里往form上拖了个menustrip和openFileDialog1,设置了“open”的item,请问是直接双击它输入代码?还是在别的地方输入?比如openFileDialog1???


顺便帮我看看我目前为止有无错误吧!
const string Filter = "Text Files (*.txt)|*.txt|" + "All Files (*.*)|*.*";
string dir = @"J:\";
string path = dir + "HOUSE.txt";
StreamReader textIn =
new StreamReader(
new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read));
string objectType;

Graphics paper = pictureBoxDisplay.CreateGraphics();
Pen pen1 = new Pen(Color.Blue, 2);
StreamReader reader;
reader = File.OpenText("HOUSE.txt");
openFileDialog1.Filter = Filter;

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
reader = File.OpenText(openFileDialog1.FileName);
while (reader.Peek() != -1)
{
objectType = reader.ReadLine();
...全文
467 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
feixuyue 2011-09-08
  • 打赏
  • 举报
回复
cad 的dxf?
土地公公 2011-09-08
  • 打赏
  • 举报
回复
同意。关键字可以用一个枚举。
[Quote=引用 6 楼 sdl2005lyx 的回复:]
楼主,这个txt文件格式很友好,有规律,从你给出的部分内容来看,应该是起始和终止点的坐标!逐行扫描,并区分“关键字”,如:Rectangle、Line、Circle等
建议你定义一个类或结构,保存这些信息:
public class Shape
{
int type; //0,1,2,3。。。。对应直线、矩形、圆

List<Point> ptList; //存储图形对象坐标
……
[/Quote]
小赖赖 2011-09-08
  • 打赏
  • 举报
回复
封装几个画图的类
扫描文件,用工厂根据类型名称创建类
开发者孙小聪 2011-09-08
  • 打赏
  • 举报
回复
StreamReader
libolei 2011-09-08
  • 打赏
  • 举报
回复

/// <summary>
/// 读取文本文件
/// </summary>
/// <param name="Ppath"></param>
/// <param name="Pmess"></param>
/// <returns></returns>
public static List<string> ReadTxtFile(string Ppath, out string Pmess)
{
//抛出信息
Pmess = "";
List<string> Alist = new List<string>();//读取前准备

//连接
try
{
FileStream Afs = new FileStream(Ppath, FileMode.Open);
StreamReader Asr = new StreamReader(Afs, Encoding.GetEncoding("gb2312"));

try
{
string AstrLine = "";
//开始读取
while (AstrLine != null)
{
AstrLine = Asr.ReadLine();
if (AstrLine != null && AstrLine.Trim().Length > 0)
{
Alist.Add(AstrLine);
}
}
//关闭读取流
Asr.Close();
Afs.Close();
return Alist;
}
catch (Exception ex)
{
Pmess = ex.Message;
return Alist;
}
}
catch (Exception exOut)
{
Pmess = exOut.Message;
return Alist;
}
}


1.读取txt文件返回List<string>
2.out 异常信息
3.原创 一直用这个方法
krenyelang 2011-09-08
  • 打赏
  • 举报
回复
http://blog.csdn.net/krenyelang/article/details/6758337
mjp1234airen4385 2011-09-08
  • 打赏
  • 举报
回复
读取文件,我相信你会。就是读取完了,不会处理这些信息而已。
创建一个Line的对象。public class Line { public int x1; public int y1; public int x2; public int y2; public Line() {} }
创建一个对象列表:List<object> objectlist = new List<object>;
每次读取一行,判断
1)如果是文字Rectangle,则连续读取4行,
然后创建一个Rectangle的实例,并添加到objectlist里。
2)如果文字是Line,则连续读取4行,
然后创建一个Line的实例,并添加到objectlist里。
。。。。
等把文件都处理完了,遍历objectlist,判断每个元素是Rectangle的就画矩形,是Line,就画线
sanjiawan 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zyloveyrf 的回复:]
LZ读取txt的内容这样吧

C# code

if (File.Exists(@"../../test.txt"))//路径和文件类型自己设置
{
StreamReader sr = new StreamReader(@"../../test.txt", true);

string str ……
[/Quote]
+1
这个完全可以读取内容了 执行就看你如何处理获取的内容了
萧炎 2011-09-08
  • 打赏
  • 举报
回复
至于画图么?
LZ可以去我的博客看看
萧炎 2011-09-08
  • 打赏
  • 举报
回复
LZ读取txt的内容这样吧

if (File.Exists(@"../../test.txt"))//路径和文件类型自己设置
{
StreamReader sr = new StreamReader(@"../../test.txt", true);

string str = sr.ReadLine();
if (str != null)
{
txtZhangHao.Text = str.Trim();
}
sr.Close();
}

sdl2005lyx 2011-09-08
  • 打赏
  • 举报
回复
楼主,这个txt文件格式很友好,有规律,从你给出的部分内容来看,应该是起始和终止点的坐标!逐行扫描,并区分“关键字”,如:Rectangle、Line、Circle等
建议你定义一个类或结构,保存这些信息:
public class Shape
{
int type; //0,1,2,3。。。。对应直线、矩形、圆

List<Point> ptList; //存储图形对象坐标
}

解析完后,统一写个函数,根据存储的图形对象的类型,调用Graphics.Draw系列函数画图!
liuwei2500 2011-09-08
  • 打赏
  • 举报
回复
基于资源的合理申明和释放,我觉得应该先show出Dialog再申明一些Graphics进行操作。
基本上就是读一下画一个的问题了。
诺维斯基 2011-09-08
  • 打赏
  • 举报
回复
学习,帮顶
isjoe 2011-09-08
  • 打赏
  • 举报
回复
属于设计期间问题,自己写个控件预留一个属性可以设置文本文件的路径,该属性设置后读取文件并在设计器窗口上绘制。
纯冰糖 2011-09-08
  • 打赏
  • 举报
回复
用StreamReader这个类
StreamReader sr = new StreamReader(filePath);
String txtStr = sr.ReadToEnd();
就把文件里所有的内容都读近来了
sr.ReadLine()方法是每次读一行
具体看msdn
haihuan23 2011-09-08
  • 打赏
  • 举报
回复
ARNEBEAR 2011-09-08
  • 打赏
  • 举报
回复
请问,是给open这个menu item写代码还是给其它东西写代码???

111,095

社区成员

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

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

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