0

私は自分自身のために何かを整理するためにこのプロジェクトを進めました。

私が持っているのはこれです:

+---Date---+----Time----+----Error-----------+
|24-24-2012|    4:42    | Warning - test/test|
+----------+------------+--------------------+

これで、少なくとも読み取りと書き込みのすべてが機能するようになりました。しかし、私が望んでいたようには進んでいません。

これらのテキストを次のようにしたかったのです。

Date (items.add)
time (subitem)
error (subitem)

私はそれを次のように書きたい:

date | time | error

プログラムがそれを読み取ると、次のことがわかります。

| = Start of subitem ( || end of subitem )

書き込み先のテキスト ファイルは次のようになります。

date | time ||| error || ( which means : time start+end / error start+end (add to subitem)

番組ビジュアルスタジオに知ってもらいたい( | 1x = subitems.add(" - And | 2x = ");

説明するのはかなり難しいです。もう少し複雑にしてみます。

| = subitems.add("<br>
|| = ");

ファイルの書き込みは次のようになります。

writer.writeline( | + "hello" + || + | + "test" + || );

テキストファイルは次のようになります。

| hello ||| test ||

プログラムが起動すると、次のように再度読み取ります。

Listview.additems.add( hello ) *with no | or ||*

テストは次のようになります。

listview.subitem( test ) *with no | or ||*

等々...


私のような自閉症を持つ人のために、スクリーンショットで説明します。

スクリーンショットはこちら

4

2 に答える 2

0

あなたが何を達成する必要があるかを完全に理解しているかどうかはわかりませんが、リストボックス内の各項目を特定のテンプレートに従うようにしたいということを理解していると思います.サブアイテムには別のテンプレートがあります - 少し意図的です。したがって、追加するアイテムの種類に応じてリストボックスに - を追加するときは、

listboxitem.template = isSubitem?subItemTemplate:mainItemTemplate;

そして、それがあなたの質問から私が理解したすべてです。それが理にかなっていることを願っています。

于 2012-07-24T03:24:54.170 に答える
0

したがって、応答を別の回答として追加します。コードは次のようになります。

using(StreamReader reader = new StreamReader(logFileName))
{
  StringBuilder currentItem = new StringBuilder();
  char currentChar;
  while (true)
  {
    if (reader.Peek() == 'specialChar')
    {
      if (currentChar == '|')
      {
        // This indicates that the currentItem is subItem
        AddNewSubitem(currentItem.ToString());
      }
      else
      {
        AddNewItem(currentItem.ToString());
      }
      currentItem.Clear();
      reader.Read();
    }
    else if (reader.Peek() != null)
    {
      curentItem.Append(reader.Read());
    }
    else
    {
      break;
    }
  }
}
于 2012-07-24T04:10:15.240 に答える