hmPython3の基礎中の基礎のAPI

概要

hmPython3は、Python側から、「秀丸マクロの変数への値の設定・値の取得」の両方が出来るため、
「秀丸マクロ→hmPython3へと問い合わせる」、といった必要性は原則的にはありません
が、
「hmPy / hmRb / hmV8 / hmJS / hmPS / hmPerl」との共通仕様の一環として、
そのような最低限の情報の送受信が出来る関数が揃っています。

基本となる5つの関数

以下の5つのAPIを知るだけで、秀丸マクロとPythonの値のやりとりは十分できます。

  • 命令の実行:
     └ DoString(szexpression)

    文字列「szexpression」をPythonの命令として実行します。

    何らかの明確な内部エラーがあった場合は0が、とりあえず実行できた場合は1が返ってきます。


  • 値の取得(整数):
     └ GetNumVar(sz_var_name)

    Python内のグローバル変数「sz_var_name」を「整数」として取得します。

    元々が数値でなくとも、数値に変換可能なものであれば、整数として返ってきます。
    該当の変数が存在しなかったり、エラーが発生した場合は、0が返ってきます。
    対象の値が元々0の場合と区別がつかないですが、運用でカバーしてください。


  • 値の設定(整数):
     └ SetNumVar(sz_var_name, value)

    Python内のグローバル変数「sz_var_name」に整数「value」を設定(代入)します。

    該当の変数が存在しなかったり、エラーが発生した場合は、0が返ってきます。
    代入に成功した場合は、1が返ってきます。


  • 値の取得(文字列):
     └ GetStrVar(sz_var_name)

    Python内のグローバル変数「sz_var_name」を「文字列」として取得します。

    元々が文字列でなくとも、文字列に変換可能なものであれば(原則文字列に変換可能です)、文字列として返ってきます。
    該当の変数が存在しなかったり、エラーが発生した場合は、「""」が返ってきます。
    対象の文字列が元々「""」の場合と区別がつかないですが、運用でカバーしてください。


  • 値の設定(文字列):
     └ SetStrVar(sz_var_name, value)

    Python内のグローバル変数「sz_var_name」に文字列「value」を設定(代入)します。

    該当の変数が存在しなかったり、エラーが発生した場合は、0が返ってきます。
    代入に成功した場合は、1が返ってきます。