タイピング アプリケーションを作成しており、よく使用されるさまざまな単語を含むテキスト ファイルをプロジェクトに追加して、後で読み取ることができるようにしたいと考えています。ただし、[プロジェクト] -> [既存のアイテムを追加] に移動すると、VB コード ファイルをプロジェクトに追加するオプションしかありません。プロジェクトにテキスト ファイルを追加する方法はありますか? または実行時にファイルからデータをインポートする必要がありますか?
43793 次
1 に答える
18
プロジェクト リソース (Resx) バージョン:
このバージョンは、あなたの例での作業が少し簡単です!
- プロジェクトを右クリック
- プロパティを選択
- リソースセクションに移動
- 以下のスクリーンショットに示すように、リソース セクションの左上隅にドロップダウンが表示されます。
- ドロップダウンから「ファイル」を選択します。
- [リソースの追加] ボタンをクリックします。
- [ファイルの選択] ダイアログ ボックスが表示されます。
- ファイルを選択
- プロジェクトを保存する
このファイルにアクセスするには、次のようなものを使用するだけです...
Dim content As String = My.Resources.mytextfile
注: 拡張機能は必要ありません。これも厳密に型指定されます。
埋め込みリソースのバージョン:
- プロジェクトを右クリックします。
- Add->Existing Item に移動します。
- 右下にドロップダウンがあります (ファイル名の横)。
- 「すべてのファイル (*.*)」を選択
- ファイルの場所を参照します。
- ファイルを追加します。
ファイルを追加したら、ソリューション エクスプローラー ウィンドウでファイルを選択すると、「ビルド アクション」を選択できます。オプションから [コンテンツ] または [埋め込みリソース] を選択できます。
- Content : Application.GetContentStream( uri ) を使用して、(アセンブリと同じディレクトリにある) ファイルをストリームとして取得できます。このメソッドが機能するには、ファイルを「コンテンツ」としてマークしたときに VS が適切に追加する AssemblyAssociatedContentFile カスタム属性が必要です。
- 埋め込みリソース: ファイルを専用のアセンブリ マニフェスト リソースに埋め込みます。
から取られた; https://stackoverflow.com/a/145769/1305169
埋め込みリソースを選択した場合、テキスト ファイルを読み取るには、次のようなコードを使用できます。
Dim executing_assembly As System.Reflection.Assembly = _
Me.GetType.Assembly.GetEntryAssembly()
' Get our namespace.
Dim my_namespace As String = _
executing_assembly.GetName().Name.ToString()
' Load a text file.
Dim text_stream As Stream = _
executing_assembly.GetManifestResourceStream(my_namespace _
+ ".text1.txt")
If Not (text_stream Is Nothing) Then
Dim stream_reader As New StreamReader(text_stream)
Label1.Text = stream_reader.ReadToEnd()
stream_reader.Close()
End If
出典: http://www.vb-helper.com/howto_net_embedded_resources.html
于 2013-01-29T20:19:51.377 に答える