/ inTopicNo.2)  Re[1]: KMYsofts TreeTexter 2

  
□投稿者/ KMY さん ( MAIL ) 【130.158.49.59】(2008/09/23(Tue) 22:05:12)

  ★  【 S I T E & D O W N L O A D 】   ★ 
    もし、「MACRO」のフォルダ存在でなければ、
      「MACRO」のフォルダ作成。
      「MACRO\STARTUP」のフォルダ作成。
      「MACRO\MENUUP」のフォルダ作成。
    「MACRO\STARTUP\*.nako」のファイル列挙して、反復
      「MACRO\STARTUP\{対象}」を開く。
      それをナデシコする。
    マクロ数は0。
    マクロメニューは空。
    「MACRO\MENUUP\*.nako」のファイル列挙して、反復
      「MACRO\MENUUP\{対象}」を開く。
      それをナデシコする。
      マクロメニューに「mnuMicro,microId{マクロ数},{マクロ名称},,,{関数名}」を配列追加。
      マクロ数は、マクロ数+1。

    #-----------------------------------------------------------------------
    # メニュー
    「,mnuFile,ファイル(&F)
    mnuFile,mnuTitle,タイトル設定,,,タイトル設定処理
    mnuFile,mnuFolderTitle,フォルダ名設定,,,フォルダ設定処理
    mnuFile,mnuCreate,プロジェクトを新規作成,Ctrl+N,,新規処理
    mnuFile,mnuOpen,プロジェクトを読み込む,Ctrl+O,,開く処理
    mnuFile,mnuSave,プロジェクトを上書き保存,Ctrl+S,,メニュー保存処理
    mnuFile,mnuNameSave,プロジェクトを別名で保存,,,別名保存処理
    mnuFile,mnuEnd,終了,,,終わる
    ,mnuAdd,追加(&A)
    mnuAdd,mnuAddNext,このノードの下に追加,,,次ノード追加処理
    mnuAdd,mnuAddNode,子ノードに追加,,,子ノード追加処理
    ,mnuMove,移動(&M)
    mnuMove,mnuUp,↑へ移動,Ctrl+Up,,上移動処理
    mnuMove,mnuDown,↓へ移動,Ctrl+Down,,下移動処理
    ,mnuDel,削除(&D)
    mnuDel,mnuDelNode,ノード削除,,,ノード削除処理
    ,mnuEdit,修正(&E)
    mnuEdit,mnuEditText,ノードテキスト修正,,,テキスト修正処理
    ,mnuMicro,マクロ(&P)
    {マクロメニュー}」をメニュー一括作成
    #-----------------------------------------------------------------------
    # ポップアップ
    ツリーポップとはポップアップメニュー
    「,popAddNext,下に追加,,,次ノード追加処理
    ,popAddChild,子に追加,,,子ノード追加処理
    ,popDelNode,削除,,,ノード削除処理
    ,popEdit,編集,,,テキスト修正処理
    ,popline,-
    ,popUp,↑へ移動,,,上移動処理
    ,popDown,↓へ移動,,,下移動処理
    ,popline2,-
    ,popPath,パス取得,,,パス取得処理
    ,popId,ID取得,,,ID取得処理」をツリーポップに一括追加
    動物ツリーのポップアップメニューはツリーポップ。

    「{母艦パス}setting.ini」のINI開いて、Hに代入。
    Hで「Start」の「DefaultOpen」をINI読む。
    ファイル名は、それ。
    HのINI閉じる。
    もし、ファイル名が空でなければ、
      もし、ファイル名が存在ならば、
        データ開く処理。
      違えば、ファイル名は空。

    ●上移動処理
      選択IDは、動物ツリーの選択ID。
      Cは、選択ID。
      もし、選択IDが「Root」ならば、
        「Rootは移動できません。」と言って、戻る。
      選択親IDは、選択IDを動物ツリーの親ノード取得。
      子ノード一覧は、空。
      選択IDを動物ツリーの子ノード取得。
      それをノード一覧取得処理。
      アイテムは、動物ツリーのアイテム。
      新アイテムは、空。
      移動アイテムは、空。
      最終アイテムは、空。
      階層は、空。
      アイテムを反復
        対象を「,」で区切る。
        親IDはそれ¥0。
        IDはそれ¥1。
        Sは対象。
        Hは、いいえ。
        もし、IDが選択IDならば、
          IDを動物ツリーの親ノード取得。
          それを動物ツリーの子ノード取得。
          もし、それ¥0がIDでなければ、
            Hは、はい。
            移動アイテムにSを配列追加。
            挿入箇所は、階層@親ID。
          違えば、
            「同じノードの中の最上階のノードです。」と言って、戻る。
        違えば、
          子ノード一覧を反復
            もし、対象がIDならば、
              Hは、はい。
              移動アイテムにSを配列追加。
              抜ける。
        もし、Hがいいえならば、
          新アイテムにSを配列追加。
        階層@親IDは、ID。
      新アイテムを反復
        Sは、対象。
        対象を「,」で区切る。
        もし、それ¥1が挿入箇所ならば、
          移動アイテムを反復
            最終アイテムに対象を配列追加。
        最終アイテムにSを配列追加。
      動物ツリーのアイテムは、最終アイテム。
      「Root」を動物ツリーでノード開く。
      動物ツリーの選択IDは、C。

    ●下移動処理
      選択IDは、動物ツリーの選択ID。
      Dは、選択ID。
      もし、選択IDが「Root」ならば、
        「Rootは移動できません。」と言って、戻る。
      選択親IDは、選択IDを動物ツリーの親ノード取得。
      挿入箇所は、空。
      子ノード一覧は、空。
      フラグは、いいえ。
      選択IDを動物ツリーの親ノード取得。
      それを動物ツリーの子ノード取得。
      Lは、それ。
      Mは、Lの配列要素数-1。
      もし、L¥Mが選択IDならば、
        「同じノードの中の最下階のノードです。」と言って、戻る。
      選択子IDは、選択親IDを動物ツリーの子ノード取得。
      選択子IDを反復
        もし、フラグがはいならば、
          挿入箇所は対象。
          フラグは、いいえ。
          抜ける。
        もし、対象が選択IDならば、
          フラグは、はい。
        Sは、対象。
      もし、フラグがはいならば、
        挿入箇所はS。
        フラグは、いいえ。
      動物ツリーの選択IDは、挿入箇所。
      上移動処理。
      動物ツリーの選択IDは、D。
      戻る。

    ●ノード一覧取得処理(Sを)
      Sを反復
        子ノード一覧に対象を配列追加。
        対象を動物ツリーの子ノード取得。
        もし、それが空でなければ、
          それをノード一覧取得処理。

    ●子ノード追加処理
      選択IDは、動物ツリーの選択ID
      もし、選択ID=「」ならば
        「ツリーで追加したい場所を選択してください」と言う
        戻る
      「ノードの名前は?」と尋ねる。
      もし、それが空ならば、戻る。
      入力動物はそれ。
      FID=入力動物を動物ツリーのノード番号取得。
      もし、FID>=0ならば
        入力動物を動物ツリーの親ノード取得
        Zは、それ。
        もし、Zが動物ツリーのテキストならば、
         「{入力動物}は同じノードに既に存在します」と言う
         戻る
      数は数+1。
      「{選択ID},{数},{入力動物}」を動物ツリーに追加。
      動物ツリーのテキストを動物ツリーでノード開く。
      動物ツリーの選択IDは、数。
      中は空。

    ●次ノード追加処理
      選択IDは、動物ツリーの選択ID
      もし、選択ID=「」ならば
        「ツリーで追加したい場所を選択してください」と言う
        戻る
      もし、選択IDが「Root」ならば、
        「Rootと同じディレクトリには作れません。」と言って、戻る。
      「ファイルの名前は?」と尋ねる。
      もし、それが空ならば、戻る。
      入力動物はそれ。
      FID=入力動物を動物ツリーのノード番号取得。
      もし、FID>=0ならば
        入力動物を動物ツリーの親ノード取得
        Zは、それ。
        もし、Zが動物ツリーのテキストならば、
         「{入力動物}は同じノードに既に存在します」と言う
         戻る
      数は数+1。
      親IDは、選択IDで動物ツリーの親ノード取得。
      アイテムは、動物ツリーのアイテム。
      新アイテムは、空。
      アイテムを反復
        新アイテムに対象を配列追加。
        対象を「,」で区切る。
        もし、それ¥1が選択IDならば、
          新アイテムに「{親ID},{数},{入力動物}」を配列追加。
      動物ツリーのアイテムは、新アイテム。
    //  「{親ID},{数},{入力動物}」を動物ツリーに追加。
      「Root」を動物ツリーでノード開く。
      動物ツリーの選択IDは、数。
      中は空。
削除キー/

コメントを記入

<(前) | (次)>
Pass/

BBS CGI RSS CGI
Child Tree RSS/SPAM対応版