■ 質問はここへ ■

前へ 次へ
No. 1196 (1195へのコメント)投稿者: Aone日付: 2004/04/09 02:16:47
題名 : 複数テキストメモマクロ(2)

dim shift,f$,s$
dim fn$
sel = popupmenu(item$)
shift = @@Shift
if sel = 0 then
exit proc
else
if shift = 0 then
call @@openFile (files$[sel])
@redraw = 0
@MoveFileTop
@FindStringBottom "(0"
@MoveFileTop
@redraw = 1
if @@SearchFound = 0 then
d$ = date0$
d$ = mid$(d$, 3, 2) + "." + mid$(d$, 6, 2) + "." + right$(d$, 2)
@MoveFileTop
@FindStringBottom "'"
if @@SearchFound = -1 then
@MoveEndLine
@Insert "'" + "(" + d$ + ")"
MoveWindow(@hwnd, 280, 130, 582, 480, TRUE)
@FileSave
else
@MoveEndLine
@Insert "(" + d$ + ")"
MoveWindow(@hwnd, 280, 130, 582, 480, TRUE)
@FileSave
end if
else
MoveWindow(@hwnd, 280, 130, 582, 480, TRUE)
end if
elseif shift = 2 then
fn = freefile()
open files$[sel] for output as #fn
close #fn
end if
end if
end proc

No. 1197 (1194へのコメント)投稿者: noraji日付: 2004/04/13 20:57:24
題名 : Re^6:マクロとどこでもホイールについて

>はじめまして、Aoneと申します。
>
>
>メモマクロは、なかなかいろんなことができるし、まるでメモソフトのようにもなります。
>他の方もいろいろ作られてますので、それも参考にされると面白いと思います。
>
>以下は、このマクロとは違うアプローチで作ったメモマクロです。
>マクロの勉強にもなると思います。

 AONEさんすばらしいマクロありがとうございます。やってみました。はじめにメモ用のファイルがずらっとできちゃうんですね。メモしたものを一度に一覧できるのがすばらしいです。CINEPHILEさんのおまけマクロで常駐リストにそのファイルを並べてみました。すると、移動キーですべてのファイルをぱらぱらとめくれるんです(^o^)。これはすごいメモソフトになったものだと思いました。
 今CINEPHILEさんのマクロとどのように使い分けるか考えています。楽しい悩みです。
CINEPHILEさんAONEさん本当にありがとうございます。ほかの人もこのマクロの良さを知って使えるといいですね。

 マクロのことはほとんど分かりません。でもこのマクロを使えるようにしただけでも満足です。日時の表記の仕方も変更できました。あと、マクロの中に"'"マークを扱っているようなんですがファイルにはそのような表示は出てきません。どんな意味があるんですか?また二回目にファイルを開くとそのときの日時がタイトルの後に出ます。その後開くたびに日時が変わるのかと思っていたのですが、三回目からは何も変化ありません。どのように考えればいいのですか。
 

No. 1198 (1197へのコメント)投稿者: Aone日付: 2004/04/15 23:46:29
題名 : マクロの作り方(1)

>マクロのことはほとんど分かりません。でもこのマクロを使えるようにしただけでも満足です。

返信、ありがとうございます、Aoneです。

私もnoraji さんと同じで、数ヶ月前まではマクロのマの字も分かりませんでした。学校も理工系ではないし、プログラム関係の仕事をしているわけでもありません。それでも、現在あの程度のマクロは作れるようになりました。

この掲示板でも過去ログを見ると、「マクロを勉強したい、どうしたらいいか?」というのをいくつか見受けられます。それぞれに回答は付いていますが、その後その方々がうまくマクロを作る技術を取得されたのかが、いつも少し気になり、今回もそう思い、結果、マクロを作るのはそれほど難しくないし、むしろ「はまる」くらいおもしろいものだし、はじめる年齢も若ければ若いほどよいということを伝えたくて、私事になりますが、ご参考になればと思い、簡単に書きます。

(1)
「マクロを勉強する書籍(テキスト)はないか?」と、いう質問を過去ログでも見かけます。直接、書籍_(テキスト)というものはないので、ユーザーの方が発表されている「講座」に目を通しましたが、読むだけでは、「マクロ技術取得」というところまではいたりませんでした。
(2)
手にはいる限りのマクロを集め、
1.どのようなマクロが現在作られているか?
2.マクロでどのようなマクロが出来るか?
ということも調べましたが、中身を見ると、ちんぷんかんぷんでした。
(3)
上記の作業をしている間、頭に浮かぶのは「こういうことも出来るのでは?」「ここは、この方がいいのでは?」「こういうマクロが欲しい!!」ということでした。
そこで思ったのは、

教科書がなければ自分で作ればよい。

と、いうことでした。
そこで、教科書(テキスト)とはどういうものか? どういう風にすれば、マクロが身に付くかを考えました。

No. 1199 (1197へのコメント)投稿者: Aone日付: 2004/04/15 23:47:44
題名 : マクロの作り方(2)

(4)
その間いろいろしたのですが省略して、ヘルプを読むだけでは私には無理があるので、結論を書くと、

1.読むだけでは身に付かない。とにかく作ること。
2.作ったものを添削してもらい、分からないところを説明してもらう。その繰り返し。
(5)
結局、大したことではなく、誰でも思いつく上記のようなことです。
(6)
その場合、単に尋ねるだけでは切りがないので、
1.他のマクロを見るなり、ヘルプを見るなりして出来る限りのことはする。(単に尋ねるだけのことはしない。)
2.そのやりとりを追体験することで、もともと私の個人的な話が、汎用的な教科書(テキスト)になる。
3.マクロには論理的に意味のないことは書いていないので、一行でも分からないところがあれば、曖昧にしない。
上記、3点を頭に入れてメーリングリストを作りました。 (もちろん無料。誰でも入れます。)
そこで私が提出した「問題」は、正確に数えてはいませんが、50をゆうに越えているのではないかと思います。

何でもそうですが、ただ立ち止まっているだけでは何も進みません。
「そうしたい」という思いがあれば何とかなるものです。

MLは事情があってヴァージョン2になりましたが、コンセプトは変わりません。
上記のような趣旨の「マクロ掲示板」があればよいのかもしれませんが、私は私の出来る範囲で、MLでしているので、マクロに興味ある方がMLに参加されていただけると幸いです。もちろん言うまでもなく、ただ参加するだけでは何も進みませんが...。

http://www.freeml.com/info/enjoysoftqx_2@freeml.com


かぶねこさん、上記宣伝のようなことになりましたが、私には多くの方がマクロのおもしろさを分かってもらいたいという一点があるのみです。「初心者掲示板」で場違いかつ、長文お許し下さい。

No. 1200 (1197へのコメント)投稿者: Aone日付: 2004/04/15 23:50:23
題名 : Re^7:マクロとどこでもホイールについて

前回のマクロについて簡単に解説します。
あのマクロは、WindowsAPIというマクロヘルプにも書いていないことを使っているので(MLで教わりました。)少々分かりづらいところもあります。

あのマクロの動作を簡単に書くと、初回でデータを保存するためのフォルダーとファイルを一気に作ります。

ですので初回には、ポップアップメニューには、その作られたファイル名が、凹み文字で記されます。

2回目に起動したとき、それが、■未使用■と表記され、選択して開くことが出来ます。

それを開くと、一行目に、はじめて開いた日付が表記されます。
その前にでもあとにでも、一行目であれば、何でもいいので文字列をいれます。
すると次回起動したときは、その一行目の文字列でポップアップメニューが表示されます。
さらにそのポップアップメニューの上で、Ctrlキーを押しながらメニューをクリックすると、その中身が消去されます。

>また二回目にファイルを開くとそのときの日時がタイトルの後に出ます。その後開くたびに日時が変わるのかと思っていたのですが、三回目からは何も変化ありません。どのように考えればいいのですか。

そんなわけで、日付については、作成日を自動記入してると言うことです。
おっしゃられるように毎回日付を「開いたとき」にすることも可能です。

No. 1201 (1200へのコメント)投稿者: Aone日付: 2004/04/15 23:50:58
題名 : Re^8:マクロとどこでもホイールについて


if in$ = "" then
item$[i] = right$("0"+trim$(str$(i)),2)+"| "+in$+"■未使用■"
else
item$[i] = right$("0"+trim$(str$(i)),2)+"| "+in$

in$というのは、そのファイルの一行目の内容。さらにはそれを利用して、ポップアップメニューの項目名にもなります。
if in$ = "" thenは、日本語にすると、そのファイルの一行目が何も記入されていなければ、つまり何も書かれていない、ときは、 right$("0"+trim$(str$(i)),2)+"| "+in$+"■未使用■"が、item$[i]になり、elseそれ以外、つまり一行目が表記してあるつまり一度でも開かれているときは、■未使用■をはずし、in$だけがポップアップメニューに表示されます。つまり、そのファイルの一行目の内容。


>日時の表記の仕方も変更できました。あと、マクロの中に"'"マークを扱っているようなんですがファイルにはそのような表示は出てきません。どんな意味があるんですか?'(04.04.15)

もともとこのマクロにはオリジナルがあります。
私が、MLで出した「問題」にitamさんに回答をいただきました。それをメモマクロに改造したものです。

そのマクロは、メモマクロではなく、マクロをテストするためのマクロでした。
マクロのコメントアウトは、"'"が、マクロ対応としても残してあるのでした。

もし一行目に、
'hogehoge
と書かれていたとしたとき、ポップアップメニューにしたときには、この"'"をはずして表示されます。さらにこれで、一行目に文字列があるかどうかの判定もしています。

MoveWindow(@hwnd, 280, 130, 582, 480, TRUE)

は、WindowsAPIで位置、大きさを規定してしまっているので、はずした方がいいかも知れません。全画面でお使いの場合、いろいろ数値を変えてみるとタイトルバーだけにする、マックシェードのようなことも出来ます。

面白いです(∩.∩)

No. 1202投稿者: 浮き草人日付: 2004/05/13 10:03:09
題名 : 「検索コンボ」の履歴文字を消したい。

はじめまして、お世話になります、QXユーザになって2ヶ月のものです。

「検索コンボ」に検索した文字が残ってしまいますが、この履歴を
消す方法がわかりません?、アドバイスお願いできませんでしょうか。

また、検索文字の強調は、1個づづたどって強調(検索)になりますが、
画面にある検索文字を全て強調表示にできると好みに合うんですが、
このようなマクロとか設定とかはできないものでしょうか?

多くの点でカスタマイズできるQXにびっくりしながら使用させて
いただいています。
ご教示お願いできると幸いです、よろしくお願いします。

No. 1203 (1202へのコメント)投稿者: かぶねこ HP日付: 2004/05/13 12:23:51
題名 : Re:「検索コンボ」の履歴文字を消したい。

>「検索コンボ」に検索した文字が残ってしまいますが、この履歴を
>消す方法がわかりません?、アドバイスお願いできませんでしょうか。

消す方法はないと思います。普通は履歴を消す必要もないのでは。
どうしても消したい場合、設定の書き出しをレジストリではなく設定ファイルに
変更して、そのどこかにある履歴データを編集すれば消えるとは思います。
……ということはレジストリのその箇所を編集してもいいのですが、
ちょっと危険ですし。

>また、検索文字の強調は、1個づづたどって強調(検索)になりますが、
>画面にある検索文字を全て強調表示にできると好みに合うんですが、
>このようなマクロとか設定とかはできないものでしょうか?

キーワードファイルに文字列を追加して、このキーワードファイルについて
QXエディタ内からリセットをかけると、この文字列が強調表示できます。
この手順をマクロ化すればマクロにもなると思います。

マクロ作成についてはここでは基本的に扱っていませんので、
QXメーリングリストかマクロメーリングリストで相談してみてください。

No. 1204 (1203へのコメント)投稿者: 浮き草人日付: 2004/05/13 13:54:12
題名 : Re^2:「検索コンボ」の履歴文字を消したい。

かぶねこ様
どうも即刻のResにてありがとうございます。質問してみてよかったです。

>>「検索コンボ」に検索した文字が残ってしまいますが、この履歴を

>消す方法はないと思います。普通は履歴を消す必要もないのでは。
>どうしても消したい場合、設定の書き出しをレジストリではなく設定ファイルに
>変更して、そのどこかにある履歴データを編集すれば消えるとは思います。

QXW$$$.INIはレジストリQX,1 になるんですね、「検索コンボ」には
20個ほど履歴がのこるみたいですね。
「QX 豆知識」にも書いてありましたね、概略を知ることができました。


>>画面にある検索文字を全て強調表示にできると好みに合うんですが、
>>このようなマクロとか設定とかはできないものでしょうか?
>
>キーワードファイルに文字列を追加して、このキーワードファイルについて
>QXエディタ内からリセットをかけると、この文字列が強調表示できます。
>この手順をマクロ化すればマクロにもなると思います。

はあ、概念として理解できそうですが、実際のマクロとなるとぜんぜん
書けないんですね。
マクロ師様で、もしこの私の希望をかなえていただける事ができればと
祈念しています。

いろいろご教示いただき感謝します。
また、マクロ師様よろしく取上げてくださいね。

No. 1205 (1202へのコメント)投稿者: CINEPHILE日付: 2004/05/13 17:20:27
題名 : Re:「検索コンボ」の履歴文字を消したい。

>また、検索文字の強調は、1個づづたどって強調(検索)になりますが、
>画面にある検索文字を全て強調表示にできると好みに合うんですが、
>このようなマクロとか設定とかはできないものでしょうか?

かつて Emacs の isearch のようなマクロをこっそり公開している方が
いらっしゃいましたが、現在は入手できなくなっています。
やや処理が重くなるかもしれませんが、
画面上のすべての候補を強調表示することもできたはずです。

したがって、技術的には可能なはずですが、かなりの離れ業なので、
誰にでもできるというものでもありません。
メーリングリストで依頼すればひょっとすると応じてもらえるかもしれませんが、
あまり期待しないほうがよさそうです。

# 簡単ではないかもしれませんが、作者に要望してみるというのもあるかも。

次へ
現在の既読番号は 0  既読を


メールアドレスを表示するにはURLの後ろに &m=7e5ebc02 をつけてください。
ユーザー フォーラム一覧

http://www2k.biglobe.ne.jp/~araken/
http://0ban.com/araken/