BugReport/219 のバックアップの現在との差分(No.1)




GetSelectColmToの戻り値

  • ページ: BugReport
  • 投稿者: mg?
  • 優先順位: 普通
  • 状態: 提案
  • カテゴリー: マクロ
  • 投稿日: 2017-11-07 (火) 18:54:46
  • バージョン: 2.3.0.0

メッセージ

バージョン2.3.0.0〜2.3.2.0でマクロのGetSelectColmToとGetSelectColmFromの戻り値がおかしいようです。
  • - 座標変換サンプル
    fileconvert_col.js
      0
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
    
    function Zahyo(){
        var lay_y = Editor.GetSelectLineFrom()
        var lay_x = Editor.GetSelectColmFrom();
        if(lay_y <= 0){
            return;
        }
        var lay_x_old = Math.floor(lay_x / Editor.GetDefaultCharLength());
        var logic_y = Editor.LayoutToLogicLineNum(lay_y);
        var logic_x = Editor.LineColumnToIndex(lay_y, lay_x)
        var text = Editor.GetLineStr(logic_y); 
        var text_to_index = text.substr(0, logic_x - 1);
        var col_x = Editor.GetStrWidth(text_to_index);
        Editor.InfoMsg("レイアウト " + lay_y + "行 " + lay_x + "桁(px) ルーラー" + lay_x_old + "桁\n" +
                "ロジック  " + logic_y + "行 " + logic_x + "桁\n" +
                "等幅換算  " + lay_y + "行" + col_x + "桁");
    }
    Zahyo();
    
  • -
  • 仕様変更です。文字数(全角=2/半角=1)にするにはGetDefaultCharLengthで割ってください。文字のindexがほしいならLineColumnToIndex -- 2017-11-07 (火) 19:56:02
  • ↑プロポーショナルフォントの場合は、割っても2,1にはならないので、GetStrWidthを併用する必要もあるかもしれません -- 2017-11-07 (火) 20:39:16
  • pxで返るようになってたんですね。失礼致しました。 -- mg? 2017-11-08 (水) 01:57:43
  • 上のコードは2.1.0.0以上であれば関数が先行実装されているのでlay_x以外は互換性がたぶんあります -- 2017-11-08 (水) 02:53:06
  • 指摘どおり、仕様バグだと思います。選択開始桁位置をpx単位で返すように変更しました(仕様変更です)と言ってるんです。選択開始位置が何桁目かを取得する関数が、画面上のpx位置を返すように改良されとるんです。v2.3で混入したバグでした、といって元に戻すのが正しい選択だと思います。 -- 2017-11-09 (木) 07:35:33

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White
fileconvert_col.js 145件 [詳細]
[添付ファイル一覧] [全ページの添付ファイル一覧]
アップロード可能最大ファイルサイズは 2,048KB です。

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