Microsoft Visual Basic 6.0 DDE Example

 


SpectraSOFT(PLUS2.32を除く)は、MS-Windowsが提供するDDE機能に対応しています。DDE機能は主なスプレッドシート、データベースソフトやプログラム開発言語が対応し ていますが、ここではマイクロソフト社Visual Basicの簡単なプログラムを紹介します。

 

ホットリンクの確立

SpectraSOFTにアプリケーションが"talk"する前に、プログラムはDDEサーバの「名前」と「トピック」を知らなければなりません。 SpectraSOFTの有効な名前は次の通りです。

また、データをリクエストする時は「特性項目」の名前が分かっていなければなりません。

 

例) ピークアンプリチュード、ピーク周波数と、スペクトラムデータの取得

このサンプルではViewコントロールパートを記述しておりませんのでSpectraSOFTを手動で操作し、あらかじめ<View>メニューの<Spectrum>をアクティブ/オンにして下さい。

  左図では、テキストボックス1(図上部)にピークアンプリチュード(dB)をまた、テキストボックス2(図下部)にスペクトラムを表示しています。
スペクトラムデータは(周波数(Hz) + アンプリチュード(dB))を1ユニットとし、Spectrum Viewに表示される全データを文字列として取得、表示します。各ユニット間は「Cr+Lf」キャラクターで次のように分離されます。

2756.250000 -68.007690
4134.375000 -68.538422
5512.500000 -71.264275
6890.625000 -70.179237
8268.750000 -67.454002
9646.875000 -68.772270
11025.000000 -69.685143
12403.125000 -72.620033
13781.250000 -72.131783
15159.375000 -70.632233
16537.500000 -72.461372
17915.625000 -70.983223
19293.750000 -70.208176
20671.875000 -999.900024

 

Module1.bas

Sub Main()

   'フォーム1を表示します
   Form1.Show

End Sub

Form1.frm

Private Sub Form_Load()

   'ピーク値表示テキストボックス1SpectraSOFTをリンクします
   Text1.LinkTopic = "Softest" & Chr(124) & "Data"
   Text1.LinkMode = 2   

   'スペクトラム値表示テキストボックス2SpectraSOFTをリンクします
   Text2.LinkTopic = "Softest" & Chr(124) & "Data"
   Text2.LinkMode = 2

End Sub


Private Sub GetDataPA_Click()

   'Peak Amplitude」ボタンをクリックした時、ピークアンプリチュードデータを指定します
   Text1.LinkItem = "Peak Amplitude"
   'データの転送をアナライザーに要求し、テキストボックス1に表示します
   Text1.LinkRequest

End Sub


Private Sub GetDataPF_Click()

   'Peak Frequency」ボタンをクリックした時、ピーク周波数データを指定します
   Text1.LinkItem = "Peak Frequency"
   'データの転送をアナライザーに要求し、テキストボックス1に表示します
   Text1.LinkRequest

End Sub


Private Sub Spectrum_Click()

   'Spectrum」ボタンをクリックした時、スペクトラムデータを指定します
   Text2.LinkItem = "Spectrum"
   'データの転送をアナライザーに要求し、テキストボックス2に表示します
   Text2.LinkRequest

End Sub


Private Sub Start_Click()

   'Run」ボタンをクリックすると、アナライザーをスタート/ストップします
   If Start.Caption = "Run" Then
      Text1.LinkExecute "[Run]"
      Start.Caption = "Stop"
   Else
      Text1.LinkExecute "[Stop]"
      Start.Caption = "Run"
   End If

End Sub

サンプルソース(圧縮ファイル.ZIP)はこちらから。プロジェクト名は「Project1」です。

 


ST-Top Page |