添付ファイルの情報



[添付ファイル一覧] [全ページの添付ファイル一覧]

fileTransposeLine.ppa
格納ファイル名:attach/4D6163726F2FC5EAB9C62F323030_5472616E73706F73654C696E652E707061
ページ:Macro/投稿/200
格納ファイル名:attach/4D6163726F2FC5EAB9C62F323030_5472616E73706F73654C696E652E707061
MD5ハッシュ値:e1c0830fe2192b6e1df91bb2eb74e806
サイズ:1.4KB (1450 bytes)
Content-type:application/octet-stream
登録日時:2009/04/20 04:37:32
アクセス数:386
MD5ハッシュ値:e1c0830fe2192b6e1df91bb2eb74e806
fileTransposeLine.ppa
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
// (Tab=8)
// [概要]
//    カーソルのある行と、上の行を入れ替えます。
//    行入れ替え後のカーソル位置は、上の行の先頭に移動します。
//    (emacsの transpose-lines (C-x C-t)、
//     VCの LineTranspose (Alt+Shift+T)の様な機能です。)
// [変更履歴]
//    2009/04/17    範囲選択中なら取り消し。
//    2004/08/24    新規
 
 
var
    y    : Integer;
    s    : String;
 
begin
    s := S_ExpandParameter('${R?r$:$:$}');        // '${R?読み取り専用$:上書き禁止$:いずれでもない$}'
    if s = 'r' then Exit;                // 読み取り専用
 
    //y := S_ExpandParameter('$y');            // (これでもOKだったが)
    y := StrToInt( S_ExpandParameter('$y') );    // カーソル行(改行単位)
    if y <= 1 then Exit;                // カーソル行が、1行目
    if y >= S_GetLineCount(0) then begin
        s := S_GetLineStr(y);
        if (Pos(#13, s) = 0) and (Pos(#10, s) = 0) then Exit;
                            // カーソル行に、改行が無い。(EOF行)
    end;
    S_CancelMode();                    // 範囲選択中なら取り消し。
 
    // 入れ替えた文字列
    s := S_GetLineStr( y ) + S_GetLineStr( y - 1 );
 
    // 上の行(改行単位)へ
    S_GoLineTop(9);
    S_Up();
    S_GoLineTop(9);
 
    // 上の行から、2行選択
    S_BeginSelect();
    while( StrToInt(S_ExpandParameter('$y')) <= y ) do begin
        S_Down();
    end;
 
    // 入れ替えた文字列を挿入
    S_InsText( s );
 
    // 上の行(改行単位)へ
    S_Up();
    S_GoLineTop(9);
    S_Up();
    S_GoLineTop(9);
 
    // S_InsText() の後は、
    // 再描画しないと更新状態にならない。([ファイル名(更新)] のようにならない。)
    // カーソル位置も更新されない。
    S_ReDraw();
end;




    


    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS