TOP データ移植ツール

1. こんな掲示板を作っていたのですが、サーバーのシステムの関係で使えなくなりました。
データ構造 DATE=2003/11/02 COMMENT=またPCぼこっだ(壊れた)。塾の当初からのPCは次々と壊れる。もう少し、だましだまし使うことにしよう。それでもだめなら部品(ハードディスク)交換だ。
DATE=2003/11/01 COMMENT=こういう日を小春日和というんだろうか。雲一つないいい天気。さっそく布団を干した。
2. それでこんな掲示板にデータを移すことにしました。
データ構造
day=01 schedule=こういう日を小春日和というんだろうか。雲一つないいい天気。さっそく布団を干した。 喫茶店ヴィヨンに行って来た。今日から夢工房の和島さんの作品展をしている。
day=02 schedule=またPCぼこっだ(壊れた)。塾の当初からのPCは次々と壊れる。もう少し、だましだまし使うことにしよう。それでもだめなら部品(ハードディスク)交換だ。
day=03 schedule=白鳥ネットを自家サーバーに移動計画実施中。CGIなどのリンクを直さなければならないので大変。この日記帳は自家サーバーでは利用できない。いずれ代替プログラムにデータを移行しなければならない。
3. 元データを適当なフォルダー(この場合はマイドキュメント)にコピーします。
4. コピーされた元データファイルを適当なエディタ(この場合Peggy)で開き、データベース構造を検証します。
@エディタの編集画面の表示設定をします。
Peggy(エディタ)のツール→オプション→「編集」タブ→以下の「編集オプション」にチェックをつけます。
・「改行/EOF記号を表示する
・タブを表示する
・タブによりできたスペースを表示する
・半角スペースを表示する
・全角スペースを表示する

Aデータ構造の確認
<基本構造>
データ TAB データ TAB LF
<特殊構造>
データ TAB データ CR データ TAB LF
※データに挟まれたCR(改行)は前後を一つのデータにしてやらないといけない。
※データとして全角スペースもありますがこれはデータと考えて良さそうです。

5. TheCARDファイルの新規作成
ファイル→新規作成→「データベースファイル」をオン→次へ
「項目数だけを設定する」をオン、項目数10 (既定値のまま)で「次へ」→「次へ」→「次へ」
「保存する場所」は適当なフォルダ(一時的なので元データファイルと同じマイドキュメントなどに)
「ファイル名」は適当に(日記データ元 としました)付けます。
6. 日記データ元ファイル(TheCARD)に掲示板元データ(TEXT)を読み込む
ファイル→読み込み→テキストファイル
「読み込みファイル」参照→「ファイルの場所」▼をクリックしてマイドキュメントを開きます。
「ファイルの種類」すべてのファイルを選びます。
表示された掲示板元データ(この場合はcalendar.dat 拡張子は表示されていない)を選び「開く」ボタンをクリックします。
ファイル書式「項目区切り」として タブ[TAB] を 「カード区切り]として 改行[LF] を選択します。
他はそのままにして「実行」ボタンをクリックします。

 
読み込まれたデータを一覧表フォームで見てみます。同一データの中の改行(CR)も無視されてデータ構造が壊れることはないようです。
7. 純粋なデータとして、年・月・日・本文を別項目へ
「項目1」には共通の DATE= と / がありますのでこれを除き、年・月・日を独立した項目にします。
「項目2」にも共通の COMMENT= がありますのでこれを除き、本文 を独立した項目にします。
項目4〜7をそれぞれ 年 月 日 本文 と直します。(項目3は何かのために残しておきました)
次に計算式で年・月・日・本文にデータを入れます。
8. 移植先の掲示板データの検証
3.の要領で移植先掲示板データを適当なフォルダ(この場合はマイドキュメント)にコピーします。
コピーされたデータファイルを適当なエディタ(この場合Peggy)で開き、データベース構造を検証します。

<データ構造>
データ TAB データ LF
※例外なく上記のような構造をしていると判断しました。
※データとして全角スペースもありますがこれはデータと考えて良さそうです。
※問題は、掲示板の全てのデータが1個のファイルになっていないことです。2003年11月のデータは 2003-11.dat というように月ごとにファイルができています。
9. 移植先掲示板データとして、日・本文を別項目へ
「日」項目には共通の day= がありますのでこれを加えた「日」項目を独立した項目にします。
「本文」項目にも共通の schedule= がありますのでこれを加えた「本文」 を独立した項目にします。

@項目9・10をそれぞれ「移植先日項目」「移植先本文項目」と改名します。

A計算式で移植先掲示板データに書き換えます。
10. 日記データ元ファイルから、移植先掲示板にデータを出力する。
@元ファイルから月ごとのデータを出力しますから年・月の検索ダイアログを作成します。
<年の検索手順書作成>
「検索項目は 年 を選びます。
「検索語による指定」は 完全に 一致 「実行時指定」にチェックを付けます。
「実行時タイトル」として 年の検索 該当なし=終了 とします。
「手順書」ボタンをクリックして「手順書名」として 年の検索 で登録します。

※「実行時タイトル」に 該当なし=終了 のメッセージは検索が見あたらない場合ここで終了処理に分岐するための指示です。

<月の検索手順書作成>
「検索の種類」として「絞り込み」を選びます。
検索項目を「月」に移します。
「実行時のタイトル」を 月の検索 に直します。
「月の検索」で手順書を登録します。

A検索されたデータが日付の小さい順に並ぶようにソートする手順書も作ります。
Bファイル出力手順書を作成します。
ファイル→書き出し→テキストファイル
「書出ファイル」→参照→「保存する場所」移転先掲示板のデータファイルを選びます。
※このとき「ファイルの種類」
を全てのファイルに指定しないと拡張子.datファイルなどは表示されません。

すでにあるデータファイルを選んでいるので以下のような警告メッセージが表示されます。
この場合2003年11月のデータも移植元にある場合は「はい」でもいいですが、11月データに最新のデータがある場合は「いいえ」を選んでファイル名を別の月にします。


「ファイル名」を別の月にしました。この場合、拡張子.datも付けます。

「全項目を書き出す」のチェックをはずします。
「書出項目」は「削除」ボタンで「移植先日項目」「移植先本文項目」以外を削除します。
「項目名の出力」は「出力しない」を選びます。
「項目区切り」は「タブ[TAB]」を選びます。
「カード区切り」は「改行[LF]」を選びます。
「手順書」ボタンをクリックして 2003-10 と名前を付けて登録します。
「キャンセル」ボタンをクリックしてダイアログを閉じます。
※書出ファイル名が2003-10.datなのでこういう名前にしました。


11. ATCの設定(作業を自動化する)一度限りの移植であればATCまで作る必要はないかもしれませんが
マクロ→設定→新規
「カテゴリ」から 検索 を選びます。
「コマンド一覧」から ダイアログ検索 を選びます。
「手順書」から 年の検索 を選びます。
「ラベル」として 再 と入力します。
どんなラベル名でもかまいません。ジャンプの戻
り先です。

「次行」ボタンをクリックします。

「カテゴリ」から 条件分岐 を選びます。
「コマンド一覧」から 条件分岐 をクリックします。
「手順書」から 年の検索 を選びます。
「検索件数
」をオンになっていることを確認して
<= と 「値」 0 を選びます。
「成立時のジャンプ先」として 終了 と入力します。
ジャンプ先の 終了 はこの時点でまだ作っていません。
「次行」ボタンをクリックします。

「カテゴリ」から 検索 を選びます。
「コマンド一覧」から ダイアログ検索 を選びます。
「手順書」から 月の検索 を選びます。
「次行」ボタンをクリックします。

「カテゴリ」から 検索 を選びます。
「コマンド一覧」から ソート を選びます。
「手順書」から 日付順 を選びます。
「次行」ボタンをクリックします。


「カテゴリ」から フォーム を選びます。
「コマンド一覧」から カレントフォームの指定 を選びます。
「データベース」が 日記データ元 担っていることを確認。
「フォーム」から (一覧表) を選びます。
「次行」ボタンをクリックします。


「カテゴリ」から ファイル を選びます。
「コマンド一覧」から 書き出しテキストファイル を選びます。
「手順書」は 2003-10 担っていることを確認
「処理時にダイアログを表示する」にチェックを付けます。
「次行」ボタンをクリックします。


「カテゴリ」から ジャンプ を選びます。
「コマンド一覧」から ジャンプ を選びます。
「ラベル(E)」に 再 と入力します。
「次行」ボタンをクリックします。


「カテゴリ」から フォーム を選びます。
「コマンド一覧」から フォームの指定 を選びます。
「フォーム」から (一覧表) を選びます。
「ラベル(B)」に 終了 と入力します。
最後に「OK」ボタンをクリックします。


マクロ名 移植実行 と入力して「OK」ボタンをクリックします。

マクロ設定画面を閉じます。
11. 実行してみます
マクロ→実行

例えば 2003 と入力して「実行」ボタンをクリックします。

月を例えば 07 と入力して「実行」ボタンをクリックします。(あいまい検索なので全角も可)

「書出ファイル」のファイル名をこの場合は 2003-07.dat に書き換えます。(ファイル名は半角です)

「実行」ボタンをクリックすると、再び検索語の入力画面(年の検索)になります。
ここで終わる場合は、該当しないような数字を入力します。

ダイアログが閉じて終了します。

移植先の掲示板(日記帳)を開いてみるとちゃんとデータが表示されていることを確認しました。