無料ブログはココログ

カテゴリー「7. 200LXの操作」の213件の記事

2018年1月24日 (水)

(729)「MQどす」を使って200LXからスマホに文章をエクスポートする

(729)「MQどす」を使って200LXからスマホに文章をエクスポートする

以前に200LXから携帯電話に文章をエクスポートすることをお話したことがあります。

0001今回は携帯電話にではなく、スマホに200LXから文章をエクスポートする話です。

私の場合、今でもHP200LXが個人の情報管理の中心になっています。自分の情報は200LX内でほとんど完結しているのですが、たまにスマホにエクポートしておきたいことがあります。そういうときに今回お話する方法を使います。

マクロプログラムの細かい設定などは、末尾にリストアップしてある(554),(557),(558)を読んでいただくのが良いので、ここでは、「MQどす」を利用する方法を簡単にお話します。

私は、自分が考えたことや日々の記録を、HP200LXのシスマネアプリのNote領域に書いています。そのため、スマホにエクスポートする文章は、Note領域にあるものをエクスポートすることが多いです。

以下がその具体的な手順です。

(1) エクスポートしたいレコードにカーソルを置いておいて、[Fn]+[F9]を押します。すると、[F9}のシステムマクロによって、Noteフィールドの文章が 0000c:\0000.txt というファイルにエクスポートされます。
 私の場合、この0000.txtというファイル名で、200LXからエクスポートしたり、インポートしたりしています。
 ファイル名キメウチということです。
 [F9]のシステムマクロの記述内容は、以下の1行です。
-----------
{F3}{F2}c:\0000.txt{F10}{F10}{Filer}{Filer}0000.txt
-----------

0002(2) バーコード表示するために、ファイラーから[-2bat.bat]のバッチプログラムを起動します。
 バッチの内容は、左図のようになっています。

(3) このバッチプログラムがで、200LXの画面に2次元バーコードが表示されます。

170720_2(4) スマホ側で、左図のバーコード読み取りアプリを起動します。

200834(5) 200LXの液晶画面に表示されたバーコードを読み取らせることで、日本語文章に変換されます。

(6) 文章が表示されている状態で、左図のように文章をクリップボードに取り込みます。

(6) 文章をクリップボードに取り込んでしまえば、あとはKEEPなどのような文章管理アプリケーションにコピペすることができます。

また、ブログ記事を200LXで書いておいて、スマホ経由でアップロードするなどのことができますし、クラウドにアップすることも自由自在です。

(参考)

(554)200LXで二次元バーコード生成 

(557)200LXで2次元バーコード(続報) 

(558)祝! 200LXでQRコード表示するプログラムが公開されました。 

2017年9月16日 (土)

(709-3)200LXのアポイントを(MEMOを使って)グーグルカレンダーにインポート。超簡単

(709-3)200LXのアポイントを(MEMOを使って)グーグルカレンダーにインポート。超簡単

200LXのアポイントをグーグルカレンダーにインポートする方法を(709)(709-2)でお話しました。

その後、(709-2)の中の[MEMO]を使ってファイルの記述を整形する方法を試してみたら、あっけないほど簡単でした。
「なんだ、こんなに簡単にできるなら、もっと前からグーグルカレンダーに移しておけばよかった」と思うほどでした。

そこで、ここに稿を改めて、[VZ]ではなく[MEMO]を使う方法を書いておきます。いちおう(709)も参照してください。

基本的には、(709)に書いた方法と同じです。VZエディターを使わずにシスマネの[MEMO]を使うというところが、(709)と違うだけです。必要なファイルは(709)からダウンロードしてください。

Datetime (709)の末尾に、「日時と時間のフォーマットを[MM/DD/YY]と[HH*MM AM/PM]の形式にしておいてください。VZのDEFファイルはこの形式を前提に動作するようにしてあります」と書きました。

この図のような形式にしておきます。

Margins また、[MEMO]のマージンは、この図のように255文字に設定しておきます。

Extensio さらに、[MEMO]で読み書きするファイルの拡張子は、「*」に変更しておくほうが手間が少なくてすみます。

--------------------------

先に大ざっぱな手順をお話しておいて、のちほど詳しい方法をお話します。

1. 200LXのアポイントから、Smart Clip機能を使うことで、各予定を一括して抽出します。
2. 抽出したファイルをVZエディターで加工します。
3. googleカレンダーで新規のカレンダーを作ります。
4. googleカレンダーの上で、従来のカレンダーと新規のカレンダーを同時に表示するようにしておきます。
5. 加工したファイルを、その新規のカレンダーにインポートします。
6. これで、元のカレンダーと200LXからインポートしたカレンダーが、合成されて表示されます。

以降が、詳しい手順です。

1-1. まず、200LXのアポイントにSmart Clipの定義ファイルを登録しておく必要があります。これは一回登録しておけば、作業のたびに登録する必要はありません。

 ・200LXの[memo]にSmart Clipの定義ファイル([smrt_clp.bin])を読み込んでその定義部分全体をclipboardにcopyしておきます。
  あとは[memo] は閉じてしまってかまいません。

 次に[Appoint] を開きます。

 ・何かのアポイントを画面に表示しておいて、[menu]→[Options]→[Smart Clip]と選びます。
 ・[Define]を選んで、画面が表示されたら、clipboard からpaste します。
 ・[OK]を選んでから、この定義に名前をつけます。ここでは、[copy to google] という名前にします。

 ・定義が登録されたら、[esc] を押して、もとのアポイントの画面に戻ります。これで Smart Clip の登録終了。

1-2. Smart Clip を利用して、アポイントから予定を一気にエクスポートします。

 ・アポイント画面で、[menu]→[File]→[Print] と選んでいきます。

 ・[Print]の画面では、[These Items]で何をエクスポートするか選びます。
  [Appointments & Events]が良いでしょう。
 ・いつからいつまでの予定をエクスポートするか、とりあえず9月1日から9月30日までをエクスポートすることにします。
 ・[Style]では[Cusutom]を選びます。
 ・[Cusutom]の窓の中に定義ファイルが表示されていますので、下矢印を押して(さきほど登録した)[copy to google] を選びます。

 ・[Print to]では[File]を選んで[OK]を選べば、ファイル名入力の画面が表示されますので、適当なファイル名をつけます。
  [201709.csv] とでもしておくかな。(ここで拡張子は csv としておきましょう)
  これで、9月分の予定を一括してファイルにエクスポートできました。

2-1. つぎは、[MEMO]を使って、[201709.csv]をgoogleが認識できる形式に整えます。

 Ggl_head・[MEMO]に、[ggl_head.csv]というファイルを読み込んで、表示される1行をclipboardにcopyします。
  あと、[memo] はいったん閉じます。

 ・再度、[MEMO]を起動して、先ほど作った[201709.csv]を読み込みます。
 ・この[201709.csv]を表示させておいて、いちばん先頭に、clipboardからpasteします。
  (このときは、いちばん上の行に[ggl_head.csv]の内容が表示されていて、その下に[201709.csv]の内容が表示されている状態です)

Replace  ・[F5]を押して、replace画面を出して、図のように[am]から「am]に一括置換(relace all)します。
  同様に、[pm]から「pm]に一括置換(relace all)します。

 ・これで、[201709.csv]のファイルは、グーグルが認識できる形式に変換されましたので、上書き保存します。

------以降は、(907)と同じです------

3-1. グーグルカレンダーでどのようにインポートするかは、詳しく説明されているサイトがありますから、ご自身で検索して調べてください。そのほうが、私がここで説明するよりも理解しやすいでしょう。

--------------------------

 ※ 新しいカレンダーを作ります。「201709]とでも名前をつけておきます。
 ※ 元のカレンダーと「201709]が同時に表示されるようにしておいて、、、
   と書きましたが、オリジナルのカレンダーにインポートするのではなく、別の「新しいカレンダー」にインポートするのがよいです。

   というのは、うまくインポートされなかった場合に簡単に消去できるからです。

   200LXのシスマネアポイントに一括登録する場合も、いったん別のアポイントファイルに一括登録しておいて、そのアポイントファイルをオリジナルのアポイントにマージします。

   これも、はじめからオリジナルのアポイントに登録してしまうと、ひとつずつ削除しなければらなずに手間がかかるからという理由からです。

2017年9月14日 (木)

(709-2)200LXのアポイントを(VZを使わずに)グーグルカレンダーにインポートする

(709-2)200LXのアポイントを(VZを使わずに)グーグルカレンダーにインポートする

前項(709)をアップロードしたあとで、記載されている方法で追認してみましたら、手順に不具合がありましたので、一部訂正してあります。

(709)ではVZエディターでファイルの内容を書き換えました。
(私にとって)VZエディターはとても使い勝手の良いアプリケーションで、まるで200LXに元から装備されていたかのように、具合よく動作してくれます。

しかし、VZエディターがなくとも、200LXの予定表をグーグルカレンダーに移すことができないかだろうかと考えていました。

考えた結果、200LXに装備されたアプリケーションだけでもほとんど同じことができるので、メモ代わりにここに書いておきます。自分が使い慣れた方法でファイル変換すればよいと思います。

さて、(709)では、
--------------------
1. 200LXのアポイントから、Smart Clip機能を使うことで、各予定を一括して抽出します。
2. 抽出したファイルをVZエディターで加工します。
3. googleカレンダーで新規のカレンダーを作ります。
4. googleカレンダーの上で、従来のカレンダーと新規のカレンダーを同時に表示するようにしておきます。
5. 加工したファイルを、その新規のカレンダーにインポートします。
6. これで、元のカレンダーと、200LXからインポートしたカレンダーが合成されて表示されます。
--------------------
という手順を書きました。

このうちの 1. と 2. は、200LXの内部アプリケーション(シスマネ)だけでできますので、具体的にお話しましょう。

まずは、200LX の[memo]を使う方法

A.  「2. 抽出したファイルをVZエディターで加工」というのを、200LXの[memo]で処理する方法です。

 ・[memo]は、デフォルトでは76文字で改行してしまいますので、一行で256文字まで改行しないように、設定の数字を変えます。
 ・[memo]に、(709)で作った[201709.csv]を読み込みます。

 ・「am」「pm」の文字の前に半角スペースを入れるのが目的です。(←VZエディターでしたことはこのことなんです)
 ・方法としては、「am」を「 am」に一括変換して、つぎに、「pm」を「 pm」に一括変換することで半角スペースを入れます。

 ・そのファイルを保存(save)します。

たったこれだけのことで、「2. 抽出したファイルをVZエディターで加工」の動作ができます。
[memo]では一括変換ができるというのがミソです。

もう一つのほうほは、lotus123を使う方法です。
lotus123は、本来は「数字」を扱いますが、ダブルクォーテーションで囲ってあれば「文字」も扱えます。

B. lotus123で扱えるファイルを作るためには、Smart Clip を少し変更しておく必要があります。

 ・「1. 200LXのアポイントから、Smart Clip機能を使う」ということを少し変えます。
 ・具体的には、Smart Clipの定義ファイルの中の「,」を「","」に変更します。
 ・そのようにSmart Clipの定義を変えておいて、一括抽出します。
 ・ファイルの拡張子は、[csv]よりも[prn]にするほうがlotus123では扱いやすいです。(csvのままでもよいですが)

 上に書いたように、「am」「pm」の文字の前に半角スペースを入れるわけですが、これには3つの方法があるでしょう。

 B-1. シスマネのシステムマクロを使う方法
 B-2. lotus123のマクロを使う方法
 B-3. lotus123の文字列関数を使う方法
 です。 B-1~B-3のうち、慣れている方法を採用することになるでしょう。

 文字列の加工が終了して、lotus123でファイルに出力するときに、ひと工夫が必要です。

 というのは、lotus123では、カンマで区切った(テキスト)ファイル形式で出力できないからです。

 そのために、カラムの間にそれぞれ列を挿入して、それらのセルの中に「,」「","」などを書いておいてから、ファイルに印刷する必要があるのです。

 以上のようないくつかの方法で、(709)と同じような処理が可能だと思います。

 この項を書きながら、あらためて考えると、A.の方法が比較的やりやすいかと思います。

2016年12月26日 (月)

(702) 突然アポイントのファイルが読めなくなってしまいました。

(702) 突然アポイントのファイルが読めなくなってしまいました。

アポイントのファイルが壊れて、スケジュールが読めなくなってしまいました。
何種類もの方法を試みて、最終的にデータを復活させることができたので、そのことをお話します。

122512月25日の朝、200LXのスイッチを入れてアポイントを見ようとしたら、ファイルが読み込めない状態になっていました。
[menu]→[file]→[open]でファイルを読み込もうとしても、「record not found」と表示されるだけで、予定が確認できません。
ファイルが壊れてしまったらしいのです。結果的には復活させることができましたので、その過程をお話します。

1226左の図で、カーソルを置いてあるのが、壊れてしまったAPPOINTのファイルです。
  
まず、行ったのは直近のバックアップファイルを探すことです。夜中の定期バックアップで保存されていたファイルはありましたが、そのバックアップファイルも壊れていました。(壊れてしまっているファイルを圧縮バックアップしていたということです)

次に新しいバックアップファイルとしては、1週間前のものが見つかりました。一週間の間に10件前後の予定が入れ替わっているはずなので、なんとか、壊れたファイルを復活させたいと考えました。でも最悪の場合、一週間前のファイルは無事であることが確認できました。

Scrn0000ファイル復活のためにまずやったことは、garlicでの修正復活です。壊れた[16_c.adb]というファイルに修正をかけて、[gar_new.adb]というファイルに出力させました。しかし、出力ファイルは修正されていませんでした。読み込み失敗でした。(このような作業をするときは、コピーして、ファイル名を変更しておくのが良いのです)

Scrn0001次には、appout.exeを使って、csvファイルに変換しようとしました。もし、csvファイルに変換することができれば、壊れているレコードを削除するとか修正して、再度adbファイルに構成することができるはず。
しかし、結果としては、「メモリが足りない」と表示されて失敗です。

メモリが足りないというので、母艦(windows XP)上で appout で処理させたのですが、やはりメモリが足りないという表示になってしまいます。失敗です。

P1070275aコネパクなら、修正しながら読み込むことができると記憶していたので、母艦のコネパクに読み込ませようとしましたが読みこめません。これも失敗です。

 

 

P1070297aHP-PIMではどうかと思って読み込ませてみたら、今度は成功!

 

 

P1070271母艦のHP-PIMには、読み込ませることができました。それでも、いくつかのレコードが再生されていな可能性はありますので、無事が確認されている一週間前のファイルと、内容を比べてみようと思っています。

「結論」
200LXに装備されているAPPOINTと、WINDOWS上のHP-PIMとは、プログラムのアルゴリズムが違うと聞いたことがあります。
そのために、結果的にファイルを復活させることができたのだと思います。

「できなければ、次の一手は?」
今回は、HP-PIMに読み込ませることでファイルを復活させることができましたが、もし、復活させることができなければ、あきらめて一週間前のバックアップを使うことになったと思います。

壊れてしまったシスマネのファイルを復活させる方法について、以下の項でお話したことがあります。

興味がある方はお読みください。

2017-0329 追記

今朝がた、またアポイントのファイルが読めなくなっていました。バックアップは10日前のものしか見つかりませんでした。

しかたなく、garlicで復活を試みて、結果的にはgarlicでファイルを復活させることができました。

やっぱりバックアップは重要ですね。

(173)ついでにバックアップのこともお話しておきます。 2008.01.14
http://we-love-200lx.cocolog-nifty.com/blog/2008/01/173_2a75.html
(220)シスマネのファイルを修復するgarlic 2008.03.15
http://we-love-200lx.cocolog-nifty.com/blog/2008/03/220garlic_86f2.html
(248)200LXのDataBaseファイルが壊れた. 2008.05.31
http://we-love-200lx.cocolog-nifty.com/blog/2008/05/248200lxdatabas_7e56.html
(379)200LXシスマネデータが壊れたときの対処. 2009.06.05
http://we-love-200lx.cocolog-nifty.com/blog/2009/06/379200lx-3669.html
(379)シスマネデータが壊れたときの対処. 2009.06.04
http://we-love-200lx.cocolog-nifty.com/blog/2009/06/379-c5a9.html
(383)壊れた200LXシスマネデータを救い出す。 2009.06.16
http://we-love-200lx.cocolog-nifty.com/blog/2009/06/383200lx-bd7a.html
(433)アポイントのデータベースが壊れていた! 2010.01.11
http://we-love-200lx.cocolog-nifty.com/blog/2010/01/433.html
(434
)壊れたアポイントからデータを救い出した方法 2010.01.11
http://we-love-200lx.cocolog-nifty.com/blog/2010/01/434-7da8.html

2016年7月30日 (土)

(680)キーボードマクロが使えるストリームエディタ (2)。

(680)キーボードマクロが使えるストリームエディタ (2)。

前項の続きです。実際にキーボードマクロを作って、それを埋め込んだ自動実行マクロファイル(defファイル)を作ります。そして、自動実行してみます。

Scrn0000今回使用するテキストファイルは、私のNoteTakerの内容をアウトプットしたファイルです。
===============
07/10/16  1:21 am DATA) 米雇用一転急回復.失速リスクひとまず回復
07/10/16  1:22 am DATA) 米、迎撃システム韓国配備.北朝鮮の暴発抑止.
07/10/16  1:26 am DATA) 米警官撃たれ5人死亡.黒人射殺に報復の可能性.
07/12/16  2:57 pm LX) 200LX底蓋のストラップをつけるあたりに割れがある.
07/15/16  3:33 pm 健康) どうも最近左目にメヤニが出る.見にくくなってくる.
07/27/16 10:35 am 健康) 左肩の痛みはだいたい引いたから、関節ではなく
07/27/16 10:41 am LX) 引越リストはとうめんtodoで管理する.
07/28/16  8:59 am IDEA) 男らしさと粗野・粗暴とは違います.女らしさと女々しさ
===============

上記のように、200LXの年月日の形式では、
>07/30/16 きょうは200LXブログの更新をした。
というように、月・日・年の並びになっています。

しかし、日誌ファイルを年・月・日の順でソートするためには、200LX形式の月・日・年の並びでは都合が悪いです。
>16/07/30 きょうは200LXブログの更新をした。
のように、年・月・日の形に変更する必要があります。

この変更を前項でお話したVZエディターのキーボードマクロを作って、自動実行させようと思います。
(この例は9行ですが、実際のファイルでは1000行近くあるのです)

実際にキーを押すのは、
[Right][Right][Right][Right][Right][Del][Del][Del][Ctrl+Left][Ctrl+v][Ctrl+v][Right][Right][/][Ctrl+Right][Right]
ということになります。

つまり、行頭から始めることとして、右矢印を5回押すことで、カーソルを「/16」の「/」の場所まで移動させ、[Del]キーを3回押すことで「/」「1」「6」の3文字をバッファに取り込みます。(この状態で「07/10/16」が「10/16」になっています)
次に[Ctrl+Left]を押してカーソルを行頭にジャンプさせて、[Ctrl+v]を2回押すことで、「16]をバッファからその場に取り出します。(この状態で「1607/10」になっています)
次に右矢印を2回押してから「/」を書き込みます。(これで「16/07/10」になりました)
最後に[Ctrl+Right]で行末にジャンプし、[Right]を押すことでカーソルを次の行頭に移動させて、終了とします。

このようにして、カーソルが行頭にある状態から始まって、一連の処理を行って、最後にカーソルが次の行頭に移動して、マクロ終了とするわけです。

このような処理で「07/10/16」から「16/07/10」に形を変えます。

VZエディターでのキーボードマクロは、
============
90 ^^ "" #d#d#d#d#d#g#g#g&12#u#u#d#d"/"#>#d
============
となっています。行頭の90というのは、[ctrl]+[6]のことです。「^^ ""」は無視してください。「#d#d#d#d#d#g#g#g&12#u#u#d#d"/"#>#d
」は暗号のようですが、キーを押した順番が表示されています。

例をあげれば、「#d」というのが右矢印の[Right]に相当し、「#g」というのが[Del]に相当します。

Scrn0003前項で示した repeat.def は下記のように変更させます。


========repeat.def ========
* M マクロ

85 "CTRL+\を繰り返す"   ;[ESC]^で外部マクロが使える。
:L            ;ここに^K_でCTRL+6のキーボードマクロをいれる
#d#d#d#d#d#g#g#g&12#u#u#d#d"/"#>#d

            ;VZ.DEFのあるディレクトリにREPEAT.DEFの名前で
            ;保存してください。
            ;呼び出すときは、「ESC」の後で、「^」です。
    (r<0)? >E    ;ファイル最後(OR文字列検索が見つからない)
            ;に達したら終了
    >L        ;
:E            ;
    #^        ;文頭にジャンプ

* P メニュー

1    "",36,1,30
    &85
*======== End of Add.def ========
ここで「#d#d#d#d#d#g#g#g&12#u#u#d#d"/"#>#d
」が変更されています。

Scrn0004あとは、VZエディターでファイルを読み込んでおいてから、行頭で repeat.def を実行させます。


Scrn0002それで、




===============
16/07/10  1:21 am DATA) 米雇用一転急回復.失速リスクひとまず回復
16/07/10  1:22 am DATA) 米、迎撃システム韓国配備.北朝鮮の暴発抑止.
16/07/10  1:26 am DATA) 米警官撃たれ5人死亡.黒人射殺に報復の可能性.
16/07/12  2:57 pm LX) 200LX底蓋のストラップをつけるあたりに割れがある.
16/07/15  3:33 pm 健康) どうも最近左目にメヤニが出る.見にくくなってくる.
16/07/27 10:35 am 健康) 左肩の痛みはだいたい引いたから、関節ではなく
16/07/27 10:41 am LX) 引越リストはとうめんtodoで管理する.
16/07/28  8:59 am IDEA) 男らしさと粗野・粗暴とは違います.女らしさと女々しさ
===============
に変ります。

今回は、「自動実行」の例として、一行の中にある文字の位置を変えることお話しました。
しかし、じょうずに工夫すれば、同じことようなを「文字列置換」でも行うことができます。
私の場合、通常は文字列置換で処理しています。

2016年7月29日 (金)

(679)キーボードマクロが使えるストリームエディタ (1)。

(679)キーボードマクロが使えるストリームエディタ (1)。

ストリームエディタでキーボードマクロが使えるはずがないですよね~(笑)。
ですから、今回の記事のタイトルは自己矛盾を含んでいます。
まぁ、はっきり言ってウソです(笑)。

真意は、「VZエディターを使ってストリームエディタで行うのと同じようなことをする」「その場合にキーボードマクロを利用することができる」ということです。

「ストリームエディタってなんのこと?」「何ができるの?」っていう方のために、先にBlueSkyの説明を書いておくと、、、
「ワープロやエディターで書いたり読み込んだりできるファイルに対して、同じ処理を、一行ずつ自動的に行うことができるデバイスプログラム」ということです。
(あとで、ウィキペディアからストリームエディタの定義を引用します)

ここで、「ワープロやエディターで書いたり読み込んだりできるファイル」といっているのは、テキストファイルのことです。

キーボードマクロのことはもうご存知ですよね。
テープレコーダーで声を一度録音したら、あとは何回でも再生できるのと同じように、200LX上でキーボードを押す動作を一回登録することで、何回でも同じ動作を行うことができる方法です。

さて、具体的な話に進みます。

今回お話するのは、VZエディターの上で、
(1) あらかじめ、繰り返し処理のためのdefファイル(マクロプログラム)を用意しておいて、
(2) 一行処理の手順をキーボードマクロで記録して、
(3) そのキーボードマクロをdefファイルに埋め込んで、
(4) VZエディターの上で、その外部マクロのdefファイルを実行させることで
(5) ストリームエディタで処理するのと同じようなことをする
ということです。

ところで、「ストリームエディタ」をwikipediaで検索すると、
>ストリームエディタ (英: stream editor) は、テキストエディタの一種であり、テキストをあらかじめ指定した手順により一括処理(バッチ処理)を行うソフトウェアである。
>ストリームエディタとしては、AWK、Perl、Ruby、Pythonなどのスクリプト言語を使用できる。
 と書いてあります。

処理するには、「あらかじめ指定した手順」が必要なんです。
その手順に従って「一括処理(バッチ処理)を行う」わけです。
もっとも有名なのは、sedですかね。(Stream EDitor の略でしょうか)

で、そのsedについては、
「sed basics - ストリームエディタの基礎」のサイトに、
http://www.aihara.co.jp/~taiji/unix-tips/a2asterisk/sed-howto-0.html
>ストリームエディタ sed は一行ずつ入力しフィルタする。スクリプトを指定することにより様々な編集を施すことができる
>利用者は、パターンスペースと呼ばれるバッファに対して、コマンドにより、文字置換や正規表現による置換が出来る。
 と(難しいことが)(笑)書いてあります。

一方で、wikipediaのストリームエディタ」の項では、スクリーンエディタについて、
>これに対して、スクリーンエディタやラインエディタは、人が対話的に使用するエディタである。
 と書いてあります。
スクリーンエディタっていうのは、BlueSkyの説明では、「プリントアウトできないワープロプログラムのこと」です。ここで説明しているVZエディターがこれです。
ラインエディタっていうのは、たった一行しか書けない(笑)エディタのことです。

sedなどのストリームエディタというのは処理「言語」ですから、その「言語」の習得が必要です。言語をある程度学習・習得して、正規表現による「スクリプト」を書ける必要があります。(その場でコマンドを書いて処理もできます)

今回の話は、まったく学習・習得しないで、ストリームエディタで処理するのと同じようなことをスクリーンエディタであるVZエディターでしている、その方法のことです。

で、すぐ本題に入ります。

I. VZエディターで、キーボードマクロを記録し始めるには、[ctrl]+[-]を押します。
キーボードを押すことで一連の処理を行ったあと、キーボードマクロを終了させるには、[ctrl]+[6]を押します。
(ほんとうは、[ctrl]+[6]だけじゃなくて、、[ctrl]+[ナントカ]のキーでも良いのですが)
(私の場合、ほかのキーとバッティングしないように[ctrl]+[6]としています)

これで、一連の動作(キーボードマクロ)が記録されます。(テープレコーダでいえば「録音」です)
同じ動作を実行するためには、[ctrl]+[6]を押します。(テープレコーダでいえば「再生」です)

すごく簡単なこの動作(録音)ができれば、同じ動作を何回でも繰り返すこと(再生)ができるわけです。
これは、200LXシスマネのシステムマクロとほとんど同じです。

キーボードマクロというのは、システムマクロと同じように、「自動実行」ではなく「手動実行」です。手動で[ctrl]+[6]を押すことで実行されます。

II. 次に、「自動実行」の話に進みます。

キーボードマクロの実行手順は、じつは、VZエディタの中に記録されています。
それを下に示す repeat.def の指定の場所に書き出すことで、「自動実行」のプログラムを作成することがでるんです。

Scrn0001その repeat.def の内容は以下のとおりです。「REPEAT.DEF」をダウンロード

========repeat.def ========
* M マクロ

85 "CTRL+\を繰り返す"   ;[ESC]^で外部マクロが使える。
:L            ;ここに^K_でCTRL+6のキーボードマクロをいれる
#c#<"@@"&13
            ;VZ.DEFのあるディレクトリにREPEAT.DEFの名前で
            ;保存してください。
            ;呼び出すときは、「ESC」の後で、「^」です。
    (r<0)? >E    ;ファイル最後(OR文字列検索が見つからない)
            ;に達したら終了
    >L        ;
:E            ;
    #^        ;文頭にジャンプ

* P メニュー

1    "",36,1,30
    &85
*======== End of Add.def ========

私自身が、このマクロの使い方を忘れちゃうことがあるので(笑)、使い方そのものをこのファイルの中に書き入れてあります。

1. 自動実行ファイル(defファイル)の作り方。

上に書いてあるように、前もって、この repeat.def をVZ.DEFのあるディレクトリに保存しておきます。

このdefファイルをVZに読み込んでおいて、上から4行目の「#c#<"@@"&13」が書いてあるところに、すでに記録してあるキーボードマクロ書き出します。
キーボードマクロの書き出し方は、ここに書いてあるように[ctrl]+[k]を押してから、[shift]+[-](アンダーバー)です。
前に書いてある「#c#<"@@"&13」は削除します。(前回マクロを使ったカスなのです)

たったこれだけで、新しい自動実行プログラムの作成は終了です。
書き直した repeat.def は、同名でも別のファイル名でもよいですから、保存しておきます。

2. 自動実行の方法。

キーボードマクロを記録した時に、実際にそのマクロがうまく動作することを確認しておく必要があります。
つまり、そのキーボードマクロを何回も実行してみるということです。
10回程度実行するだけなら、もともと、自動実行プログラムを作る必要がないです。

何百回とか何千回も同じ動作を実行したい時に、自動実行プログラムの意味があります。

キーボードマクロは、カーソルが行頭にある状態から始めます。そして、その一行について処理を行ったら、最後にカーソルを行末に移動させて、最後の最後に次の行の行頭に移動して終了となるようにしておきます。

つまり、キーボードマクロを、一行について処理をして、また、次の一行について処理をして、、、と一行ずつ処理するように構成しておきます。
一行ごとのその処理行為を、文末にブチあたる(エラーになる)まで、えんえんと何回でも実行せよというプログラムなんです。たんにそれだけの機能です。

(繰り返しの)自動実行を開始するには、(単発の)(手動実行の)キーボードマクロを実行する代わりに、[ESC]を押してから[shift]+[quicken]を押します。

すると、どのdefを選ぶかの画面になりますから、この repeat.def を選んで「enter]を押します。

3. すぐに実行が始まりますから、あとは自動実行マクロが終了(ストップ)するのを待ちます。

ここには詳しく書きましたが、じっさいにやってみればごく簡単な手順です。

もしも「やり方」を忘れたら、この repeat.def を vz に読み込んで、やり方を思い出せば良いだけです。

以上で、「キーボードマクロが使えるストリームエディタ」の話は終了っ。

次の項で、実際に使ってみることをお話します。

2016年7月25日 (月)

(678)システムマクロをテキストに。またその逆。txt2macとmac2txt。

(678)システムマクロをテキストに。またその逆。txt2macとmac2txt。

HP200LXは本当に使いでがあります。個人情報管理機器(PDA)としていろんなことができますが、その中でもシステムマクロという「自動実行機能」はたいへん便利です。
「ああ、コンピュータを使っているなぁ、、」と最初に実感する機能だと思います。

今回は、システムマクロの内容を編集しやすいようにテキストファイルに変換するtxt2macと、逆にテキストファイルをシステムマクロのファイルに変換するmac2txtというプログラムについてお話します。(この項目の下の方には、別の方法も書いておきます)

システムマクロのことは皆さんご存知のことと思います。
200LXで同じ動作を何回も繰り返し行おうときに、その操作を記録しておくことで、キー一発でその動作を何回でも行うことができる機能です。

ちょうど、スーパーマーケットの売り場で、テープレコーダーで繰り返し売り込みメッセージを流しているようなものです。
私が住んでいる神奈川県では見かけませんが、私が函館でよく行くスーパーでは、「サカナ、さかな、サカナ~、サカナを食べぇよぅ~」「サカナ、さかな、サカナ~、サカナを食べぇよぅ~」という歌がよく流れてきます。
テープレコーダーでは、「きょうはサカナが安いですよぅ~」って声を、一回録音すれば、あとは何回でも繰り返し再生できますね。

システムマクロも同じような機能で、一回、200LXの動作を記録すれば、同じ動作を何回でもえんえんと繰り返すことができます。詳しいことは、200LXのマニュアルを読んでみましょう。(ちょっと理解し難いかもしれませんが、、)

さて、システムマクロのファイルをテキストファイルに変換するmac2txt.exeというアプリと、逆に、テキストファイルをシステムマクロのファイルに変換するtxt2mac.exeの話に入ります。

このプログラムのread.meファイルには、
===========================================================================
システムマクロファイル<->テキストファイル変換ツール
   TXT2MAC.EXE
   MAC2TXT.EXE
    written by PFB02312 OGASA, FEB22,1997
===========================================================================
このツールはシステムマクロファイルとテキストファイルを相互変換するユーティリティです。
システムマクロは記録したマクロキーをファイルにセーブできますが、システムマクロ上でしか編集できません。そんなとき、あらかじめテキストファイルでマクロキーを設定し、エディタなどで編集してからシステムマクロファイルに変換できると便利なことがあります。
===========================================================================
と書いてあります。

Scrn0002「マクロのファイルをテキストファイルに変換しておけば編集が容易だ」ということです。
(図では、相互に変換したmacファイルとtxtファイルを表示しています)
「MAX2016C.MAC」をダウンロード
「MAX2016C.TXT」をダウンロード

テキストファイルを編集する場合に注意しておくことがちょっとあります。
read.meに書いてあるように、200LXのシステムマクロの記述では、
>TAB、改行は無視します。
>TABや改行の後に続く;は、コメントアウト記号です。
>次の改行が現れるまで、コメントアウトします。
ということです。
この特徴は、マクロ動作をわかりやすく書いておいたり、コメントを入れておいたりするのに都合が良いです。

Scrn0000ここで私とMAXさんのシステムマクロの例をあげておきます。
(下の文字列のスペースの部分は、実はtabが入っています)

======== max2016c.txt ============
{Fn+F3}="CallNoteTaker", ;ここはタイトル行

{NoteTaker}{F9}        ;Notetakerを起動し、ファイル呼び出し.
a:\pimdata\16diary.ndb   ;←ここに読み込むべきファイル名を書きます.
{F10}                ;OKを押してファイル名を確定.
{F2}{Date} {Time}        ;タイトル部分に日付と時間を記入.
{Enter}               ;
==================================

この例は、{Fn+F3}を押すことで、Notetakerを起動して、16diary.ndbというノートテイカーのファイルを呼び出して、新しくノートを書き込むマクロです。このファイルは日誌ように使っています。

マクロ動作としては、
(1){Fn+F3}を押すことで、Notetakerを起動。
(2)16diary.ndbファイルを読み込み。
(3)新しいレコードを作るために[F2]を押す。
(4)タイトル行に「日付」と「時間」を書き込み
(5)カーソルをNote部分に移動
という動作です。

今回お話する、mac2txtとtxt2macは、[F1]から[F10]まで記録してあるマクロ動作のファイルをテキストファイルに変換し、また、逆にテキストファイルからマクロファイルに変換するプログラムです。

マクロの動作の記述を、テキストファイルの上で編集できますから、とても楽に編集できるようになります。テキストファイルなので、記録や保存にも便利です。

さて、最後に「裏ワザ」のようなことを書いておきます。

Scrn0001この図で反転してある文字列のように、内容の一部分だけを何回も修正するのなら、別のところに書いておくのも便利なのです。

たとえば、AdressBook(住所録)に「macro-text]というようなレコード(項目)を作っておいて、そのNote部分に上の=== max2016c.txt ===の内容を記入しておきます。

そして、マクロ動作を編集したい時には、AdressBookのNoteの中で上の白黒反転してある部分を編集してしまいます。
ゆっくり確実に編集してから、=== max2016c.txt ===の部分をクリップボードにコピーして、システムマクロを開いて、Contents領域にペーストすればよいのです。

つまり、今回お話した2つの変換プログラムを使うのではなく、普段使っているクリップボードを利用するという方法です。

(AdressBookのNoteに保存しておくべきテキストは、前もって、システムマクロの該当部分からクリップボードを使ってコピーしておきます)(ここを保存場所にするわけです)

アプリケーションを横断して使えるシステムマクロもとても便利ですが、アプリケーションを横断して使えるクリップボードも同じように便利です。

1項目とか2項目のシステムマクロを変更するなら、この方法が楽だと思います。

2016年7月23日 (土)

(677)リストを書いておくのに使おうか.ふぃあさんのシスマネアプリ「fit」

(677)リストを書いておくのに使おうか.ふぃあさんのシスマネアプリ「fit」

Listmania_2ごく最近、立ち読みした『リストマニアになろう!成功者はみんなリストをつくっていた!!』の本は、けっこう面白かったので、そのお話をしたいと思います。

私が住んでいる東海道線の藤沢駅周辺には、ラッキーなことに「有隣堂」と「ジュンク堂」という大型本屋が2軒あります。
本屋さんっていうのは、私にとっては遊園地のように楽しい場所なので、週に何回となく本屋さんに行きます。

普通だったら、本を買うために本屋さんに行きますよね。でも、私の場合は「立ち読み」のためです(笑)。

内容が濃厚な本で、「立ち読み」しきれない本とか、記事内容をその場で記憶しきれない雑誌の場合は、仕方なく買ってきて自宅とか事務所で読みます。

読むべき本や雑誌は、購読している新聞の広告や書評、週刊東洋経済と週刊ダイヤモンドの書評、本屋さんで無料配布している「波」「本」「図書」などのPR誌をチェックして、200LXのTODOにリストアップしています。そして本屋さんに行ったときに、1時間くらいかけてだいたい10冊くらいを立ち読みします。

そのほかに、本屋さんで販売のためにディスプレイしてある本もざ~っと見まわして、手に取ることも多いです。

私の場合、年間で読む冊数は、雑誌も本もそれぞれ500冊くらいだと思います。

さて、『リストマニアになろう!』の本は、立ち読みですんでしまうようなシンプルな本でした。内容が薄いというわけでもないです。良い本です。

Amazon にアクセスして表紙とか内容を見ていただけば、本の内容は見当がつくでしょう。現時点では投稿されているレビューは1本だけなので、レビューからは本の内容を推察できません。

でもgoogleで検索で、「リストマニアになろう!」「ブログ」のキーワードで検索してみれば、本の内容を詳しく紹介しているブログが見つかります。そういうブログを読めば、著者の主張がさらによく理解できます。

今の時点で、この本に関して私がお勧めできるブログは、

★ライフハック!ブログと読書で人生を変えた徳本昌大のブログ
http://tokumoto.jp/2016/06/16885/

★活かす読書
http://ikadoku.blog76.fc2.com/blog-entry-2751.html

★elvescomのブログ
http://elvescom.hatenablog.com/entry/2016/06/10/141559

などです。

これらのブログを読めば、もう立ち読み以上に理解できると思います。原著を読まなくてもよいくらいでしょう。(ブログ提供者に感謝)

『リストマニアになろう!』に書いてあるリストは、一般的にいう「TODOリスト」ではないです。むしろ「チェックリスト」です。

上の★「活かす読書」ブログで例としてあげられているのは、
>仕事用リスト、会議用リスト、朝リスト、死ぬまでにやりたいことリスト、調べ物リスト、財政管理リスト、話すことリストなどなど
です。

上の★「elvescomのブログ」であげられている例は、
>著者がいつもつくっているリストは、「やるべきこと」「行きたい場所」「物語のアイデア」「試してみたいアプリ」「お気に入りのレストラン」「読みたい本」「予定しているイベント」など
だそうです。

リストの作り方、運用の仕方、その効用などは、上記のブログを読んだり、原著を読んだりしてみてください。

前置きが長くなってしまいました。すみません。(_O_)(ぺこり)

今回の話題の「200LXと各種のリスト」のお話に入ります。

私の場合、各種の「チェックリスト」は AdressBook に置いています。
このことは、「(82)Adressbookは住所録のみにあらず」
http://we-love-200lx.cocolog-nifty.com/blog/2007/04/82adressbook_a162.html
で書いているとおりです。

しかし、『リストマニアになろう!』の本を読んでから、「別の場所に、チェックリストだけを集めておこうか」と思うようになりました。
また、チェックリスト用には、今まで活用しているシスマネアプリ以外の、別のアプリケーションで管理しようと考えました。

7004アプリの第一の候補は、ふぃあさんの「TODO」でした。「TODO」は、
「(120)「ふぃあ」さんの[TODO]を使ってみよう」
http://we-love-200lx.cocolog-nifty.com/blog/2007/11/120todo_4f34.html
でお話したように、とても魅力的なアプリケーションです。

7005しかし、この図のように、残念なことに記入するノート部分が少し狭いです。

7003ふぃあさんのサイトを読んでいたら、「TODO」に似ているアプリケーションで「fit」というアプリケーションを発表していることに気が付きました。http://hp.vector.co.jp/authors/VA014919/

7002こちらのほうは、図のように、記入するノート部分が広くて、200LXのほとんど全画面を使っています。これもTODOのように魅力的なアプリケーションです。

それで、moreexmに登録して、さっそく使い始めました。

7001この図は、リストを保存するために、列を1列だけにして入力したようすです。
しばらく使ってみて、使い勝手がよいようなら、AdressBookに書いているチェックリストを「fit」のほうに移動しようと思います。

「fit」は、なかなか魅力的なアプリケーションなのですが、使い続けるかどうかまだわかりません。いちおう、使い勝手についても触れておきます。

シスマネのAdressBookやDataBaseやNoteBookが使いやすいのは、インクリメンタルサーチができるためです。このインクリメンタルサーチの機能のために、目的とするレコードに一瞬にしてジャンプすることができます。これは非常に使い勝手がよいです。

他方、ふぃあさんの「TODO」も「fit」も、視認性はよのですがインクリニックメンタルサーチ機能はありません。

7006インクリメンタルサーチ機能があると大量のデータを扱えますが、「TODO」も「fit」も200LXの「画面」の中で、内容とか見出しを読みながらデータを処理するという使い方になります。
魅力的なアプリケーションですが、大量のレコードを扱うには向いていない。
頻回に使う10~20種類くらいのチェックリストの管理には使いやすいだろうと思っています。(この図では、セルの内容を左端に表示させるモードにしています)

最終的には、使う頻度が比較的低いチェックリストをAdressBookに置いておいて、使う頻度が高いチェックリストを「fit」に置いておくという使い方になるような気がしています。いずれにしてもしばらく使ってみようと思います。

ふぃあさんのアプリケーション群は、どれも完成度が高くて魅力的です。

以下は、今回の記事に関連した過去の記事です。

(604)愛されるジジイになるために。雑誌プレジデントの記事から。
http://we-love-200lx.cocolog-nifty.com/blog/2012/10/604-68a4.html

(603)老後に後悔しないようにしたい。雑誌プレジデントの記事 12/10/26 記事
http://we-love-200lx.cocolog-nifty.com/blog/2012/10/603-4659.html

(172)年初の仕事 その2 08/01/13 記事
http://we-love-200lx.cocolog-nifty.com/blog/2008/01/172_0de5.html

(164)年初の仕事リスト 08/01/08 記事
http://we-love-200lx.cocolog-nifty.com/blog/2008/01/164_d201.html

(120)「ふぃあ」さんの[TODO]を使ってみよう 07/11/23 記事
http://we-love-200lx.cocolog-nifty.com/blog/2007/11/120todo_4f34.html

(82)Adressbookは住所録のみにあらず 07/04/24 記事
http://we-love-200lx.cocolog-nifty.com/blog/2007/04/82adressbook_a162.html

2016年7月22日 (金)

(676)検索して、目的とする記録が見つかってからの処理。

(676)検索して、目的とする記録が見つかってからの処理。

今回のお話は、HP200LXの修理情報など違って、読んでくださるみなさまのお役にはほとんど立たないかも知れません。しかし私としては大きな気付きだったのでお話しようと思います。

今回の話題は、「(670)HP200LX上で、複数の検索語で検索する」
http://we-love-200lx.cocolog-nifty.com/blog/2016/06/670hp200lx-db0a.html
の続編です。

(670)では、以下のように書きました。
>私の日誌情報はデジタルで日誌をデジタルで書くようになってからの約25年間の情報です。
>一日に10件くらいの日誌情報を書きますので、10万件くらいになっています。
>一件が100文字くらいまでの記録もありますし、1000文字を超えるような記録もあります。
>複数のキーワードで検索する必要があるのは、一件の日誌記録に多くの文字情報が入っている記録です。

実は、私が複数の検索語で検索したい記録は、文字数が少ない記録ではなく、文字数が多い記録なんです。

日々の雑事の記録は文字数が少ないです。文字数が多いのは、読んだ本の内容を書き留めている「読書記録」とか、その日の武道稽古の内容を詳しく記録した「稽古記録」などです。

文字数が多い記録は、もちろん多くの「行」を含んでいるのですが、検索の都合上「改行」を削除してあります。えんえんと文が続く形式になっています。

5006iこれは左の図を見ていただくほうが話が早いです。この中の数字は本の行数を示しています。
でも、この画面のように、は改行のない文字列は読みにくいですね~。
検索するのにはとても都合が良いのですが、検索で見つかってからがたいへんです。この見つかった行を読みやすくするまでの処理が面倒でした。

5004g(670)の記事を書いたあとで気がつきました。「NoteTakerに記録が残っているのだから、NoteTakerからテキストファイルにエクスポートすればいいじゃないか!」ということです。

このことを、生のイカと干物のスルメを例にしてお話してみます。
NoteTakerの記事はイカの状態です。それを、検索がしやすいようにスルメの状態に変形してあるんです。
生のイカを干物スルメにすることで、長期間保存できるようになりますね。それと同じように、検索の目的でNoteTakerの記録を変形してあるわけです。
変形してある記述を読みやすくするために、干物スルメを水にでも漬けて、生のイカにもう一度戻そうと考えていました。

5002eもう一度考えなおせば、保存されている過去のNoteTakerファイルには、元の記述が残っています。
検索によって、目指す記述が見つかったのですから、年月日と内容を手がかりにして、過去のNoteTakerファイルを呼び出して、そのページをファイルに書き出せばよかったのです。

干物のスルメを水につけるみたいな、変形圧縮した記述を読みやすくする必要はなかったのです。

NoteTakerのファイルとかページを呼び出す手順は、VZエディターのマクロやシステムマクロを使いますので、その手順のことは今回は省略しておきます。

さて、NoteTakerの目指すページが見つかったあとことに話を進めます。

5007j見つかったページをテキストファイルにエクスポートする手順は、[menu]→[file]→[print]と押して、適当なファイル名を記入するだけです。

Ncrn0000このようにテキストファイルに書きだされたあとは、普通に読むこともありますし、VZエディターでさらに加工することもあります。

下の図のように縦書き表示ビューワーのjupiterで読むこともけっこう多いです。

Ncrn0004

Mcrn0003_2

Lcrn0002_2

2016年7月 1日 (金)

(672)バッチプログラムで「あいまい」検索を処理する。

(672)バッチプログラムで「あいまい」検索を処理する。

2つ前の発言で、複数の検索語で検索するためのバッチファイルのことをお話しました。
複数のキーワードで検索することは、google検索と同じように「積集合」(and検索)であることを図で説明しました。
(670)HP200LX上で、複数の検索語で検索する
http://we-love-200lx.cocolog-nifty.com/blog/2016/06/670hp200lx-db0a.html
の記事のことです。

それが「積集合」なら、約2年前にお話した「あいまい」検索は「和集合」(or検索)ということになります。
(650)個人データの検索は「あいまい」検索で、することになるか 14/03/10 記事
http://we-love-200lx.cocolog-nifty.com/blog/2014/03/650-e208.html
の記事のことです。

今回の記事は、上記の「あいまい検索」の続編の意味があります。

Img_4199


「あいまい検索」の「和集合」のことも、(670)の記事と同じように図で説明してみましょう。(670)の記事と同じキーワードとして図を書いてみれば、左の図のように赤い線で囲った内部の集合のことです。

この「和集合」(or検索)も「積集合」(and検索)と同じように、イッパツで処理できるようにバッチプログラムを作りました。

 今回作ったバッチプログラムは、
======= -aimai3.bat =======
c:\bin\IZGREP %1 a:\vz\kjog1*.don >>c:\0new-iz.txt
c:\bin\IZGREP %2 a:\vz\kjog1*.don >>c:\0new-iz.txt
c:\bin\IZGREP %3 a:\vz\kjog1*.don >>c:\0new-iz.txt
rem
rem 以降は検索語を多くした場合の予備行
rem
;c:\bin\IZGREP %4 a:\vz\kjog1*.don >>c:\0new-iz.txt
;c:\bin\IZGREP %5 a:\vz\kjog1*.don >>c:\0new-iz.txt
;c:\bin\IZGREP %6 a:\vz\kjog1*.don >>c:\0new-iz.txt
sort <c:\0new-iz.txt >c:\1new-iz.txt
exit
rem 201*のdonファイルに対してあいまい3(6)語検索をかける。
rem ソートして並べ変える。
============================
という内容です。

このバッチプログラムと実際に使うときは、「(670)HP200LX上で、複数の検索語で検索する」でお話したやりかたとほぼ同じ方法です。

  コマンドラインで、
  -aimai3 秋子 あきちゃん アキ
  と入力して、[return]を押します。

これで、3つのキーワードで検索した和集合が得られます。
見やすいように、日付順でして目的達成ということになります。

「あいまい」検索の場合は、各キーワードで抽出した集合の間の重なり合う部分は、ほとんどないのですね。

より以前の記事一覧