Thema: Delphi Array zerlegen

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Array zerlegen

  Alt 11. Feb 2008, 10:54
Du hast nicht sehr viel Hintergrundinfo geliefert, deshalb muss ich auf Annahmen bauen.

Delphi-Quellcode:
type
  TChannel = array [0..FPGAMax-1] of Word;
  TCustArr = array [1..2] of TChannel;

var
  FPGAData : TCustArr;
  AnalogArr : TChannel;
  DataArr : TChannel;

procedure ExtractData(fpga: TCustArr; analog, data: TChannel; iPort, iWidth, n: Cardinal);
var
  i: Integer;
begin
  for i := 0 to Pred(n) do
  begin
    Move(fpga[iPort, i * (iWidth + 4)], analog[i * iWidth], iWidth shl 1);
    Move(fpga[iPort, i * (iWidth + 4) + iWidth], data[i shl 2], iWidth shl 1);
  end;
end;


// Aufruf:

var
  n: Cardinal;

begin
  n := inBuf div (iWidth + 4);
  ExtractData(FPGAData, AnalogArr, DataArr, iPort, iWidth, n);
end;
Getippt und nicht getestet.

Warum legst du den Speicher statisch an?

Freundliche Grüße
  Mit Zitat antworten Zitat