<p>今見ているデータの一部を編集して、新しくデータを作成したいありませんか？こんなときには、現在のレコードをコピーしてそのレコードを編集するのが簡単!<br />ということで、以下はカレントレコードをコピーする関数の例です。</p>
<pre class="brush: delphi">procedure AppendCurrent(Dataset: TDataset); 
var 
  aField: Variant; 
  i: Integer; 
begin 
  // バリアント型の配列を作成 
  aField := VarArrayCreate([0, Pred(DataSet.FieldCount)], VarVariant); 
  // フィールドのデータを先ほどの配列にコピー 
  for i := 0 to Pred(DataSet.FieldCount)do 
    aField[i] := DataSet.Fields[i].Value; 
  // 新規レコードを追加 
  DataSet.Append ; 
  // 新規レコードに配列のデータを書き戻し 
  for i := 0 to Pred(DataSet.FieldCount)do 
    DataSet.Fields[i].Value := aField[i]; 
end; 
</pre>