マクロ集 / 編集してある行に移動する


マクロ集

現在カーソルのある位置から上方向(下方向)に編集した行があればその行にジャンプします。
まれにきかないときあり.
JumpEditLineUp? -- 上方向
JumpEditLineDown? -- 下方向

int     GetTextLineNum(TX *text){

    txSetUndispEx(text);
    txMarkNow(text);

    txJumpFileEnd(text);
    int     iLineNum    = (int)text->npara;

    txJumpMarkNow(text);
    txSetDispEx(text);

    return iLineNum;
}
// --------------------------------------------------------------------------
// 編集行移動
static void JumpEditLineSub(TX *text, BOOL is_up){

    // --------------------------------------------------------------------------
    if(text->paraatr.buff == NULL){
        return;
    }

    // --------------------------------------------------------------------------
    int iCurrentLine    = (int)(text->npara - 1);
    int iLoop1;

    // --------------------------------------------------------------------------
    txSetUndispEx(text);

    // --------------------------------------------------------------------------
    // 上に
    if(is_up == TRUE){
        for(iLoop1 = iCurrentLine - 1;iLoop1 >= 0;iLoop1 --){
            if(text->paraatr.buff[iLoop1].fEdited){
                break;
            }
        }

    // --------------------------------------------------------------------------
    // 下に
    }else{
        int iLineNum    = GetTextLineNum(text);
        for(iLoop1 = iCurrentLine + 1;iLoop1 < iLineNum;iLoop1 ++){
            if(text->paraatr.buff[iLoop1].fEdited){
                break;
            }
        }

        if(iLoop1 == iLineNum){
            iLoop1 = -1;
        }
    }

    // --------------------------------------------------------------------------
    if(iLoop1 == -1){
        txSetDispEx(text);
    }else{
        txJumpNpara(text, (NPARA)(iLoop1 + 1));

        txSetLyCenter(text);
        txSetDisp(text);
    }
}
// --------------------------------------------------------------------------
// 編集行移動 -- 上方向
void    JumpEditLineUp(TX *text){

    JumpEditLineSub(text, TRUE);
}
// --------------------------------------------------------------------------
// 編集行移動 -- 下方向
void    JumpEditLineDown(TX *text){

    JumpEditLineSub(text, FALSE);
}

この記事は役に立ちましたか?

選択肢 投票
とても役に立った 0  
役に立った 1  
どちらともいえない 0  
あまり役に立たなかった 0  
役に立たなかった 0  

  • error 58: <GetTextLineNum?>:宣言または定義されていません。のエラーが出るよ -- 2003-12-24 (水) 00:23:22
  • 更新したよー。オレライブラリ全部公開しちゃった方がいいのかな? -- 2003-12-24 (水) 00:45:48
  • 動いたよ。ありがと。小物マクロ公開するときって依存ライブラリの扱いに悩むよね。 -- 2003-12-24 (水) 00:59:55