hmPython3の基礎中の基礎のAPI

  • 概要

    hmPython3は、Python側から、「秀丸マクロの変数への値の設定・値の取得」の両方が出来るため、
    「秀丸マクロ→hmPython3へと問い合わせる」、といった必要性は原則的にはありませんが、
    「hmPy / hmRb / hmV8 / hmJS / hmPS / hmLoadCLR / 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が返ってきます。