[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/09/19(Tue) 17:25
投稿者名:ひでと
Eメール:
URL :
タイトル:
UNDO,REDOの処理
始めて書き込みさせていただきます。
よくある、Undo,Redoを装備したいと考えているのですが、
操作された内容を記録する処理と、元に戻す処理、再操作する処理
等をどのように実現するのが良いのでしょうか。
サンプルのようなものがございましたら、お教えください。

投稿時間:2006/09/19(Tue) 17:34
投稿者名:
Eメール:
URL :
タイトル:
Re: UNDO,REDOの処理
> 始めて書き込みさせていただきます。
> よくある、Undo,Redoを装備したいと考えているのですが、
> 操作された内容を記録する処理と、元に戻す処理、再操作する処理
> 等をどのように実現するのが良いのでしょうか。
> サンプルのようなものがございましたら、お教えください。
mementoパターンを調べてみてください:
http://tinyurl.com/h3kpm

投稿時間:2006/09/19(Tue) 18:19
投稿者名:ひでと
Eメール:
URL :
タイトル:
Re^2: UNDO,REDOの処理
> > 始めて書き込みさせていただきます。
> > よくある、Undo,Redoを装備したいと考えているのですが、
> > 操作された内容を記録する処理と、元に戻す処理、再操作する処理
> > 等をどのように実現するのが良いのでしょうか。
> > サンプルのようなものがございましたら、お教えください。
> mementoパターンを調べてみてください:
> http://tinyurl.com/h3kpm
ありがとうございました。
JAVAの知識が無いもので、勉強してみます。

投稿時間:2006/09/20(Wed) 06:31
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: UNDO,REDOの処理
> 操作された内容を記録する処理と、元に戻す処理、再操作する処理
> 等をどのように実現するのが良いのでしょうか。

どのような場面(テキストボックス内とか)でどの程度の事をやりたいのかでも
違ってくるかと思うのですが、要は、保存したい状況を変数等に保存しておき、
必要によってそれを呼び出して再現するだけでは。
VB6.0 ではそのような便利な関数等はありませんので、自分で実装する事になりますし
処理内容によっては当然重くなって(処理速度も遅くなり)しまうので特定のコントロール
に関して実装するようにしたらどうでしょうか?
又は、VB2005 等でプログラムするとか。

投稿時間:2006/09/20(Wed) 09:03
投稿者名:ひでと
Eメール:
URL :
タイトル:
Re^2: UNDO,REDOの処理
ありがとうございます。
多種の重量を計算するプログラムをつくっています。
階層的なオブジェクトを1つのCollectionに記録している状態です。
この場合、「保存したい状況を変数等に保存」という事は、このCollectionの複製を
いくつか作っておくという事になるように思います。
多種の重量を計算する為(数十種類)、別のプログラムをshellで呼び出しておりますので、
簡単には実現できそうもありません。
社内(零細)で使用するだけなので、困難なものでしたらば、切り捨てようかと思っています。
ただ、何分始めてのことですのであきらめたほうがいいのか、勉強すべきかを悩んでいます。

> どのような場面(テキストボックス内とか)でどの程度の事をやりたいのかでも
> 違ってくるかと思うのですが、要は、保存したい状況を変数等に保存しておき、
> 必要によってそれを呼び出して再現するだけでは。
> VB6.0 ではそのような便利な関数等はありませんので、自分で実装する事になりますし
> 処理内容によっては当然重くなって(処理速度も遅くなり)しまうので特定のコントロール
> に関して実装するようにしたらどうでしょうか?
> 又は、VB2005 等でプログラムするとか。