教えて下さいNo.08052
hiroki さん 01/03/17 20:20
 
レジストリに関するマクロでwriteregstr文,writeregnum文は値を書き込みますが
削除する方法はありますでしょうか?
deletereg文はキーの削除で値に対する削除ではないと解釈してます。
それとも私のやり方が悪いのでしょうか?

[ ]
RE:08052 教えて下さいNo.08053
TAKA さん 01/03/17 21:10
 
TAKA です。

>レジストリに関するマクロでwriteregstr文,writeregnum文は値を書き込みますが
>削除する方法はありますでしょうか?

値を削除(文字列ならヌル、数値なら0)するためには、以下のよ
うにしたのでいいと思いますが、何か違うことがしたいのでしょう
か?

openreg "CURRENTUSER", "Software\\TAKA";
writeregstr "Path", "";
writeregnum "Count", 0;
closereg;

キーの中の値を全てクリアしたい場合は、全ての「値の名前」に対
して処理するしか方法はありません。

キーの中にどのような「値の名前」が入っているか分からない場合
は、writeregstrなどの第一引数に「値の名前」を指定出来ないわ
けですから、削除することは出来ません。

多分、hirokiさんは、キーの中の値を全て削除したいのではないで
しょうか?
その理由として、どのような「値の名前」があるか分からないとい
うことでは?
もしそうなら、先ほどの説明通り出来ません。
例えば、辞書として使用しているとか?


>deletereg文はキーの削除で値に対する削除ではないと解釈してます。

あっています。
#なぜ、キーの削除ではだめなのかな?
#キーを残したいなら、削除後に「createreg」でキーだけを作れ
 ますが。


もう少し、具体的に何をしたいのかを提示して頂けたら、よい方法
があるかもしれません。
#多分、ないと思いますが。
#「値の名前」に規則性でもあれば、何とかなるかも。


ちなみに、マクロのプログラミング等については、マクロ作者用の
専用会議室が用意されています。

[ ]
RE:08053 教えて下さいNo.08055
TAKA さん 01/03/17 22:20
 
TAKA です。

>>レジストリに関するマクロでwriteregstr文,writeregnum文は値を書き込みますが
>>削除する方法はありますでしょうか?
>
>値を削除(文字列ならヌル、数値なら0)するためには、以下のよ
>うにしたのでいいと思いますが、何か違うことがしたいのでしょう
>か?

値ではなくて、「値の名前」自体も削除したいのかな?
#削除方法はないと思いますが、必要性もないような。

もし必要なら、その必要性と要望を出せば、実装してもらえるかも。
#WindowsのAPIにあればですが。

[ ]
RE:08055 有り難うございます。No.08056
hiroki さん 01/03/17 23:33
 
TAKAさん、色々アドバイス有り難うございます。

説明不足でした。
仮に自分でdataというサブキーを作ってその中にwriteregstr等でdata1,data2...と
いう名前で
データを加えて行った時、不要になった「値の名前」もマクロで削除したかったので
す。
何故、削除したかったと言えば名前の一部に「data」が入っている
「値の名前」の数を簡単に数えたかったからです。
よく考えたら削除は値を0とし、名前が一致していても値が0だったら
数えないという方法なら問題無かったです。

> ちなみに、マクロのプログラミング等については、マクロ作者用の
> 専用会議室が用意されています。

申し訳ございません。

[ ]