TTSneo 1.0では、より便利なソフトウェアとなるために様々な改良を行いました。
このページでは、TTSneo1.0ベータ版で追加された機能や改良された点を紹介します。
現在提供しているTTSneo1.0は、ベータ版です。今後、さらに変更を行う可能性があります。
バックアップを忘れずに
TTSneo1.0は、現在ベータ版として提供しています。
更新する前に、以前のバージョンをバックアップすることをお勧めします。更新したが、問題が起こったため、前のバージョンに戻したい場合は、以前のバージョンを再インストールしてください。
過去のバージョンは、公式サイトからダウンロードできます。また、更新する前に、動かなくなると困るプログラムを「実行ファイルの作成」にすると
新バージョンにしても問題なくプログラムを使うことができます。クリーンアップインストーラを利用してください
TTSneo1.0では、大幅な変更を行いました。そのため、古いファイルやレジストリ情報を削除するため、
クリーンアップインストーラを利用して、古いTTSneoをアンインストールしてください。
TTSneo1.0では、TTSスタジオneoとTTSneo本体の通信機能を改良しました。
そのため、TTSneo 0.998以前の環境で、最新のTTSスタジオneoを利用したり、
TTSneo1.0の環境で、古いTTSスタジオneoを使うことはできません。通常は問題ありませんが、異なる時期に公開された本体とエディタを、組み合わせて利用している方は、ご了承ください。
不都合の修正
・TTSスタジオneoの不都合
・メニューを多く作成すると、ボタンをクリックしたときなどに誤動作する不都合
・表オブジェクトの「一覧」設定項目を指定すると、欠ける部分があるの不都合
・「配列削除」関数で、空白行があると正しく処理させないことがある不都合 など
向上したところ
・インストーラの改良
ユーザさんのご意見を反映して、Inno Setupで作成されたものに変更しました。・「圧縮」「解凍」命令など、書庫関連命令で、自己解凍書庫(exe)の判別して、適切な形式で処理するように改良
・行の最後に「_」を付けることで複数行またがって記述することが可能になりました
「 こんにちは ようこそTTSneoへ_
TTSneo1.0では、様々な改良がされています。_
行の最後を「_」にすることで複数行にまたがって記述できます」を表示そのほかにも向上した点があります。詳しくは、下記の説明をご覧ください。
「個数」設定項目
表示されている項目の数を表します。
リスト1の個数回、数に1からカウントして繰り返せ
・・・
繰り返し終わり
「位置と大きさ」設定項目
位置と大きさを一度に指定できます。
ウィンドウ1を作れ
その位置と大きさは、100,100,200,100
待機「種類」設定項目
ウィンドウの形を変更できます。
指定できるのは、 標準・固定・ツール・固定ツール・縁無し・フルスクリーン です。ウィンドウ1を表示
その種類は、固定
待機これまで、ウィンドウの種類は、「ウィンドウ」・「固定ウィンドウ」・「ツールウィンドウ」などに種類ごとにオブジェクト名が違いましたが、
今後、「ウィンドウ」のみに統一する予定です。
プロセスバーの廃止
間違った名称だったため、「プログレスバー」へ名称をすでに変更しています。
今までは、互換性を維持するため、「プロセスバー」でも正しく動作していましたが、1.0では使えなくなります。
古いプログラムを実行される際は、オブジェクト名を書き換えてください。
「ハンドル」・「DCハンドル」関数の廃止
複数のウィンドウやピクチャーオブジェクトを扱うようになったため、「ハンドル」・「DCハンドル」関数を廃止します。
これらの関数を使っている場合は、ウィンドウにある「ハンドル」・「DCハンドル」設定項目を利用してください。例 「ウィンドウ1のハンドル」・「ウィンドウ1のDCハンドル」
「作れ」命令で、オブジェクトを作成するときに、別名を指定することができます。
TTSneo1.0では、別名を指定したときに、そのオブジェクトで実行される手順の名前も別名になるように変更しました。
これにより、たくさんのオブジェクトを使うプログラムの作成が容易になりました。例
ボタン1をOKボタンとして作れ
手順は ウィンドウ1のOKボタンをクリック
終わり窓としてウィンドウ1を使う
窓の名前は、「テスト」
窓を表示
OKボタンとしてボタン1を作れ
OKボタンの名前は、「OK」
待機
手順は 窓のOKボタンをクリック
「こんにちは」を表示
終わりTTSneo1.0より「使う」命令でも別名を指定することができるようになりました。
また、TTSスタジオneoでも、別名の指定に対応しました。
そのため、部品の番号管理も格段に分かりやすくなりました。
構造体の呼び出しに対応
「宣言」命令を使ってDLLの呼び出しするときにしていする引数に、構造体を指定することが可能になりました。
TTSneoでは、辞書機能を構造体に見立てて処理します。参照渡しに対応
VBのByRefにあたる参照渡しに対応しました。
このためポインタ変数を指定しなければならなかったDLL関数も利用可能になりました。
TTSneoでは、構造体(ユーザ定義型)の代わりに辞書を使って、構造体を表現します。
構造体の宣言
TTSneoには、型という考え方がありませんので、構造体に必要な情報を辞書に保存しておきます。
辞書を構造体として初期化する 「辞書初期化」命令
[構造体名]を「[変数名]=[型/バイト数],・・・」で辞書初期化
[型/バイト数]には、「Long」「String」「Integer」または、確保するバイト数を指定します。
構造体として、辞書を利用するときは、必ず「辞書初期化」命令を実行してください。※「Long」「String」「Integer」「DWORD」「HWND」「INT」が指定可能
たとえば、Win32APIにある「POINTAPI」構造体を作成するには下のように命令します。
★Visual Basicの場合
Public Type POINTAPI
X As Long
Y As Long
End Type★TTSneoの「辞書初期化」命令を使うと
POINTAPIを「X=Long,Y=Long」で辞書初期化
構造体に値を設定する
作成した構造体に値を指定するには、辞書機能の設定方法と同じです。
POINTAPIを「X=Long,Y=Long」で辞書初期化
内容は、POINTAPI ’構造体の基本形をコピーする
内容(「X」)は、10
内容(「Y」)は、10この例では、基本形となる「POINTAPI」変数に辞書を作成しておき、実際に利用するときは、「POINTAPI」変数にある内容を、「内容」変数にコピーしてから使っています。
必ずもこの方法でなくてもかまいませんが、何度も利用する場合は、手間が省けるので便利です。
値を取得する
普通の辞書機能と同じように記述します。
内容(「X」)を表示
DLL関数に構造体を引数として渡す
引数に、構造体を渡せるようにするには、「宣言」命令で、引数名の前に「@」をつけてください。
user32のGetCursorPosをGetCursorPos(@POINTAPI)と宣言
POINTAPIを「X=Long,Y=Long」で辞書初期化
内容は、POINTAPI ’構造体の基本形をコピーする
内容(「X」)は、10
内容(「Y」)は、10
20回繰り返せ
待て 0.5
内容をGetCursorPos ’引数に構造体を指定する
「[内容(「X」)],[内容(「Y」)]」を報告
繰り返し終わり
文字列を含む構造体
文字列を含む変数が含まれる場合は、変数名の前に「$」を付けて、確保する文字列のサイズを指定します。
★VBでの構造体の宣言
Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type★TTSneoでの使用例 (GetVersionEx関数の呼び出し)
KERNEL32のGetVersionExAをGetVersionEx(@OSVERSIONINFO)と宣言
OSVERSIONINFOを「dwOSVersionInfoSize=Long、
dwMajorVersion=Long、
dwMinorVersion=Long、
dwBuildNumber=Long、
dwPlatformId=Long、
$szCSDVersion=128」で辞書初期化
内容は、OSVERSIONINFO
内容の「dwOSVersionInfoSize」に内容(「__Total」)を辞書保存
内容をGetVersionEx
「Windows [内容(「dwMajorVersion」)].[内容(「dwMinorVersion」)].[内容(「dwBuildNumber」)] [内容(「$szCSDVersion」)]」を表示配列全体のバイト数を取得するには、「辞書(内容、「__Total」)」としてください。
構造体に構造体を指定する場合
構造体の中で構造体を指定する場合は、辞書で辞書を宣言する必要があります。
「辞書初期化」命令の変数名の前に「@」をつけてください。
これまでTTSneoのDLL関数の引数は、値渡し(ByVal)で行っていました。
TTSneo1.0より、これまで対応していなかった参照渡しを利用するDLL関数も利用できるようになりました。DLL関数の引数で、VBのByRefキーワードを使った参照渡し、C/C++のポインタ変数を渡す必要がある場合は、
TTSneoの「宣言」命令の変数名の前に、「*」を指定してください。
「*」を指定することで、TTSneoが自動的に参照渡しで処理します。VBでの宣言文字列
Declare Function GetUserName Lib "ADVAPI32" Alias "GetUserNameA" (ByVal lpBuffer$,ByRef nSize&) As Long
場合によっては、「ByRef」が省略されている場合があります。ByValでない場合は、「*」をつける必要があります。
TTSneoでの利用例
’DLLの宣言
advapi32.dllのGetUserNameAをGetUserName(文字、*サイズ)として宣言
ユーザ名を表示
手順は ユーザ名
’ユーザ名の取得
ここだけの変数は、名前
名前は スペース(256)
名前、256をGetUserName
名前は 右のスペース削除(名前)
名前で抜ける
終わり
TTSneo1.0ベータ版公開後、さらに新機能の追加や改良を行う予定です。