home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 October / VPR9710A.ISO / Ffilly / TFYW111 / RTW_PIC.MAC < prev    next >
Text File  |  1997-06-05  |  13KB  |  486 lines

  1. //ピクチャー関連関数
  2. main:
  3.     menu
  4.         "&LoadPic\t画像ファイルの読み込み",
  5.         "&MovePic\t画像データの転送",
  6.         "Move&SPic\t画像データを拡大縮小して転送",
  7.         "&DelPic\t画像データの破棄",
  8.         "&CreatePic\tピクチャーの生成",
  9.         "Pic&Width\tピクチャーの幅の取得",
  10.         "Pic&Height\tピクチャーの高さの取得",
  11.         "&ReversePic\t左右反転イメージの転写";
  12.     if(result == 0) goto macro_cancel;
  13.     else if(result == 1) call InsFunc "LoadPic",2;
  14.     else if(result == 2) call MovePic;
  15.     else if(result == 3) call MoveSPic;
  16.     else if(result == 4) call InsFunc "DelPic",1;
  17.     else if(result == 5) call CreatePic;
  18.     else if(result == 6) call InsFunc "PicWidth",1;
  19.     else if(result == 7) call InsFunc "PicHeight",1;
  20.     else if(result == 8) call ReversePic;
  21.  
  22.  
  23. macro_end:
  24.     endmacro;
  25.  
  26.  
  27. macro_cancel:
  28.     writeininum "tfywrite.ini", "Control", "MenuCancel", 1;
  29.     endmacro;
  30.  
  31.  
  32. MovePic:
  33.     escape;
  34.     call MacSrvInit;
  35.  
  36.     ddepoke "newdialog", "35,MovePic";
  37.  
  38.     ddepoke "newcontrol", "text,,移動元ピクチャー";
  39.     ddepoke "newcontrol", "text,, ";    
  40.     ddepoke "part", "2";
  41.     ddepoke "newcontrol", "text,,ピクチャー番号(&P)";
  42.     ddepoke "part", "13";
  43.     ddepoke "newcontrol", "edit,Picture,";
  44.  
  45.     ddepoke "newcontrol", "text,, ";    
  46.     ddepoke "part", "2";
  47.     ddepoke "newcontrol", "text,,始点";
  48.     ddepoke "part", "5";
  49.     ddepoke "newcontrol", "text,,X座標(&X)";
  50.     ddepoke "part", "8";
  51.     ddepoke "newcontrol", "edit,X,";
  52.     ddepoke "part", "6";
  53.     ddepoke "newcontrol", "text,,Y座標(&Y)";
  54.     ddepoke "part", "8";
  55.     ddepoke "newcontrol", "edit,Y,";
  56.  
  57.  
  58.     ddepoke "newcontrol", "text,, ";    
  59.     ddepoke "part", "2";
  60.     ddepoke "newcontrol", "text,,サイズ";
  61.     ddepoke "part", "5";
  62.     ddepoke "newcontrol", "text,,幅(&W)";
  63.     ddepoke "part", "8";
  64.     ddepoke "newcontrol", "edit,W,";
  65.     ddepoke "part", "6";
  66.     ddepoke "newcontrol", "text,,高さ(&H)";
  67.     ddepoke "part", "8";
  68.     ddepoke "newcontrol", "edit,H,";
  69.  
  70.     ddepoke "newcontrol", "text,, ";    
  71.  
  72.     ddepoke "newcontrol", "text,,移動先ピクチャー";
  73.     ddepoke "newcontrol", "text,, ";    
  74.     ddepoke "part", "2";
  75.     ddepoke "newcontrol", "text,,ピクチャー番号(&I)";
  76.     ddepoke "part", "13";
  77.     ddepoke "newcontrol", "edit,NPicture,";
  78.  
  79.     ddepoke "newcontrol", "text,, ";    
  80.     ddepoke "part", "2";
  81.     ddepoke "newcontrol", "text,,始点";
  82.     ddepoke "part", "5";
  83.     ddepoke "newcontrol", "text,,X座標(&R)";
  84.     ddepoke "part", "8";
  85.     ddepoke "newcontrol", "edit,NX,";
  86.     ddepoke "part", "6";
  87.     ddepoke "newcontrol", "text,,Y座標(&D)";
  88.     ddepoke "part", "8";
  89.     ddepoke "newcontrol", "edit,NY,";
  90.  
  91.     ddepoke "newcontrol", "text,, ";    
  92.  
  93.     ddepoke "newcontrol", "radio,Mode,転送モード(&M)";
  94.     ddepoke "item", "通常";
  95.     ddepoke "item", "透明色転送モード";
  96.     ddepoke "item", "シーンチェンジモード";
  97.  
  98.     ddepoke "newcolumn", "30";
  99.  
  100.     ddepoke "newcontrol", "text,, ";    
  101.  
  102.     ddepoke "newcontrol", "text,,透明色(16進)(&C)";
  103.     ddepoke "part", "15";
  104.     ddepoke "newcontrol", "edit,TransCol,";
  105.  
  106.     ddepoke "newcontrol", "radio,SChange,シーンチェンジモード(&S)";
  107.     ddepoke "item", "Dissolve";
  108.     ddepoke "item", "Wipe Top/Down";
  109.     ddepoke "item", "Wipe Right/Left";
  110.     ddepoke "item", "Roll Down";
  111.     ddepoke "item", "Roll Up";
  112.     ddepoke "item", "Roll Right";
  113.     ddepoke "item", "Roll left";
  114.     ddepoke "item", "Scroll Down";
  115.     ddepoke "item", "Scroll Up";
  116.     ddepoke "item", "Scroll Right";
  117.     ddepoke "item", "Scroll left";
  118.     ddepoke "item", "Tile Dissolve";
  119.  
  120.     ddepoke "newcontrol", "text,,転送時間(&T)";
  121.     ddepoke "part", "11";
  122.     ddepoke "newcontrol", "edit,Time,";
  123.  
  124.     ddepoke "newpage", "56";
  125.     ddepoke "newcontrol", "text,, ";    
  126.     ddepoke "part", "36";
  127.     ddepoke "newcontrol", "okcancel,Ok";
  128.  
  129.     call MakeDialog;
  130.  
  131.     $Ok = dderequest("getstring Ok");
  132.     if($Ok == "0") goto macro_end;
  133.  
  134.     $Picture = dderequest("getstring Picture");
  135.     $X       = dderequest("getstring X");
  136.     $Y       = dderequest("getstring Y");
  137.     $W       = dderequest("getstring W");
  138.     $H       = dderequest("getstring H");
  139.     $NPicture= dderequest("getstring NPicture");
  140.     $NX      = dderequest("getstring NX");
  141.     $NY      = dderequest("getstring NY");
  142.     $Mode    = dderequest("getstate Mode");
  143.     $TransCol= dderequest("getstring TransCol");
  144.     $SChange = dderequest("getstate SChange");
  145.     $Time    = dderequest("getstring Time");
  146.  
  147.     //透明色転送モードのとき
  148.     if($Mode == "2"){
  149.         $Cmd = "MovePic(" +$Picture+ "," +$X+ "," +$Y+ "," +$W+ "," +$H+ "," +$NPicture+ "," +$NX+ "," +$NY+ ",0," +$TransCol+ ");";
  150.     }
  151.     //シーンチェンジモードのとき
  152.     else if($Mode == "3"){
  153.         $Cmd = "MovePic(" +$Picture+ "," +$X+ "," +$Y+ "," +$W+ "," +$H+ "," +$NPicture+ "," +$NX+ "," +$NY+ "," +$Time+ "," +$SChange+ ");";
  154. }
  155.     //通常モードのとき
  156.     else if($Mode == "1"){
  157.         $Cmd = "MovePic(" +$Picture+ "," +$X+ "," +$Y+ "," +$W+ "," +$H+ "," +$NPicture+ "," +$NX+ "," +$NY+ ");";
  158. }
  159.  
  160.     insert $Cmd;
  161.  
  162.     goto macro_end;
  163.     ddeexecute "exit";
  164.  
  165.  
  166. MoveSPic:
  167.     escape;
  168.     call MacSrvInit;
  169.  
  170.     ddepoke "newdialog", "35,MoveSPic";
  171.  
  172.     ddepoke "newcontrol", "text,,移動元ピクチャー";
  173.     ddepoke "newcontrol", "text,, ";    
  174.     ddepoke "part", "2";
  175.     ddepoke "newcontrol", "text,,ピクチャー番号(&P)";
  176.     ddepoke "part", "13";
  177.     ddepoke "newcontrol", "edit,Picture,";
  178.  
  179.     ddepoke "newcontrol", "text,, ";    
  180.     ddepoke "part", "2";
  181.     ddepoke "newcontrol", "text,,始点";
  182.     ddepoke "part", "5";
  183.     ddepoke "newcontrol", "text,,X座標(&X)";
  184.     ddepoke "part", "8";
  185.     ddepoke "newcontrol", "edit,X,";
  186.     ddepoke "part", "6";
  187.     ddepoke "newcontrol", "text,,Y座標(&Y)";
  188.     ddepoke "part", "8";
  189.     ddepoke "newcontrol", "edit,Y,";
  190.  
  191.     ddepoke "newcontrol", "text,, ";    
  192.     ddepoke "part", "2";
  193.     ddepoke "newcontrol", "text,,サイズ";
  194.     ddepoke "part", "5";
  195.     ddepoke "newcontrol", "text,,幅(&W)";
  196.     ddepoke "part", "8";
  197.     ddepoke "newcontrol", "edit,W,";
  198.     ddepoke "part", "6";
  199.     ddepoke "newcontrol", "text,,高さ(&H)";
  200.     ddepoke "part", "8";
  201.     ddepoke "newcontrol", "edit,H,";
  202.  
  203.     ddepoke "newcontrol", "text,, ";    
  204.  
  205.     ddepoke "newcontrol", "text,,移動先ピクチャー";
  206.     ddepoke "newcontrol", "text,, ";    
  207.     ddepoke "part", "2";
  208.     ddepoke "newcontrol", "text,,ピクチャー番号(&I)";
  209.     ddepoke "part", "13";
  210.     ddepoke "newcontrol", "edit,NPicture,";
  211.  
  212.     ddepoke "newcontrol", "text,, ";    
  213.     ddepoke "part", "2";
  214.     ddepoke "newcontrol", "text,,始点";
  215.     ddepoke "part", "5";
  216.     ddepoke "newcontrol", "text,,X座標(&R)";
  217.     ddepoke "part", "8";
  218.     ddepoke "newcontrol", "edit,NX,";
  219.     ddepoke "part", "6";
  220.     ddepoke "newcontrol", "text,,Y座標(&D)";
  221.     ddepoke "part", "8";
  222.     ddepoke "newcontrol", "edit,NY,";
  223.  
  224.     ddepoke "newcontrol", "text,, ";    
  225.     ddepoke "part", "2";
  226.     ddepoke "newcontrol", "text,,サイズ";
  227.     ddepoke "part", "5";
  228.     ddepoke "newcontrol", "text,,幅(&B)";
  229.     ddepoke "part", "8";
  230.     ddepoke "newcontrol", "edit,NW,";
  231.     ddepoke "part", "6";
  232.     ddepoke "newcontrol", "text,,高さ(&K)";
  233.     ddepoke "part", "8";
  234.     ddepoke "newcontrol", "edit,NH,";
  235.  
  236.     ddepoke "newcontrol", "text,, ";    
  237.  
  238.     ddepoke "newcontrol", "text,,透明色(16進)(&C)";
  239.     ddepoke "part", "15";
  240.     ddepoke "newcontrol", "edit,TransCol,";
  241.  
  242.     ddepoke "newcontrol", "text,,";
  243.     ddepoke "part", "15";
  244.     ddepoke "newcontrol", "check,Mode,透明色転送をする(&T)";
  245.  
  246.     ddepoke "newcontrol", "text,, ";    
  247.     ddepoke "part", "15";
  248.     ddepoke "newcontrol", "okcancel,Ok";
  249.  
  250.     call MakeDialog;
  251.  
  252.     $Ok = dderequest("getstring Ok");
  253.     if($Ok == "0") goto macro_end;
  254.  
  255.     $Picture = dderequest("getstring Picture");
  256.     $X       = dderequest("getstring X");
  257.     $Y       = dderequest("getstring Y");
  258.     $W       = dderequest("getstring W");
  259.     $H       = dderequest("getstring H");
  260.     $NPicture= dderequest("getstring NPicture");
  261.     $NX      = dderequest("getstring NX");
  262.     $NY      = dderequest("getstring NY");
  263.     $NW      = dderequest("getstring NW");
  264.     $NH      = dderequest("getstring NH");
  265.     $Mode    = dderequest("getstate Mode");
  266.     $TransCol= dderequest("getstring TransCol");
  267.  
  268.     //透明色転送モードのとき
  269.     if($Mode == "1"){
  270.         $Cmd = "MoveSPic(" +$Picture+ "," +$X+ "," +$Y+ "," +$W+ "," +$H+ "," +$NPicture+ "," +$NX+ "," +$NY+ "," +$NW+ "," +$NH+ ",0," +$TransCol+ ");";
  271.     }
  272.     //通常モードのとき
  273.     else if($Mode == "0"){
  274.         $Cmd = "MoveSPic(" +$Picture+ "," +$X+ "," +$Y+ "," +$W+ "," +$H+ "," +$NPicture+ "," +$NX+ "," +$NY+ "," +$NW+ "," +$NH+ ");";
  275. }
  276.  
  277.     insert $Cmd;
  278.  
  279.     goto macro_end;
  280.     ddeexecute "exit";
  281.  
  282.  
  283. CreatePic:
  284.     escape;
  285.     call MacSrvInit;
  286.  
  287.     ddepoke "newdialog", "36,CreatePic";
  288.  
  289.     ddepoke "newcontrol", "text,,基準ピクチャー番号(&P)";
  290.     ddepoke "part", "17";
  291.     ddepoke "newcontrol", "edit,Picture,";
  292.  
  293.     ddepoke "newcontrol", "text,,サイズ";
  294.     ddepoke "part", "10";
  295.     ddepoke "newcontrol", "text,,幅(&W)";
  296.     ddepoke "part", "7";
  297.     ddepoke "newcontrol", "edit,W,";
  298.     ddepoke "part", "6";
  299.     ddepoke "newcontrol", "text,,高さ(&H)";
  300.     ddepoke "part", "7";
  301.     ddepoke "newcontrol", "edit,H,";
  302.  
  303.     ddepoke "newcontrol", "text,, ";    
  304.     ddepoke "part", "16";
  305.     ddepoke "newcontrol", "okcancel,Ok";
  306.  
  307.     call MakeDialog;
  308.  
  309.     $Ok = dderequest("getstring Ok");
  310.     if($Ok == "0") goto macro_end;
  311.  
  312.     $Picture = dderequest("getstring Picture");
  313.     $W       = dderequest("getstring W");
  314.     $H       = dderequest("getstring H");
  315.  
  316.     $Cmd = "CreatePic(" +$Picture+ "," +$W+ "," +$H+ ");";
  317.     insert $Cmd;
  318.  
  319.     goto macro_end;
  320.     ddeexecute "exit";
  321.  
  322.  
  323. ReversePic:
  324.     escape;
  325.     call MacSrvInit;
  326.  
  327.     ddepoke "newdialog", "35,ReversePic";
  328.  
  329.     ddepoke "newcontrol", "text,,移動元ピクチャー";
  330.     ddepoke "newcontrol", "text,, ";    
  331.     ddepoke "part", "2";
  332.     ddepoke "newcontrol", "text,,ピクチャー番号(&P)";
  333.     ddepoke "part", "13";
  334.     ddepoke "newcontrol", "edit,Picture,";
  335.  
  336.     ddepoke "newcontrol", "text,, ";    
  337.     ddepoke "part", "2";
  338.     ddepoke "newcontrol", "text,,始点";
  339.     ddepoke "part", "5";
  340.     ddepoke "newcontrol", "text,,X座標(&X)";
  341.     ddepoke "part", "8";
  342.     ddepoke "newcontrol", "edit,X,";
  343.     ddepoke "part", "6";
  344.     ddepoke "newcontrol", "text,,Y座標(&Y)";
  345.     ddepoke "part", "8";
  346.     ddepoke "newcontrol", "edit,Y,";
  347.  
  348.     ddepoke "newcontrol", "text,, ";    
  349.     ddepoke "part", "2";
  350.     ddepoke "newcontrol", "text,,サイズ";
  351.     ddepoke "part", "5";
  352.     ddepoke "newcontrol", "text,,幅(&W)";
  353.     ddepoke "part", "8";
  354.     ddepoke "newcontrol", "edit,W,";
  355.     ddepoke "part", "6";
  356.     ddepoke "newcontrol", "text,,高さ(&H)";
  357.     ddepoke "part", "8";
  358.     ddepoke "newcontrol", "edit,H,";
  359.  
  360. //    ddepoke "newcontrol", "text,, ";    
  361.  
  362.     ddepoke "newcontrol", "text,,移動先ピクチャー";
  363.     ddepoke "newcontrol", "text,, ";    
  364.     ddepoke "part", "2";
  365.     ddepoke "newcontrol", "text,,ピクチャー番号(&I)";
  366.     ddepoke "part", "13";
  367.     ddepoke "newcontrol", "edit,NPicture,";
  368.  
  369.     ddepoke "newcontrol", "text,, ";    
  370.     ddepoke "part", "2";
  371.     ddepoke "newcontrol", "text,,始点";
  372.     ddepoke "part", "5";
  373.     ddepoke "newcontrol", "text,,X座標(&R)";
  374.     ddepoke "part", "8";
  375.     ddepoke "newcontrol", "edit,NX,";
  376.     ddepoke "part", "6";
  377.     ddepoke "newcontrol", "text,,Y座標(&D)";
  378.     ddepoke "part", "8";
  379.     ddepoke "newcontrol", "edit,NY,";
  380.  
  381.     ddepoke "newcontrol", "text,, ";    
  382.     ddepoke "part", "15";
  383.     ddepoke "newcontrol", "okcancel,Ok";
  384.  
  385.     call MakeDialog;
  386.  
  387.     $Ok = dderequest("getstring Ok");
  388.     if($Ok == "0") goto macro_end;
  389.  
  390.     $Picture = dderequest("getstring Picture");
  391.     $X       = dderequest("getstring X");
  392.     $Y       = dderequest("getstring Y");
  393.     $W       = dderequest("getstring W");
  394.     $H       = dderequest("getstring H");
  395.     $NPicture= dderequest("getstring NPicture");
  396.     $NX      = dderequest("getstring NX");
  397.     $NY      = dderequest("getstring NY");
  398.  
  399.     $Cmd = "ReversePic(" +$Picture+ "," +$X+ "," +$Y+ "," +$W+ "," +$H+ "," +$NPicture+ "," +$NX+ "," +$NY+ ");";
  400.     insert $Cmd;
  401.  
  402.     goto macro_end;
  403.     ddeexecute "exit";
  404.  
  405.  
  406. //関数の挿入
  407. InsFunc:
  408.     //第1引数 str 関数名
  409.     //第2引数 str 関数の引数のタイプ
  410.     // (0=なし、1=数値型、2=文字列型、3=配列変数)
  411.  
  412.     if(##2 == 0){
  413.         escape;
  414.         insert $$1 + "();";
  415.         return;
  416.     }
  417.  
  418.     #Select = selecting;
  419.     $SText = "";
  420.  
  421.     if(#Select == 1){
  422.         #STopX = seltopx;
  423.         #STopY = seltopy;
  424.         #SEndX = selendx;
  425.         #SEndY = selendy;
  426.         $SText = gettext(#STopX,#STopY,#SEndX,#SEndY);
  427.         #SLength = strlen($SText);
  428.         moveto #STopX,#STopY;
  429.  
  430.         beginsel;
  431.         right #SLength;
  432.         delete;
  433.     }
  434.     
  435.     if(##2 == 1){
  436.         insertfix $$1 + "(" + $SText + ");";
  437.         if($SText == ""){
  438.             gowordend;
  439.             right;
  440.         }
  441.     }
  442.  
  443.     else if(##2 == 2){
  444.         insertfix $$1 + "(\"" + $SText + "\");";
  445.         if($SText == ""){
  446.             gowordend;
  447.             right 2;
  448.         }
  449.     }
  450.  
  451.     else if(##2 == 3){
  452.         if(rightstr($SText,2) != "[]") $SText = $SText + "[]";
  453.         insertfix $$1 + "(\"" + $SText + "\");";
  454.         if($SText == ""){
  455.             gowordend;
  456.             right;
  457.         }
  458.     }
  459.  
  460.     return;
  461.  
  462.  
  463. //ダイアログボックス関連サブルーチン
  464. MacSrvInit:
  465.     run "macserv.exe /h";
  466.     ddeinitiate "HideMacroServer", "DlgService";
  467.     if( !result ) {
  468.         message "ddeinitiate failed";
  469.         endmacro;
  470.     }
  471.     ddeexecute "setcurdir " + directory;
  472.     return;
  473.  
  474.  
  475. MakeDialog:
  476.     #hwnd = hidemaruhandle(0);
  477.     ddeexecute "dialog " + str(#hwnd);
  478.     $$a = "";
  479.     ddestartadvice "dlgresult", $$a;
  480.     while( strlen($$a) == 0 ) {
  481.         ddewaitadvice $$a, 100;
  482.     }
  483.     ddestopadvice "dlgresult";
  484.     ddeexecute "enddialog";
  485.     return $$a;
  486.