Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#13

AW: Freepascal->Delphi: Pointer als Array?

  Alt 2. Okt 2012, 12:51
Delphi-Quellcode:
type
  TPhysicalCharWidth = Byte;
  TPhysicalCharWidths = Array of TPhysicalCharWidth;
  PPhysicalCharWidth = ^TPhysicalCharWidth;



procedure Proz(p:Pointer;len:Integer);
var

 i:Integer;
begin
   for I := 0 to len - 1 do
        TPhysicalCharWidths(p)[i] := TPhysicalCharWidths(p)[i] - 17;
end;

procedure TForm3.Button1Click(Sender: TObject);
var
  I: Integer;
  P: PPhysicalCharWidth;
  T: TPhysicalCharWidths;

begin
   SetLength(t,10);
   for i := Low(t) to High(t) do
      begin
      t[i] := i + 17;
      Memo1.Lines.Add(IntToStr(t[i]));
      end;
   Proz(@T[0],Length(t));

   Memo1.Lines.Add('Nach Proz');

   for i := Low(t) to High(t) do
      begin
      Memo1.Lines.Add(IntToStr(t[i]));
      end;


end;
irgendwo ist jetzt ein Konten drin ... ich lege keine Kopie an und kann zurückschreiben, wo ist mein Denkfehler?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat