Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Memo Guide
Memo Guide
Memo アプリケーションのガイドです。
前田稔の超初心者のプログラム入門
Memo Guid
Memo は溢れる情報を一元管理するために作成したアプリケーションです。
パソコンの中にも情報が溢れ、うまく管理しないと何がどこにあるか分からなくなります。
このプログラムは、メモ情報やパソコン上の各種ファイル、ホームページ情報などを一元管理するのに威力を発揮します。
Text
メモ帳などでは一個のファイルに一連の文章を記録しますが、Momo では多数の文章を階層構造で管理します。
ウインドウエクスプローラやホームページの階層構造をイメージして下さい。
メモを分野別/年月日順に記録したり、住所録を関係別に分けて管理することなどができます。
私はホームページやプログラムの情報を、言語別にファイルを分けて階層構造で記録しています。
パソコンファイル
パソコンに格納されているファイル名やフォルダ名を記述して管理します。
ファイル名をダブルクリックすると関連付けられたプログラムから開くことが出来ます。
(ウインドウエクスプローラなどでファイル拡張子と起動するプログラムを関連付けます)
画像ファイルをダブルクリックすると画像が描画されます。
Excelファイル(.xlsx)をダブルクリックすると Microsoft Excel が起動します。
Wordファイル(.doc)をダブルクリックすると Microsoft Word が起動します。
テキストファイルをダブルクリックすると Editor が起動して編集できます。
フォルダ名をダブルクリックするとフォルダに格納されているファイルの一覧が表示されます。
URL
気に入ったホームページのURLを記述して管理します。
URLのダブルクリックでブラウザが起動してホームページを開くことが出来ます。
検索機能
キーワードで検索して、該当ページを探し出すことが出来ます。
沢山の情報が溢れて、どこに何を記録したか解らないときに便利です。
検索と同時に置き換えの機能もサポートしています。
置き換え機能を利用して、単語の間違いなどを一括して修正することが出来ます。
リンク
一個のメモファイルでも便利ですが、複数のメモファイル(*.mem)をリンクすることにより、より使いやすい情報管理システムを作成することが出来ます。
メモプログラムのデータファイルは、拡張子が *.mem で保存されます。
記録されているメモファイル名をダブルクリックすると、そのメモファイルが開きます。
便利な保守機能
作成した文章は頻繁に「修正/削除/再編」が行われます。
Memo では、階層構造の Node を選択して「削除/追加/コピー/貼り付け」などを簡単に行うことが出来ます。
また同時に複数の Memo を起動して、相互に参照/コピーすることも出来ます。
Memo アプリケーションは TreeView と RichTextBox を利用してデーターを階層構造で管理します。
長年愛用してきた初代 Memo アプリケーションは Windows C言語で作成していました。
メモプログラムが作成するファイルは一部に特殊文字が含まれる TEXT 形式で、エディッタで内容を確認することが出来ます。
初代のデータファイルは Shift-JIS で、制御文字には「.」を使っていました。
「.」が一般の文章の中に広く使われるようになり、トラブルが多く「FF」に変更しました。
特殊文字(FF)は、階層レベルを設定するために使われます。
トップレベルは FFFF で、レベルが深くなるごとに1バイトずつ増え、FF の数によってレベルが決まります。
FFFF に続くヘッダ部と日付部を区切るコードとして ':' が使われます。
ヘッダ行の終了コードには CR/LF が用いられます。
テキストコードが 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)」を選んで下さい。
Memo アプリケーションのデータファイルの仕様です。
連続する @@ が階層のレベルで、@@ が最上位のレベルです。
連続することが無い文字を選んだ結果 @ を用いることにしました。
従って連続する @ を文章として記録することは出来ません。
初代 Memo アプリのデータを Memo2 で入力することが出来ます。
Memo2 で保存すると変換され、初代 Memo で入力することが出来なくなります。
Memo2 Application を利用するうちに、初代 Memo から Memo2 に自然に変換されることを想定しています。
*.mem ファイルの例は memo2 Read File を参照して下さい。
プログラムで使われる 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_SetText bool 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 のパスです
プログラムの実行に当たっては 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)