2017-09-19 7 views
0
私は私と友人がしている特定のグループをログに記録する小さなログプログラムを書いている

でCSV結果に追加します。VB.NET、誤った出力

を私はCSVファイルを作成するために、それを管理場所最初の行6つの列で正常に書き出されます。

この6つの列でファイルが作成されました。次の手順では、これらの6つのプロパティを記録する行を追加します。

ただし、これが発生するたびにログに記録されるのは、ログの最初の項目である日付のみです。

これは、メッセージをログに記録する手順です:

'And for each new entry, text will send to file here. 
      Dim outFile As IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter(csvFilePath, True) 
      outFile.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), uTime, currentPlayer, Telegram.bot.from_ID, Telegram.bot.message_id, Telegram.bot.message_text) 
      outFile.Close() 

性質がその順序で日付、タイムスタンプ、プレーヤー、PlayerID、メッセージIDとRPmessage、です。 しかし、私は日付だけが表示され、他のすべての5つの項目は表示されません。 私はここで何が間違っていますか?私はこの行を何度もチェックしましたが、私の目には何も見えませんでした。 Visual Studioでは、この関数が呼び出されてもエラーは発生しません。

+0

VS2015以降を使用している場合は、 'outFile.WriteLine(DateTime.Now.ToString(" yyyy/MM/dd HH:mm:ss ")&$"、{uTime}、{currentPlayer} {Telegram.bot.from_ID}、{Telegram.bot.message_id}、{Telegram.bot.message_text} ")'を含む。または、String.Formatを参照してください。あるいは、文字列を '&'で連結するだけです。 1つの文字列を渡すことを意図したときに、いくつかのパラメータを 'WriteLine'に渡します。 –

+0

'WriteLine'のパラメータを確認してください。あなたが渡しているものは、オプションの一つではありません。 –

+0

申し訳ありませんが、私はここで私の間違いを見ました(@ブライアン)。ヒントありがとうございます。 また、私は実際にさまざまな理由で、2012バージョンを使用しています。 (@Andrew) どのように私はこの多くの情報で私の問題を解決することができますか? – LilyBailey

答えて

0

アプローチを維持しながら、最初に書式文字列を追加するだけです。

outFile.WriteLine("{0,-20}{1,-20}{2,-20}{3,-20}{4,-20}{5,-20}", 1, 2, 3, 4, 5, 6) 

このフォーマット文字列は、20文字のフィールドに左揃えの6列のデータを作成します。明らかに、状況に合わせて数値を調整する必要があります。

+0

代わりにTABスペースのそれはあまり一般的ではなく、フィールドとフィールドの分離が容易です。列のサイズを気にする必要はありません。 –

+0

次に、@Andrewのオプションの1つを調べます。この場合、最後の方が良いかもしれません。 –

0

私はちょっとしたことをして、これまでのところ固定しました。限り、すべての項目

   outFile.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss, ") & unix + ", " & currentPlayer + ", " & Telegram.bot.from_ID + "," & Telegram.bot.message_id + ", " & Telegram.bot.message_text) 

はそれはきれいではありません、しかし、それが動作です: それはきれいではありませんが、私はこのようになります&文字を、追加する前に、それぞれの結果にカンマを&文字で出力を書いて、コメントを追加しました文字列です。

+1

'+'ではなく、文字列に物事を連結するには '&'を使うべきです。また、CSVファイルは通常、コンマの後に空白を入れないようにするのが普通です。 –

+0

"+"は各エントリの末尾にコンマを追加するためのものです。例として、文字列unixを参照してください。それはタイムスタンプを含んでいて、+でカンマを追加するだけでしたが、次の項目は&で追加されました。 – LilyBailey