ファイルからデータを取得して変更し、古いデータを置き換えようとしています。
次のようなファイルがあります。
TEXT NEXT_TEXT 10.505 -174.994 0
TEXT NEXT_TEXT 100.005 174.994 90
TEXT NEXT_TEXT -10.000 -5.555 180
TEXT NEXT_TEXT -500.987 5.123 270
TEXT NEXT_TEXT 987.123 1.000 180
TEXT NEXT_TEXT 234.567 200.999 90
ユーザーが2つに入力した内容に基づいてデータを変更するために、 3番目と4番目の列を取得しようとしていますTextBoxes
。3 番目の列 「X」と4 番目の列 「Y」にラベルを付けましょう。これにより、 "xTextBox"と"yTextBox "というラベルの付いた2 つのTextBoxもあります。これらのテキスト ボックスでは、ユーザーが数値を入力できます。各テキスト ボックス (X および Y)に入力した数値(正、負、および/または小数点以下 3 桁までの小数) は、"X" 列の値に追加され、 「Y」列の値。
現在、このCODE (以下) を使用して "X" 列と "Y" 列を削除し、それらの値を異なるRichTextBoxes
ラベルの xRichTextBoxとyRichTextBoxに表示しています。
したがって、xRichTextBoxは次のようになります。
10.505
100.005
-10.000
-500.987
987.123
234.567
yRichTextBoxは次のようになります。
-174.994
174.994
-5.555
5-123
1.000
200.999
コード:
private void calculateXAndYPlacementTwo()
{
// Reads the lines in the file to format.
var fileReader = File.OpenText(filePath);
// Creates a list for the lines to be stored in.
var fileList = new List<string>();
// Adds each line in the file to the list.
while (true)
{
var line = fileReader.ReadLine();
if (line == null)
break;
fileList.Add(line);
}
// Creates new lists to hold certain matches for each list.
var xyResult = new List<string>();
var xResult = new List<string>();
var yResult = new List<string>();
// Iterate over each line in the file and extract the x and y values
fileList.ForEach(line =>
{
Match xyMatch = Regex.Match(line, @"(?<x>-?\d+\.\d+)\s+(?<y>-?\d+\.\d+)");
if (xyMatch.Success)
{
// grab the x and y values from the regular expression match
String xValue = xyMatch.Groups["x"].Value;
String yValue = xyMatch.Groups["y"].Value;
// add these two values, separated by a space, to the "xyResult" list.
xyResult.Add(String.Join(" ", new[]{ xValue, yValue }));
// Adds the values into the xResult and yResult lists.
xResult.Add(xValue);
yResult.Add(yValue);
// Place the 'X' and 'Y' values into the proper RTB.
xRichTextBox.AppendText(xValue + "\n");
yRichTextBox.AppendText(yValue + "\n");
}
});
}
たとえば、ユーザーが に「10.005」を入力、更新されxTextBox
たに「-20」をようになります。yTextBox
xRichTextBox
20.510
110.010
0.005
-490.982
997.128
224.572
更新され たものは次のyRichTextBox
ようになります。
-194.994
154.994
-25.555
-14.877
-19.000
180.999
これが行われた後、元のファイルの3 番目と 4 番目の列を更新された値に置き換えようとしています。
- 現在、ファイル内の値 (「X」と「Y」) を取得して個別
RichTextBoxes
に出力していますが、これらの値をそれぞれから入力された値に追加する方法がわかりませんTextBox
...どうすればこれを行うことができますか? - 「TextBox」値を使用して値が計算された後、
RichTextBox
これらの新しい値を取得して元のファイルに追加するにはどうすればよいですか?
**これらの値は常に同じであるとは限りません。
したがって、新しいファイルは次のようになります。
TEXT NEXT_TEXT 20.510 -194.994 0
TEXT NEXT_TEXT 110.010 154.994 90
TEXT NEXT_TEXT 0.005 -25.555 180
TEXT NEXT_TEXT -490.982 -14.877 270
TEXT NEXT_TEXT 997.128 -19.000 180
TEXT NEXT_TEXT 224.572 180.999 90