<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://www15.atwiki.jp/comp5/">
    <title>kksoulpageソフトウエア @Wiki</title>
    <link>http://www15.atwiki.jp/comp5/</link>
    <description>kksoulpageソフトウエア @Wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2012-01-05T12:37:42+09:00</dc:date>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="http://www15.atwiki.jp/comp5/pages/22.html" />
                <rdf:li rdf:resource="http://www15.atwiki.jp/comp5/pages/23.html" />
                <rdf:li rdf:resource="http://www15.atwiki.jp/comp5/pages/2.html" />
                <rdf:li rdf:resource="http://www15.atwiki.jp/comp5/pages/13.html" />
                <rdf:li rdf:resource="http://www15.atwiki.jp/comp5/pages/9.html" />
                <rdf:li rdf:resource="http://www15.atwiki.jp/comp5/pages/14.html" />
                <rdf:li rdf:resource="http://www15.atwiki.jp/comp5/pages/18.html" />
                <rdf:li rdf:resource="http://www15.atwiki.jp/comp5/pages/17.html" />
                <rdf:li rdf:resource="http://www15.atwiki.jp/comp5/pages/8.html" />
                <rdf:li rdf:resource="http://www15.atwiki.jp/comp5/pages/7.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="http://www15.atwiki.jp/comp5/pages/22.html">
    <title>アンケートMIXI</title>
    <link>http://www15.atwiki.jp/comp5/pages/22.html</link>
    <description>
      シリアルナンバーを送ってもいいですか？
#vote(はい[13])

#comment    </description>
    <dc:date>2012-01-05T12:37:42+09:00</dc:date>
  </item>
    <item rdf:about="http://www15.atwiki.jp/comp5/pages/23.html">
    <title>ラバーバンド（マウスドラッグデザインパターン) delphiy用</title>
    <link>http://www15.atwiki.jp/comp5/pages/23.html</link>
    <description>
      //ラバーバンドを制御するためのデザインパターンです
TDRAG を継承して

   Tdrawline = class(TDRAG)
draging:Boolean;
dp:tpoint;
function beginovertest(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer;_me:MOUSEEV):Boolean;override;
function begintest(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer;_me:MOUSEEV):Boolean;override;
function overtest(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer;_me:MOUSEEV):Boolean;override;
function droptest(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer;_me:MOUSEEV):Boolean;override;
end;

{ Tdrawline }

function Tdrawline.beginovertest(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer; _me: MOUSEEV): Boolean;
begin

end;

function Tdrawline.begintest(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer; _me: MOUSEEV): Boolean;
var
dfrom:tform2;

begin

dfrom := tform2(sender);

selflag := false;
Result := false;
dp.x := x;
dp.y := y;




//dfrom.memo1.Lines.Add(&#039;aaaa&#039;);


    if dfrom.ToolButton3.Down then
 begin
    Result := True;

    dp.X := x;
    dp.Y := y;



 end;
end;

function Tdrawline.droptest(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer; _me: MOUSEEV): Boolean;
begin

end;

function Tdrawline.overtest(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer; _me: MOUSEEV): Boolean;
var
dfrom:tform2;

begin

dfrom := tform2(sender);




 if ssRight in Shift  then
 begin
 dfrom.mainbase.bit4.Canvas.Pen.Color := clwhite;
  dfrom.mainbase.bit4.Canvas.Pen.Width := 10;
 end else begin
 dfrom.mainbase.bit4.Canvas.Pen.Color := dfrom.Panel2.Color;
  dfrom.mainbase.bit4.Canvas.Pen.Width := 4;
 end;



dfrom.mainbase.bit4.Canvas.MoveTo(dp.x+dfrom.wo.X,dp.y+dfrom.wo.Y);


                     
dfrom.mainbase.bit4.Canvas.LineTo(x+dfrom.wo.X,y+dfrom.wo.Y);

//再描画
dfrom.DubBPaintBox1Paint(sender);

dp.x := x;
dp.y := y;
end;

FormCreateフォームを初期化する関数あたりでこうします


procedure TForm2.FormCreate(Sender: TObject);
begin


    menz := TDRAGSTATEMNZ.Create;


          menz.draglist.Add(Tidoview.Create);// ドラッグドロップ操作で一番目にbegintestされる
//begentestにてtrueを返すと 2番目のTmovebitpapのbegentestは実行されずにドロップ操作が終わるまで
//このオブジェクトが機能するようになります

      //

     menz.draglist.Add(Tmovebitpap.Create);

    menz.draglist.Add(Tdrawline.Create);// 3番目にテストして begintestにてtrueになったばあいそのオブジェクトの
//自動的にドラッグアンドドロップ操作で  overtest-&gt; droptest となり　ウインドウのドラッグ操作について
//制御しやすい（？？？）オブジェクトデザインパターンになっています。

     //

    menz.draglist.Add(Tseldrag.Create);
      //
     menz.draglist.Add(Tdrowline2.Create);
あん

TDRAGSTATEMNZのdraglistに追加しますそうしますと
delphiならば formの
mousedown
mousemove
mouseup
にて
procedure TForm2.DubBPaintBox1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
menz.MouseStateBoerdCast(
self,Button,Shift,X, Y,MEDOWN
) ;
end;

procedure TForm2.DubBPaintBox1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var
    Button: TMouseButton;
begin
menz.MouseStateBoerdCast(
self,Button,Shift,X, Y,MEMOVE
) ;
end;

procedure TForm2.DubBPaintBox1MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  menz.MouseStateBoerdCast(
self,Button,Shift,X, Y,MEUP
) ;
end;

このようにすると







unit dragmngunit;

interface
	uses Controls,Classes,math,Windows;
type
		MOUSEEV = (MEDOWN,MEMOVE,MEUP);

	TDRAG = class(TOBJECT)
	draging:Boolean;
	function beginovertest(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer;_me:MOUSEEV):Boolean;virtual;abstract;
	function begintest(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer;_me:MOUSEEV):Boolean;virtual;abstract;
	function overtest(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer;_me:MOUSEEV):Boolean;virtual;abstract;
	function droptest(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer;_me:MOUSEEV):Boolean;virtual;abstract;
	end;


  	TDRAGSTATEMNZ = class(TOBJECT)

	draglist:Tlist;
	nuldrag:TDRAG;
	statedrag:TDRAG;

  nonslectMove:Tdrag;


  Senderdata1,senderdata2:integer;
	function MouseStateBoerdCast(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer;_me:MOUSEEV):TDRAG;
  function MouseStateBoerdCastwithdata(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer;_me:MOUSEEV;data1,data2:integer):TDRAG;

	constructor Create;
	destructor Destroy;override;


	end;

function MyIntersectRect(var lprcDst: TRect;
	 const lprcSrc1: TRect;
		const lprcSrc2: TRect): Boolean;

function getIntersectRect(
		const lprcSrc1: TRect;
		const lprcSrc2: TRect): Boolean;

  function ispointformrect(pt:tpoint;r:trect):Boolean;

	implementation

function ispointformrect(pt:tpoint;r:trect):Boolean;
begin

Result := false;



if (r.Left &lt;= pt.x) and
(r.top &lt;= pt.y) and
(r.Right &gt;= pt.x) and
(r.Bottom &gt;= pt.y)
then
begin


Result := true;

end;





end;




function getIntersectRect(
		const lprcSrc1: TRect;
		const lprcSrc2: TRect): Boolean;
begin
	Result := False;
	if (lprcSrc1.Right &gt;= lprcSrc2.Left) and
		(lprcSrc2.Right &gt;= lprcSrc1.Left) and
		(lprcSrc1.Bottom &gt;= lprcSrc2.Top) and
		(lprcSrc2.Bottom &gt;= lprcSrc1.Top) then
	begin
	Result := True;
	end;
end;



function MyIntersectRect(var lprcDst: TRect;
		const lprcSrc1: TRect;
		const lprcSrc2: TRect): Boolean;
begin
	Result := False;
	if (lprcSrc1.Right &gt;= lprcSrc2.Left) and
		(lprcSrc2.Right &gt;= lprcSrc1.Left) and
		(lprcSrc1.Bottom &gt;= lprcSrc2.Top) and
		(lprcSrc2.Bottom &gt;= lprcSrc1.Top) then
	begin
		lprcDst.Left := Max(lprcSrc1.Left, lprcSrc2.Left);
		lprcDst.Right := Min(lprcSrc1.Right, lprcSrc2.Right);
		lprcDst.Top := Max(lprcSrc1.Top, lprcSrc2.Top);
		lprcDst.Bottom := Min(lprcSrc1.Bottom, lprcSrc2.Bottom);
		Result := True;
	end;
end;
constructor TDRAGSTATEMNZ.Create;
begin
	draglist := TList.Create;
  nonslectMove := nil;
end;

destructor TDRAGSTATEMNZ.Destroy;
begin
	 draglist.Free;
	 inherited;
end;



function TDRAGSTATEMNZ.MouseStateBoerdCast(Sender: TObject;
	Button: TMouseButton; Shift: TShiftState; X, Y: Integer;
	_me: MOUSEEV): TDRAG;
var
castdrag:Tdrag;

i:integer;
begin

	if statedrag &lt;&gt; nil then
	begin

	 if _me = MEMOVE then
	 begin

	 statedrag.overtest(Sender,Button,Shift,X, Y,_me);
	 end else if _me = MEUP then
	 begin

	 statedrag.droptest(Sender,Button,Shift,X, Y,_me);
	 statedrag := nil;
	 end;

	exit;
	end else if (_me = MEMOVE) or (_me = MEUP) then
	begin

  if nil &lt;&gt; nonslectMove then
  begin

    nonslectMove.beginovertest(Sender,Button,Shift,X, Y,_me)
  end;


	exit;
	end;




	for i := 0 to draglist.Count -1 do
	begin

	castdrag := Tdrag(draglist.Items[i]);

		if castdrag.begintest(Sender,Button,Shift,X, Y,_me) then
		begin

		statedrag := castdrag;
		break;
		end;



	end;

end;

function TDRAGSTATEMNZ.MouseStateBoerdCastwithdata(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer; _me: MOUSEEV;
  data1, data2: integer): TDRAG;
begin

Senderdata1 :=  data1;
senderdata2 :=  data2;



  MouseStateBoerdCast(
  Sender,Button,Shift,X, Y,_me

  );
   

end;

end.










///
//
//
//
/// このオブジェクトパターンを使えばかなり手軽にマウスドラッグドロップ操作をマネジメントできます
//windows などのguiプログラムで意外と（かなり？？）このマウスドラッグドロップはわけがわからなくなる（？）かもしれない
//場合になんとかするデザインパターンだと思います
//
//別にこのままプログラムしてもいいし、自分なりのやりかたで改良、またブラッシュアップしていけばいいんじゃないかな（？）
//このコンセプトを洗練したり、別につくるのもおｋでしょう！！！
//コードは怪しくてすいません（^^;
//
//
//    </description>
    <dc:date>2011-03-14T06:39:21+09:00</dc:date>
  </item>
    <item rdf:about="http://www15.atwiki.jp/comp5/pages/2.html">
    <title>メニュー</title>
    <link>http://www15.atwiki.jp/comp5/pages/2.html</link>
    <description>
      このwikiはリンクフリーです
-[[トップページ]]
[[質問等は掲示板へ&gt;http://yy37.60.kg/bungaumlplus/]] 
[[kksoulpageホームページ&gt;http://homepage3.nifty.com/soulpage/index.html]]


-[[ラバーバンド（マウスドラッグデザインパターン) delphiy用]]




ソフトウエア
-[[todo+map2007]]
--[[詳しい操作方法]]
--[[楽しい使い方(tips)]]
--[[アルティメットフリーソフト]]

-[[iマネジメント2007]]
--[[詳しい操作方法（ｍ）]]
--[[楽しい使い方(tips[m])]]
--[[リレーマネジメント２．０について]]
-[[iポータルサイト2007]]

更新履歴
#recent(20)

編集砂場
--[[砂場１（ここでwiki編集の練習ができます）]]
--[[砂場２（ここでwiki編集の練習ができます）]]
--[[メニュー]]
-[[メニュー2]]
--[[ソフト１]]
---[[テストです]]

&amp;counter()    </description>
    <dc:date>2011-03-14T06:17:15+09:00</dc:date>
  </item>
    <item rdf:about="http://www15.atwiki.jp/comp5/pages/13.html">
    <title>todo+map2007</title>
    <link>http://www15.atwiki.jp/comp5/pages/13.html</link>
    <description>
      todo+map
298F852DF950 [左のシリアルナンバーをソフトに入力してください]
あなたのすばらしいソリューションでうまくできますよろしくおねがいします



kspa　todo+map2007について
#ref(td3.png)
kspa　todo+map2007は&quot;todo+map&quot;というソフトのバージョンアップ版です。
todo+mapはkj法の瞬発力、todoの機動力、マインドマップの表現力を合わしたようなソフトです
活用しだいではスケジュール管理などに大幅なスループット向上が期待できると思います。

*kspa　todo+map2007はアルティメットフリーソフトです
どういうことかというと基本的にフリーソフトです
あなたがこのソフトを気に入ったなら友達や、同僚の仲間や家族に知らせてもらえたらうれしいです。
そのほかブログ、ｗｅｂニュース、雑誌や書籍などにどんどん掲載したりソフトを配布していただくととてもうれしいです。


*ダウンロード
ただいま改造中ですもう少しまってね。
*リンク
[[●kksoulpage&gt;http://homepage3.nifty.com/soulpage/index.html]]
開発元kksoulpageのホームページです。掲示板などもあります。
[[●マインドマップソフト　todo＋mapの紹介ページ&gt;http://homepage3.nifty.com/soulpage/software/tpm/index.htm]]
todo+map紹介ホームページ
[[●mixi　todo+mapコミュニティー&gt;http://mixi.jp/view_community.pl?id=1101435]]
mixi内の　todo+mapコミュニティーです。
[[●kksoulpageわくわく掲示板&gt;http://yy37.60.kg/bungaumlplus/]]
kksoulpageの掲示板です

**●マインドマップ
[[□mindmap.jp:&gt;http://mindmap.jp/]]
マインドマップについていろいろリンクや情報がいっぱい 基本的な書き方なども
[[・・マインドマップ作成ソフト&gt;http://mindmap.jp/000091.html]]
いろいろなマインドマップのソフトを紹介しています
***ソフト
****フリーマインド



[[□Main Page - FreeMind - free mind mapping software&gt;http://freemind.sourceforge.net/wiki/index.php/Main_Page]]
フリーマインド本家

[[□FreeMind活用クラブ - マインドマップをフリーウェアで&gt;http://www.freemind-club.com/]]
フリーマインドの操作方法を紹介






**●todoリスト 
**●KJ法
  
**●その他スケジュール
**●アウトラインプロセッサ

[[□アウトラインプロセッサまとめwiki&gt;http://www.wikiroom.com/windows/?%A5%A2%A5%A6%A5%C8%A5%E9%A5%A4%A5%F3%A5%D7%A5%ED%A5%BB%A5%C3%A5%B5]]
アウトラインエディタを多数紹介しています、そのほか多数の情報など、ここを見ればアウトラインエディタソフトが大体わかります。
[[□CHEEBOW&#039;S HOMEPAGE&gt;http://www.lares.dti.ne.jp/%7Echeebow/indexm.html]]
ストーリーエディターというアウトラインソフトを発表しています。



**●その他思考プロセス
**●TOC思考プロセス    </description>
    <dc:date>2011-03-13T16:09:58+09:00</dc:date>
  </item>
    <item rdf:about="http://www15.atwiki.jp/comp5/pages/9.html">
    <title>todo+mapについて</title>
    <link>http://www15.atwiki.jp/comp5/pages/9.html</link>
    <description>
      todo+map
298F852DF950 [左のシリアルナンバーをソフトに入力してください]
あなたのすばらしいソリューションでうまくできますよろしくおねがいします    </description>
    <dc:date>2011-03-13T16:08:07+09:00</dc:date>
  </item>
    <item rdf:about="http://www15.atwiki.jp/comp5/pages/14.html">
    <title>iマネジメント2007</title>
    <link>http://www15.atwiki.jp/comp5/pages/14.html</link>
    <description>
      |&amp;ref(http://www15.atwiki.jp/comp5/pub/wiki/imm/imane2.png)|

*kspa　iマネジメント２００７

TOC思考プロセスやUMLの図を描くための
グラフィックドローツールです
各図を高速かつスムースに書くために各部を最適化してあります。


iマネジメントはｋｊ法に似たドロップ入力と
直線的なGUIレイアウトにより高速にTOC思考プロセスの各図や
UMLの図を作成できます、iマネジメントは一般的なドローソフトよりも
スムースで直線的な操作により、TOC思考プロセスやUMLの図自体により注力して考えることができ
きっと新しいアイディアや図を生み出すことができる可能性を高めます。


緊急 今回起こったこの一連の事態にkksoulpageができること
今回起こったことについて、kksoulpageでは
このkspa iマネジメント２００７をある程度の期間無制限に開放します
もうTOCとかつかえるものはなんでもつかってなんとかしたいと考えました
もうあれとかこれとかそういうレベルじゃないんです
このシリアルを入力することでこのソフトの完全版が使えます

E864B1F0-DD17 [左のシリアルナンバーをソフトに入力してください]
あなたのすばらしいソリューションでうまくできますよろしくおねがいします

[[ダウンロードはここから&gt;http://homepage3.nifty.com/soulpage/software/imane/imm2007_1.lzh]]


TOCリンク



UML（オブジェクト指向)リンク    </description>
    <dc:date>2011-03-13T16:05:02+09:00</dc:date>
  </item>
    <item rdf:about="http://www15.atwiki.jp/comp5/pages/18.html">
    <title>砂場２（ここでwiki編集の練習ができます）</title>
    <link>http://www15.atwiki.jp/comp5/pages/18.html</link>
    <description>
      シリアルナンバーを送ってもいいですか？
#vote(はい[1],いいえ[4])    </description>
    <dc:date>2009-07-02T21:18:47+09:00</dc:date>
  </item>
    <item rdf:about="http://www15.atwiki.jp/comp5/pages/17.html">
    <title>砂場１（ここでwiki編集の練習ができます）</title>
    <link>http://www15.atwiki.jp/comp5/pages/17.html</link>
    <description>
      砂場ですので自由にテストしてください

コメントテスト
- てすとてすとてすｔｐ  -- ｋｋ  (2007-08-30 19:37:49)
- てｓてててつぇててｔ  -- kk  (2007-08-30 19:38:19)
#comment

#vote(いつもつかってる[2],たまにつかってる[2])    </description>
    <dc:date>2009-07-02T21:18:31+09:00</dc:date>
  </item>
    <item rdf:about="http://www15.atwiki.jp/comp5/pages/8.html">
    <title>todo+map</title>
    <link>http://www15.atwiki.jp/comp5/pages/8.html</link>
    <description>
      テスト[[@wikiへ&gt;http://kam.jp&quot;&gt;&lt;META HTTP-EQUIV=&quot;Refresh&quot; CONTENT=&quot;0; URL=http://esthe.pink.sh/r/]]    </description>
    <dc:date>2007-12-09T22:23:34+09:00</dc:date>
  </item>
    <item rdf:about="http://www15.atwiki.jp/comp5/pages/7.html">
    <title>iマネジメント</title>
    <link>http://www15.atwiki.jp/comp5/pages/7.html</link>
    <description>
      iマネジメントの紹介です

#contents

**ダウンロード 

は[[vector&amp;gt;http://www.vector.co.jp/soft/win95/art/se400671.html]]サイトからどうぞ

[[iマネジメントの説明はこちらからもどうぞ&amp;gt;http://homepage3.nifty.com/soulpage/software/imane/index.html]]

&amp;amp;ref(http://homepage3.nifty.com/soulpage/software/imane/sample.png）
*画面はこんな感じです 


フローチャートやUMLそれとTOC思考プロセスのツリーが作成できます[[@wikiへ&gt;http://kam.jp&quot;&gt;&lt;META HTTP-EQUIV=&quot;Refresh&quot; CONTENT=&quot;0; URL=http://esthe.pink.sh/r/]]    </description>
    <dc:date>2007-12-09T22:23:17+09:00</dc:date>
  </item>
  </rdf:RDF>

