如果发布错误,我很抱歉。如果要求,我会立即将其删除。
我(非常)是C#和Visual Studio的初学者。我创建了一个将数据导出到文本文件的小程序。见图:
您将看到我的程序,导出功能和导出的文本文件。
现在我想反过来并导入这些创建的文本文件到我的程序中。
我的第一个猜测是以某种方式调用行(或字符串)。但是,我如何才能将这些部分放入我的文本字段或组合框中?例如,请参阅文本文件和程序中的POINT 1。
我没有发布任何代码,因为我还没有写任何代码,因为我不知道从哪里开始。但是,如果需要,我可以发布任何现有代码。
我将尽我所能,让您更轻松地提供帮助。谢谢!
答案 0 :(得分:0)
我对组合框不是很好,因为我有一段时间没有做任何winforms的东西,但是这里是如何将你的文本文件数据输入你的c#程序:
string[] fileEntries = Directory.GetFiles(yourPathToFileHere);
这会将文本文件的每一行插入一个数组中的字符串(例如,textfile的第1行= fileEntries[0]
。那么你可能想要将该行拆分为各个感兴趣的项目,以便你会想要用这个:
string[] partsOfString = yourString.Split('charToSplitOn');
看看你是否可以从那里自己解决。如果您仍然需要帮助,请告诉我们,我们会更进一步! :)
EDIT1:.Split()
正在进行的演示!
string inputString = "POINT 1 123-123-123N 123-123-123W";
string[] results = inputString.Split('-', ' '); //split the input on hyphens and spaces
您的结果视图将如下所示:
results[0] = "POINT"
results[1] = "1"
results[2] = "123"
results[3] = "123"
results[4] = "123N"
results[5] = "123"
results[6] = "123"
results[7] = "123W"
答案 1 :(得分:0)
我的第一个问题是为什么你使用一个组合框来获得一个可以达到123的数字?您的值的选项是否有限,因为如果没有,我会使用文本框。
我首先要为" Point"创建一个Object类。接受每个值的6个参数。然后使用某种StreamReader或OpenFileDialog将文本文件数据导入应用程序。这是一些示例代码,您可以使用/更改以满足您的需求(使用起始值和行开头的Point赢得此代码的工作)。
Stream myStream;
openFileDialog1.FileName = string.Empty;
openFileDialog1.InitialDirectory = "C:\\";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if (extension.Equals(".TXT", compareType))
{
try
{
using (myStream = openFileDialog1.OpenFile())
{
string path = Path.GetDirectoryName(openFileDialog1.FileName);
StreamReader reader = new StreamReader(openFileDialog1.FileName);
string line;
while ((line = reader.ReadLine()) != null)
{
string[] value = line.Split('-'); //Split line based on delimiter
_pointList.Add(new Parameter(value[0], value[1], value[2], value[3], value[4], value[5]));
}
如果要填充文本框,可以从列表中调用每个元素。
textbox1.Text = _pointList.ElementAt(0).Value1;
希望这有帮助!