Table des Matières

Publicité

Un exemple réel
Lancez votre environnement Delphi, copiez la DLL yapi.dll dans un répertoire et créez une nouvelle
application console dans ce même répertoire, et copiez-coller le code ci dessous.
Vous reconnaîtrez dans cet exemple l'utilisation des fonctions expliquées ci-dessus, cette fois
utilisées avec le décorum nécessaire à en faire un petit programme d'exemple concret.
program
helloworld;
{$APPTYPE CONSOLE}
uses
SysUtils,
yocto_api,
yocto_voltageoutput;
procedure
usage();
var
execname:string;
begin
execname := ExtractFileName(paramstr(0));
WriteLn('Usage:');
WriteLn(execname +
WriteLn(execname +
WriteLn(execname +
WriteLn('
<voltage>: floating point number between 0.0 and
WriteLn('Example:');
WriteLn(execname +
sleep(2500);
halt;
end;
var
errmsg,target,channel:string;
voltage:double;
vout:TYVoltageOutput;
vout1,vout2:TYVoltageOutput;
m : TYModule;
begin
if (paramcount<2) then
target
:= UpperCase(paramstr(1));
voltage := StrToFloat(paramstr(2));
if
(YRegisterHub('usb',
begin
writeln('RegisterHub error: '
halt;
end;
if (target='ANY') then
begin
vout := yFirstVoltageOutput();
if
(vout
=nil) then
begin
writeln('No module connected (check USB
halt;
end;
m :=
vout.get_module();
target := m. get_serialNumber();
end;
Writeln('using '
vout1 := yFindVoltageOutput(target + '.voltageOutput1');
vout2 := yFindVoltageOutput(target + '.voltageOutput2');
if (vout1.isOnline()) then
begin
// output 1 : immediate change
vout1.set_currentVoltage(voltage);
// output 2 : smooth change
vout2.voltageMove(voltage,3000);
end
else
writeln('Module not connected (check identification and USB
yFreeAPI();
www.yoctopuce.com
'<serial_number>
'<logical_name>
'any
<voltage>
' any
7.5');
usage();
errmsg)
<>
YAPI_SUCCESS)
+ errmsg);
+ target);
<voltage>');
<voltage>');
(use any discovered
then
cable)');
14. Utilisation du Yocto-0-10V-Tx en Delphi
device)');
10.000');
cable)');
91

Publicité

Table des Matières
loading

Table des Matières