FAQ

FAMOS

シーケンス / 関数top

カーブウィンドウ

ID.s009

Q. カーソルを使って値を取得する方法

A.


カーソル位置の値を取得し、Excelにデータを転送します。

カーソルを使って値を取得すると、測定ポイントからずれるので修正しています。

;-----------------------------------------------
;ファイルの指定
;-----------------------------------------------

filename = DlgFileName("c:\imc\dat", "dat", "ファイルを開く", 0)
If TLeng( filename)=0
  del FileName
  ExitSequence
Else
  FAMOS
  Load <filename>DATA
   del filename
  Show DATA
End

;-----------------------------------------------
;ウィンドウ設定
;-----------------------------------------------

CvWin( DATA, 9)               ;カーソルのみを表示
CvWin( DATA, 3)               ;オーバービューウィンドウを表示
CvWin( DATA, 10)              ;ナビゲータを表示

CvXAxis( DATA, XOff?(DATA), XOff?(DATA)+Leng?(DATA)/10*XDel?(DATA), 0)
CvYAxis( DATA, DATA, 0, 0, 0, 50000+4000+200, -2)

;-----------------------------------------------
;ダミーデータ
;-----------------------------------------------

P_X = Leng( 0, 0)
P_Y = Leng( 0, 0)
Point = XYOf( P_X, P_Y)
CvYAxis( DATA, Point, 0, 0, 0, 70000+5000+400, -2)

;-----------------------------------------------
;コメント文字列
;-----------------------------------------------

crlf   = TAdd( SvToChar(0x0d), SvToChar(0x0a))
Text = TAdd( "カーソル位置が決定したら<再試行>ボタンを押してください。", crlf)
Text = TAdd( text, "シーケンスを終了する場合、<キャンセル>ボタンを押してください。")

exit=1
While exit
  err = BoxMessage("",Text, "!3")
  If Err=0
    ;-----------------------------------------------
    ;キャンセルならシーケンスを終了
    ;-----------------------------------------------

    exit=0
  Else
    ;-----------------------------------------------
    ;継続する場合、データを取得してExcelに転送
    ;-----------------------------------------------

    xLeft = CvCursor(DATA,1)
    xLeft = xLeft-Mod((xLeft-XOff?( DATA)), XDel?( DATA))              ;測定点に値を設定

    P_X   = Join( P_X, xLeft)                                                          ;測定点をカーブウィンドウに表示
    P_Y   = Join( P_Y, Value( DATA, xLeft))
    Point = XYOf( P_X, P_Y)

    Cell_1 = TAdd( "R", TForm( exit, "F00"))                                    ;Excelに転送
    Cell_N = TAdd( Cell_1, "C1")
    err     = DDESet( "Excel","Sheet1", Cell_N, TForm( exit, "F00"), 1)
    Cell_N = TAdd( Cell_1, "C2")
    err     = DDESet( "Excel","Sheet1", Cell_N, xLeft, 1)
    Cell_N = TAdd( Cell_1, "C3")
    err     = DDESet( "Excel","Sheet1", Cell_N, Value( DATA, xLeft), 1)

    exit = exit+1
 End
End


製品詳細はこちら

<< カーブウィンドウに関するFAQ一覧へ戻る