MyDocument Text Read

MyDocument から TEXT FILE(utf8.txt) を入力します。

前田稔の超初心者のプログラム入門

プログラムの説明

  1. Windows Store では、クライアントが知らないうちにファイルにアクセスされるのを防ぐために、直接アクセス出来るフォルダーは限られています。
    Local Folder はアプリケーション間で相互に参照することは出来ませんが、Document Folder は参照が可能です。
    このページでは MyPicture に格納されている TEXT FILE(utf8.txt) を入力して TextBox に表示します。
    プログラムの実行に先立って、ウインドウ・エクスプローラなどを使ってピクチャ・フォルダー(OneDrive\ピクチャ)に utf8.txt を格納して下さい。
  2. Visual Studio Professional 2019 を立ち上げて、新規プロジェクトを作成して TextBox を張り付けます。
    TextBox の名前 "textBox" を確認して下さい。
    TextBox のサイズはプログラムで設定するので適当で構いません。
    詳細は C# Store Application を参照して下さい。
  3. MainPage.xaml.cs を選択して、MainPage() 関数を修正します。
    using に Windows.Storage を追加して下さい。
    Windows を 1200*800 に、TextBox を 640*400 に設定しています。
    AcceptsReturn = true; で改行を許可して下さい。
    using Windows.Storage; 
        public MainPage()
        {   this.InitializeComponent();
            Windows.UI.ViewManagement.ApplicationView.GetForCurrentView()
                .TryResizeView(new Size { Width = 1200, Height = 800 });
            textBox.Width = 640;
            textBox.Height = 400;
            textBox.AcceptsReturn = true;
            TextRead();
        }
    
  4. 続いて TextRead() 関数を定義します。
    MyDocument\画像\ から "utf8.txt" を入力して TextBox に設定します。
        private async void TextRead()
        {   StorageFolder picturesLibrary = await KnownFolders.GetFolderForUserAsync(null, KnownFolderId.PicturesLibrary);
            StorageFile file = (StorageFile)await picturesLibrary.TryGetItemAsync("utf8.txt");
            if (file != null)
            {   try
                {   string str = await FileIO.ReadTextAsync(file);
                    textBox.Text = str;
                }
                catch (FileNotFoundException)
                {   textBox.Text = "File NotFound";  }
                catch (Exception ex)
                {   textBox.Text = "Error reading";  }
            }
            else
            {   textBox.Text = "File Read Error Exception";  }
        }
    
  5. MyDocument にアクセスする為には manifest の設定が必要です。
    Package.appxmanifest をダブルクリックして、設定画面を表示します。
    機能タグから「ピクチャ ライブラリ」をチェックして下さい。
    (Web カメラ と マイクのチェックは不要です)

  6. コンパイル&実行すると "utf8.txt" から入力した Text が TextBox に表示されます。
    MyDocument にファイルを作成するプログラムは SDK MyDocument を参照して下さい。

【NOTE】

本来なら「ピクチャライブラリ」で無く「ドキュメントライブラリ」を使うべきなのでしょうが、設定画面に表示されません。
今回は仕方なく「ピクチャライブラリ」を使ってみました。

超初心者のプログラム入門(C# Frame Work)