Top Menu > 技術情報INDEX

SpectraSoft

Microsoft Visual Basic 6.0 DDE Example

 


 *)モデルにより差異があります


SpectraSoftWindowsが提供するDDE機能に対応しています。DDEは主要な表計算、ワープロソフトやプログラム開発言語が対応しています。以下はVisual Basicの簡単なプログラムを紹介します。対象モデルはSpectraPLUS-SC です。

ホットリンクの確立: SpectraPLUS-SC に対してアプリケーションが「talk」する前に、アプリケーションにDDEサーバの「名前」と「トピック」を告知します。

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

 

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

この例ではPlot・View制御パートを記述しておりません。SpectraPLUS Professional Editionを手動で操作し、<Plot・View>メニューの<Spectrum>を選択して下さい。

図では、テキストボックス1(図上部)にピークアンプリチュード(dB)を、またテキストボックス2(図下部)にスペクトラムを表示しています。

  スペクトラムデータは「周波数(Hz) + アンプリチュード(dB)」を一単位とし、Spectrumビューに表示される全データを文字列として取得、表示します。各単位間は「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()

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

   'スペクトラム値表示テキストボックス2SpectraPLUSをリンクします
   Text2.LinkTopic = "Specplus" & 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