Einzelnen Beitrag anzeigen

kamel08
(Gast)

n/a Beiträge
 
#2

AW: K8055 Analog EIngang - Digital Ausgang

  Alt 30. Mai 2013, 19:14
// In der Demo gibt es folg. procedure

Delphi-Quellcode:
procedure TForm1.DigitalOut(Sender: TObject);
var i:longint;
begin
  i:=integer(CheckBox6.checked)*1+
  integer(CheckBox7.checked)*2+
  integer(CheckBox8.checked)*4+
  integer(CheckBox9.checked)*8+
  integer(CheckBox10.checked)*16+
  integer(CheckBox11.checked)*32+
  integer(CheckBox12.checked)*64+
  integer(CheckBox13.checked)*128;
  if not DisableOtherFunctionCall then WriteAllDigital(i);
end;
ich mache es so:

Delphi-Quellcode:
Type TDigitalAusgaenge = Array[1..8] of Boolean;
Var DigitalAusgang : TDigitalAusgaenge;

Procedure TMainForm.WriteDigital;
var i: longint;
begin
     DisableOtherFunctionCall := true;
     i := Integer(DigitalAusgang[1]) * 1 +
          Integer(DigitalAusgang[2]) * 2 +
          Integer(DigitalAusgang[3]) * 4 +
          Integer(DigitalAusgang[4]) * 8 +
          Integer(DigitalAusgang[5]) * 16 +
          Integer(DigitalAusgang[6]) * 32 +
          Integer(DigitalAusgang[7]) * 64 +
          Integer(DigitalAusgang[8]) * 128;
     //SetDigitalChannel(CardAddr); // Karte 0..3 auswählen
     WriteAllDigital(i);
     DisableOtherFunctionCall := false;
end;

begin
     DigitalAusgang[1] := TRUE;
     DigitalAusgang[2] := TRUE;
     WriteDigital;
end;
  Mit Zitat antworten Zitat