0 2 Memo2 100331:190622 ★Memo2 Application の説明です 1 3 data file 2010/03/31:2019/06/22 utf_8 で書かれた Text 形式のファイルで、Text Editor で確認することが出来ます。 BOM 付きなので shift-jis として読み込んでも文字化けしません。 |
@@Memo2:100331:190622 ★Memo2 Application の説明です @@@data file:2010/03/31:2019/06/22 utf_8 で書かれた Text 形式のファイルで、Text Editor で確認することが出来ます。 BOM 付きなので shift-jis として読み込んでも文字化けしません。 @@@Program:151008:190622 ★Windows10 & Visual Studio 2005 で開発します。 @@@@Tree View:131027:190622 Tree View を利用して階層構造でデータを管理します。 連続する @ が階層のレベルで、二個続く @ が最上位のレベルで連続する @ を記録することは出来ません。 @@@@RichTextBox:151011:190622 RichTextBox を利用してデータの作成/編集を行います。 @@Memo:151011:190622 ★初代 Memo アプリは WindowsC++ で作成していました。 @@@data:151021:190622 Text Code が Shift-jis から utf_8 に代わってきたこともあり、 改めて C# で開発することにします。 @@@互換:151021:190622 初代 Memo アプリのデータを Memo2 で入力することが出来ます。 Memo2 で保存すると変換され、初代 Memo で入力することが出来なくなります。 @@ごみ箱:100331:190622 ごみ箱 @@@Delete:2015/10/08:2019/06/22 ごみ箱の中です。 c:\data\test\ffx2s.jpg "C:/HTML/PUBLIC/CS/AnimeBijin.htm" "c:\data\memo\hpmemo.mem" |
| 名前 | ITEM | 説明 |
|---|---|---|
| t_lev | レベル | Tree View のレベルです(@ の数) |
| t_ttl | Title | @ に続く NODE のタイトルです |
| t_ymd | 日付 | 項目が作成された日付と更新された日付です |
| t_txt | 本文 | RichTextBox に表示する Text の本文です |
ArrayList t_node = new ArrayList(); // TreeView node
|
/*★ Memo File の入力 前田 稔 ★*/
using System;
using System.Drawing;
using System.Windows.Forms;
using System.IO; // for File, StreamReader
using System.Text; // for Encoding
using System.Collections; //ArrayList
public class MyForm : Form
{
static ArrayList t_lev = new ArrayList(); // Level
static ArrayList t_ttl = new ArrayList(); // Title
static ArrayList t_ymd = new ArrayList(); // YYMMDD
static ArrayList t_txt = new ArrayList(); // Text Data
public MyForm()
{
ReadFile("C:\\TMP\\test2.mem");
}
static void Debug(int n)
{
Console.WriteLine("{0} {1} {2} {3}\n{4}",
n, t_lev[n], t_ttl[n], t_ymd[n], t_txt[n]);
}
static void ReadFile(string file)
{
StreamReader reader;
string str;
int pt, wk;
reader = new StreamReader(file, Encoding.GetEncoding("Shift_JIS"));
str = reader.ReadToEnd();
reader.Close();
if (str[0]!='@') str = str.Replace("", "@");
pt = str.IndexOf("@@");
if (pt<0)
{ MessageBox.Show("memo file ではありません","Error");
return;
}
for (pt = 0; pt < str.Length; )
{
pt = str.IndexOf("@@", pt);
if (pt < 0) break;
for(wk=pt; str[pt]=='@'; pt++);
T_lev.Add(pt-wk);
for(wk=pt; str[pt]!=':'; pt++);
T_ttl.Add(str.Substring(wk,pt-wk));
pt++;
for(wk=pt; str[pt]!='\n'; pt++);
T_ymd.Add(str.Substring(wk,pt-wk));
pt++;
wk = pt;
pt = str.IndexOf("@@", wk);
if (pt < 0) pt = str.Length;
T_txt.Add(str.Substring(wk,pt-wk));
}
Debug(0);
Debug(1);
}
}
class form01
{
public static void Main()
{
MyForm mf = new MyForm();
Application.Run(mf);
}
}
|
[Next Chapter ↓] Memo Layout
[Previous Chapter ↑] Memo Guide