Memo Guide

Memo アプリケーションのガイドです。

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

Memo Guid

  1. Memo は溢れる情報を一元管理するために作成したアプリケーションです。
    パソコンの中にも情報が溢れ、うまく管理しないと何がどこにあるか分からなくなります。
    このプログラムは、メモ情報やパソコン上の各種ファイル、ホームページ情報などを一元管理するのに威力を発揮します。
  2. Memo アプリケーションは TreeView と RichTextBox を利用してデーターを階層構造で管理します。
    長年愛用してきた初代 Memo アプリケーションは Windows C言語で作成していました。
    メモプログラムが作成するファイルは一部に特殊文字が含まれる TEXT 形式で、エディッタで内容を確認することが出来ます。
    初代のデータファイルは Shift-JIS で、制御文字には「.」を使っていました。
    「.」が一般の文章の中に広く使われるようになり、トラブルが多く「FF」に変更しました。
    特殊文字(FF)は、階層レベルを設定するために使われます。
    トップレベルは FFFF で、レベルが深くなるごとに1バイトずつ増え、FF の数によってレベルが決まります。
    FFFF に続くヘッダ部と日付部を区切るコードとして ':' が使われます。
    ヘッダ行の終了コードには CR/LF が用いられます。
  3. テキストコードが Shift-JIS から utf_8 に代わってきたこともあり、2019/07 Windows10 & Visual Studio 2005 の環境でリニューアルすることにします。
    初代 Memo アプリケーションは Windows C言語で作成していましたが、今回はC#を使うことにします。
    久しぶりの本格的なアプリの開発で、C言語からC#へのリニューアルとは言えそれなりに苦労しました。
    私はプロジェクトの構成がシンプルで解り易いので Form を作成する をベースに開発しましたが、自動生成のプロジェクトでも同じ要領です。
    自動生成のプロジェクトでは、ソースファイルの名前が Form1.cs になっています。
    また InitializeComponent() 関数は、Form1.Designer.cs で定義されています。
    Visual Studio 2019 を使うときは「C# Windows フォームアプリケーション(.NET Framework)」を選んで下さい。
  4. Memo アプリケーションのデータファイルの仕様です。
    連続する @@ が階層のレベルで、@@ が最上位のレベルです。
    連続することが無い文字を選んだ結果 @ を用いることにしました。
    従って連続する @ を文章として記録することは出来ません。
    初代 Memo アプリのデータを Memo2 で入力することが出来ます。
    Memo2 で保存すると変換され、初代 Memo で入力することが出来なくなります。
    Memo2 Application を利用するうちに、初代 Memo から Memo2 に自然に変換されることを想定しています。
    *.mem ファイルの例は memo2 Read File を参照して下さい。
  5. プログラムで使われる t_ で始まる領域は ArrayList です。
    m_ で始まる領域はプログラム全体に共通する大域変数です。
    名前 ITEM 説明
    t_lev レベル Tree View のレベルです(@ の数)
    t_ttl Title @ に続く NODE のタイトルです
    t_ymd 日付 項目が作成された日付と更新された日付です
    t_txt 本文 RichTextBox に表示する Text の本文です
    t_node node Tree View の何番目かを調べるために使用します
    m_Idx int ArrayList の Index です
    m_UP bool Memo Data のファイル更新フラグです
    m_SetTextbool RitchTextBox の設定フラグです
    m_str string 共通に使用する string 領域です
    m_sou string 検索する文字列です(パスワード兼用)
    m_des string 置き換える文字列です
    m_font Font フォント情報
    m_file string メモファイルのパスです
    m_sep char[] Word の区切り符号です
    ED_Path string テキストエディッタのパスです
    XML_File string 設定を保存する XML のパスです
  6. プログラムの実行に当たっては C:\TMP\ のフォルダーを使うので事前に作成しておいて下さい。
    m_file は、Memo2 を起動したときに入力される Memo2 データファイルのパスです。
    最初の内は m_file を入力してプログラムのテストを行います。
    XML_File は Memo2 の設定情報を保存する XML ファイルのパスです。
    XML ファイルが存在しないときは、既定値で起動します。
        string      m_file = "C:\\TMP\\Test2.mem";
        string      XML_File = @"c:\tmp\memo.xml";
    

[Next Chapter ↓] Memo Read File

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