User manual

Datenübertragung zu anderen Applikationen 18
© 2005 ... Velleman
For
i = 0
To
20
List1.AddItem "Data(" + Str(i) + ")" + Chr(9) + Chr(9) + Str(DataBuffer(i + 3))
Next
End
Sub
Running the DSOLink in Borland C++ Builder
Die folgenden Dateien stehen im
\PC-lab2000SE tools\PCSU1000 - PCS500 - PCS100 - K8031\Data
transfer DSOLink_DLL\DSOLink_Demo_BCB\
Ordner auf der VELSOFT CD zur Entwicklung mit
Borland C++Builder zur Verfügung:
DSOLink.dll
Dynamic Link Library
DSOLink.h
die C/C++ Header Datei für Funktionsprototypen
DSOLink.lib
die Import Library
DSOLink_demo.cpp
demo source
1.
Kreieren Sie ein neues Projekt in Borland C++ Builder.
2.
Fügen Sie zu Ihrem Projekt die Import Library hinzu mithilfe der
Project | Add to Project
Menü-
Option.
3.
Fügen Sie eine
#include-
Angabe mit einem
DSOLink.H
in der Haupteinheit hinzu.
4.
Fügen Sie schließlich den Code, der die DLL-Fubktionen abruft, hinzu.
DSOLink.h
//---------------------------------------------------------------------------
// DSOLink.h
#ifdef __cplusplus
extern
"C"
{
/* Assume C declarations for C++ */
#endif
#define FUNCTION
__declspec
(dllimport)
FUNCTION
__stdcall
ReadCh1(
int
* ptr);
FUNCTION
__stdcall
ReadCh2(
int
* ptr);
#ifdef __cplusplus
}
#endif
//---------------------------------------------------------------------------
Example
(in Borland C++Builder)
//---------------------------------------------------------------------------
// DSOLink_demo.cpp
#include <vcl.h>
#pragma hdrstop
#include
"DSOLink.h"
#include
"DSOLink_demo.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource
"*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall
TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void
__fastcall
TForm1::Button1Click(TObject *Sender)
{
int
data[
5000
];
ReadCh1(data);
Memo1->Clear();
Memo1->Lines->Add(
"Sample rate [Hz]: "
+IntToStr(data[
0
]));
Memo1->Lines->Add(
"Full scale [mV]: "
+IntToStr(data[
1
]));
Memo1->Lines->Add(
"GND level [counts]: "
+IntToStr(data[
2
]));
Memo1->Lines->Add(
""
);
for
(
int
i =
0
; i <
20
; i++)
{
Memo1->Lines->Add(
"Data "
+IntToStr(i)+
char
(
9
)+IntToStr(data[i+
3
]));
}
}
//---------------------------------------------------------------------------