質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

4061閲覧

文字列をカンマで区切る方法

tomorrowny

総合スコア19

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2015/05/17 09:09

編集2015/05/17 09:11

現在テキストファイルに保存された数値を読み込み,その位置にフォームを表示させるプログラムを作っています。

テキストファイルには
X1 , Y1
X2 , Y2
‥‥
‥‥
Xn , Yn
といった感じに数値が保存されており、各行のX座標、Y座標の値を読み込んで、その位置にフォームを表示させるようにしたいです。
ただこれを単純に読み込むだけでは,","で区切って読み込んではくれず,また","で区切られたものをX座標、Y座標とは認識しないので困っています。

どのような処理を行わせればいいか、どなたか分かる方教えていただけないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

こんにちは。

まずテキスト読み込みは、2つ案があります。

  1. StreamReaderで1行を読み込んだ後に、Splitを使ってカンマ区切りで分割させる。
  2. TextFieldParserでCSVとして読み込みを行う。

次にX座標Y座標の認識ですが、Form.LocationプロパティにPoint型で設定する必要があります。
下記例の100と200へ上記で取得してX、Yを設定してみてください。
尚その際は数値型へキャストしてください。

lang

1Form hoge = new Form(); 2hoge.Location = new Point(100, 200);

こんな感じでしょうか。

投稿2015/05/17 09:17

編集2015/05/17 09:19
Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

まず、ReadAllLines()でテキストから配列を取得後、整数の配列に変換してリストに入れる。

lang

1List<int[]> locationList = new List<int[]>(); 2 3string[] lines1 = File.ReadAllLines("Sample.txt", 4 System.Text.Encoding.GetEncoding("Shift_JIS")); 5 6int[] tmp = new int[]; 7foreach(var item in lines1) 8{ 9 string[] strTmp = item.Split(','); 10 tmp[0] = Convert.ToInt32(strTmp[0]); 11 tmp[1] = Convert.ToInt32(strTmp[1]); 12 locationList.Add(tmp); 13 tmp = new int[]; 14}

次にリスト内の整数配列をPointに変換して、フォームの位置に代入しては?

lang

1Form form1 = new Form(); 2form1.Location = new Point(locationList[0][0] , locationList[0][1]); 3Form form2 = new Form(); 4form2.Location = new Point(locationList[1][0] , locationList[1][1]); 5・・・

投稿2015/05/18 08:28

編集2015/05/18 08:53
KeiOkuma

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問