AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kopieren des Inhalt eines Record

Ein Thema von DelphiFan2008 · begonnen am 18. Okt 2013 · letzter Beitrag vom 20. Okt 2013
 
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.869 Beiträge
 
Delphi 12 Athens
 
#3

AW: Kopieren des Inhalt eines Record

  Alt 18. Okt 2013, 21:53
Ich frage mich immer wieder warum man sich das Leben mit Records so schwer machen kann. Eine TObjectList<TTest> ist doch sehr viel einfacher und bequemer als die ganze Pointer- und Speicherspielerei...

Aber wie dem auch sei... zur Frage:
Delphi-Quellcode:
procedure TMyList.CopyToNewItem(Index: Integer; APTest: PTest);
begin
  APTest^ := Self.Items[Index]^;
end;
// EDIT:
Beispiel:
Delphi-Quellcode:
type
  PTest = ^TTest;

  TTest = record
    s1: String;
    d1: Double;
    i1: Integer;
    s2: String;
    l1: LongInt;
    s3: String;
    n1: Int64;
  end;

  TMyList = class(TList<PTest>)
  public
    procedure CopyToNewItem(Index: Integer; APTest: PTest);
  end;

procedure TMyList.CopyToNewItem(Index: Integer; APTest: PTest);
begin
  APTest^ := Self.Items[Index]^;
end;

// Test
var
  Test: TMyList;
  Current: PTest;
begin
  Test := TMyList.Create;
  try
    New(Current);
    Current.s1 := 'Test 1';
    Test.Add(Current);
    New(Current);
    Current.s1 := 'Test 2';
    Test.Add(Current);
    New(Current);
    Current.s1 := 'Nothing';
    Test.CopyToNewItem(0, Current);
    ShowMessage(Current.s1); // ergibt Test 1
  finally
    Test.Free;
  end;
end;
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz