無料ブログはココログ

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

2019年6月22日 (土)

(790) Database や NoteTaker 内で計算したい。

(790) Database や NoteTaker 内で計算したい。

以前から、 Database や NoteTaker を書きながら(入力しながら)計算したいと思っていました。

2997 たとえば、図のような入力の時です。私の事務所では3種類の電気料金を払っています。電灯電力と夜間電力と、エレベータなどの三相の電力の料金です。支払う電気料を毎月 NoteTaker に記録しているのですが、合計金額もその場で計算して記録しておきたいのです。

シスマネ内で手軽に合計計算が可能なアプリケーションは、何種類かあります。
今回、シスマネのHpcalc、アプリとしての Dbcalc、LineCalc、CXP の4種類について、シスマネ内で合計計算をすませることができるか try してみました。

いろいろ工夫はしてみたのですが、上記のどれも、手軽には計算できませんでした。
結局、もっとも簡単手軽に計算できて、応用が可能なのは lotus123 を使うことでした。

そこで、lotus123を利用して手軽に計算する方法のことをお話しします。

2998 (1) 準備段階としてexkey.iniに一行を加えておきます。
「←この行を追加した」と記入してある一行です。
{F7}={F2}{Home}{Del}{Enter} という記述で、lotus123を画面に呼び出している状態で[F7]を押すことで、行頭の[']を削除するという動作です。

2997 (2) NoteTakerなどの画面で、計算したい領域(図の反転している文字列)をクリップボードに取り込みます。

2996 (3) Lotus123を起動して、A1セルと、C1セルにクリップボードからPasteしました。
 このときに、クリップボード経由の文字列の行頭に[']が挿入されていまので、数字としてではなく文字列として認識されています。

(4) カーソルをC1に置いておいて[F7]を押しました。セル内の行頭の[']が削除され、文字列から数字列に変わりました。数字列になって、lotus123のセル内で計算が行われ、51053と計算されました。
 [Fn]+[=]を押して、クリップボードにコピーしておきます。

2997 (5) NoteTakerに戻って、[Fn]+[+]を押してクリップボードからPasteします。
黒色反転部分の右側に51053の数字がコピーされた数字です。これで完了です。

当初にあげた4種類のシスマネ内で動作するアプリケーションは、2つまでの数字しか計算できないものが多いです。3つ以上の数字を計算できるのはlotus123以外にはありません。

シスマネ内で計算しなければならないシーンは多くはないのですが、Lotus123を使うことで手軽に計算できることがわかりました。

今後、便利に使っていこうと思っています。

[ご参考] 当初にあげたアプリケーションについては、以下の項目でお話ししたことがあります。

・シスマネのHpcalcについては、「(340)記録付き足し算 List Stat」でお話ししたことがあります。

・LineCalcについては、「(337)LineCalcの--最下行で機能する電卓のこと.(その3)」でお話ししたことがあります。http://we-love-

・CXPについては、「(344)テキストファイルで表集計CXP」でお話ししたことがあります。
 
・Dbcalcはクリップボードに取り込んだ数字をクリップボード内で計算する電卓ソフトの一種です。お話ししたことがあると思っていましたが、ブログ内ではお話ししたことがないことがわかりました。気が向いたらお話しします。

 

2019年6月18日 (火)

(789) 200LXの Exkey でアプリケーション起動を変更する

(789) 200LXの Exkey でアプリケーション起動を変更する。

前項に引き続いて、ブルーキーを押して起動するアプリケーションを変更することをお話します。
3998_1200LXのブルーキーの配列は、上の図のようになっています。

左から順に、ファイラー、アポイント、住所録、メモ、クイッケン、Lotus123、HPcalc、More、と並んでいます。
それらのアプリケーションの裏に(CTRLを同時に押すことで)、setup、ストップウォッチ、データベース、ノートテイカー、DataComm、DOS、ワールドタイム、システムマクロ、が起動できるようになっています。

しかし、初期設定の状態で、自分が頻回に使うアプリケーションが表に出ているわけではありません。
頻回に使うアプリケーションが裏(CTRLを同時に押すということ)に設定されているということもあります。
私の場合、頻回に使うのはアポイントメント、データベース、ノートテイカー、ファイラーなどです。
もっとも頻回に使うのは日本語入力FEP100です。

私は、200LXの上でその日や将来の予定を頻回にチェックします。また、Todoも頻回にチェックします。その日その時のできごとも、かなり頻回に記録しています。

データベースやノートテイカーを頻回に使うのだったら、 それらを Phonebook や Memo の裏に置いておく(CTRLキーを同時に押す)よりも、表側に出しておく(単独でブルーキーを押す)ほうが良いと考えるようになりました。
そうに考えて、 Phonebook のブルーキーを押したらデータベースが起動し、 Memo のブルーキーを押したらノートテイカーが起動するように設定しました。
このようにキー入力を変更するのに、まるはさん作成の Exkey というデバイスプログラムを使います。

今回、青色キーによるアプリケーションの起動を以下のように変更したので詳しくお話します。

3999_2私が頻回に使うアプリケーションは、日本語入力FEP100、アポイントメント、データベース、ノートテイカー、ファイラーなどです。(上の図)
そのほかに、Lotus123 や HP CALC も、使う頻度はかなり高いです。 Phonebook や Memo の使用頻度はあまり高くありません。DataCommやワールドタイムの使用頻度はさらに低いです。
ほとんど使わないようなアプリケーションは、ブルーキーから起動するのではなく、Moreから起動できればそれで十分です。

すべてのアプリケーションの中で、日本語入力FEP100の使用頻度が最も高いので、FEP100にはFilerキーを充てています。このことは、「(348)HP200LXでの日本語入力(FEP)起動キー」(2009年3月14日)でお話したことがあります。

また、「(A02)このセットの特異な操作体系(1)」(2010年2月24日)でも「日本語入力(FEP)起動キー」のことを詳しく説明しています。

Exkeyでの設定は、以下のような文字列をExkey.iniに加えることで実現させます。

 3997_1 さらに詳しく説明しますと、、、

(1) CTRLを押しながら Phonebook のブルーキーを押して Phonebook を起動させるには、
 {Ctrl+Phonebook}={Phonebook}
と書きます。

同じように

(2) CTRLを押しながら Memo のブルーキーを押してメモ を起動させるには、
 {Ctrl+Memo}={Memo}
と書きます。

(3) Phonebook のブルーキーを押して Database を起動させるには、
 {Phonebook}={Database}
です。

(4) Memo のブルーキーを押して NoteTaker を起動させるには、
 {Memo}={Notetaker}
です。

単にCTRLキーを押すか押さないか、つまり、(ブルーキーを押すという)表側で起動するか、と(CTRLキーを押しながらブルーキーを押すという)裏側で起動するかということでは、以上の(3)と(4)の書き方でよいのですが、ここでは2つのアプリケーションをトグルで切り替えられるように一行プログラムで設定してあります。

(5) ←(3)から変更
 {Phone}={Wait1}{<Database>!$1}{Phone}{Jump$2}{$1}{Database}{$2}
このプログラムによって、{Phone}のブルーキーを押したとき、
 ・Phoneが起動していればDatabaseを起動させます。
 ・(Databaseとかほかのアプリケーションが起動していて)Phoneが起動していなければ、Phoneを起動させます。

まぁ、つまりは Phoneと Databaseがトグルになっていて、どちらかが交互に起動するということです。
ただ、Databaseのほうを優位にしてあります。

(6) ←(4)から変更
 {Memo}={Wait1}{<Notetaker>!$1}{Memo}{Jump$2}{$1}{Notetaker}{$2}
上の(5)と同じような動作です。Memoと Notetakerがトグルになっていて、Notetakerのほうが優位です。

Exkeyの使い方については、「(作成中)exkeyによって操作がガラリと変わります」(2007年4月 9日)の項で書きかけたのですが、じゅうぶんには書ききれずに中途半端な「作成中」のままになっています。すみません。
ここでは説明途中のままになっていますが、exkeyは非常に便利なプログラムです。『ソフトウェアバイブル』やExkey.docを読んでみてください。私のブログ記事も参考にしてください。

今回お話した key200の設定も Exkeyの設定も、今後、また変わっていく可能性があります。
しかし、今のところ、この設定が 200LXの私の使い方にうまく合致していますので、とうぶん、この設定で使っていくつもりです。

(788) 200LXのデバイスプログラムkey200でダブルクリックを設定

(788) 200LXのデバイスプログラムkey200でダブルクリックを設定

200LXでキー入力したときに、そのキー入力を別の文字列入力に置換してしまうデバイスプログラムがあります。
ひとつは、もともと200LXに組み込まれているkey200で、もう一つは「まるは」さん作成のExkeyです。
どちらも便利なデバイスプログラムですが、使い方がちょっと難しいプログラムです。

そこで、この項ではkey200についてお話して、次項でExkeyについてお話します。

私の場合、頻回に行う一連の操作をシステムマクロに登録して、なるべく操作を簡略化するようにしています。
私は、Todoを管理するのにDetabaseを使っています。また、日誌を管理するのにNotetakerを使っています。
Img_232609どちらも同じような操作方法で、Todoのときは[Fn]+[F2]を押し、日誌のときは[Fn]+[F3]を押して入力しています。

システムマクロには、[Fn]+[F2] が押されたときに、Databaseを起動して→新しい項目を入力するために[F2]を押す、という操作を登録してあります。[Fn]+[F3] が押されたときには、Notetakerが起動されて同じような反応になります。

活動している日中は、Todoを記入するにしても日誌を記入するにしても、 [Fn]+[F2] あるいは[Fn]+[F3] を押せばよいのですが、暗闇で入力しようとするときに、ときどき間違ったキーを押してしまうことがありました。

私は、真夜中に目が覚めて新しいアイディアを思いついていることがあります。ところがそれを記録しないままで再び寝てしまうと、その何かのアイディアは朝になってすっかり蒸発してしまっています。「何かいいことを思いついたんだけどなぁ」という思いだけが残っていて、とても悔しい思いをします。

だったら、電灯をつけてメモできる環境にして、しっかりメモすればいいじゃないかとも考えますが、私の場合、そうすると完全に覚醒してしまって、再び寝ることができずに寝不足になってしまいます。

そこでkey200を利用して入力をさらに簡略化しようと考えていました。 key200を使えば、ひとつのキーをダブルクリックすることで、一連のキーを押すことを登録できます。今回は、[F2]をダブルクリックすることで [Fn]+[F2] を入力すると定義づけ、[F3]をダブルクリックすることで [Fn]+[F3] を入力すると定義づけました。

の動作をkey200で定義することを具体的にお話します。

3996_1key200というデバイスプログラムを使うことは、「(51)ダブルクリックの設定」(2006年5月10日)でお話ししたことがありますので、そちらも参照してください。

いままでは[alt]キーを2回押すことでアプリを終了させるという設定だけを使い続けていました。それが上の図の一行目の記述です。

今回は、[alt]キーのダブルクリックでアプリケーションを終了させる動作に加えて、[F2]あるいは[F3]をダブルクリックすることで、システムマクロが起動するようにしました。それが上の図の2行目と3行目です。下にその文字列を再掲しておきます。

======= mykeys.txt =======
^Alt Alt : Menu ^Menu Q ^Q  ! double clik of Alt key means [Menu][Q]
^F2 F2 : Fn F2 ^Fn ^F2 ! double clik of F2 key means [Fn]+[F2]
^F3 F3 : Fn F3 ^Fn ^F3 ! double clik of F2 key means [Fn]+[F3]
==========================

このように書いたmykeys.txtを c:\_dat に置いておきます。
key200の起動そのものは、autoexec.bat に、d:\bin\key200 c:\_dat\mykeys.txt と一行を加えておきます。
( autoexec.bat では シスマネを起動する 200 の前にこの行をおいておく必要があります)

以上のように設定することで、[F2]あるいは[F3]をダブルクリックすることで、[Fn]+[F2]あるいは[Fn]+[F2]を押したのと同じ動作をさせるようになります。

この設定で、真夜中に思いついたことを、はんぶん寝ぼけていても(笑)、200LXにメモすることができるようになります。
(そうできるといいなぁ、、、)

 

 

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項目のシステムマクロを変更するなら、この方法が楽だと思います。

より以前の記事一覧