Boas Amigos como poderei copiar e colar outra vez em um dbgrid os valores no mesmo Dbgrig depois de enviar os dados para o Clipbrd, já tentei varias formas não esta dando certo. (Adiciono na tabela mestre um registo novo e quero adicionar os campos do dbgrid enviados para Clipbrd) . Obrigado var Linhas: TStringList; i, posicao: integer; s: string; aField : Variant; j : Integer; H : Integer; begin Linhas := TStringList.Create; Clipboard.Open; try with copiar1 do begin DSub_TRelFinal.AutoEdit:= true; DataSource.DataSet.DisableControls; Posicao := DataSource.DataSet.RecNo; DataSource.DataSet.First; while not DataSource.DataSet.Eof do begin s := ''; for i := 0 to Columns.Count - 1 do begin if i > 0 then s := s + #9; // Tabulação s := s + Columns.Items.Field.Text; end; Linhas.Add(s); DataSource.DataSet.Next; end; DataSource.DataSet.RecNo := Posicao; DataSource.DataSet.EnableControls; end; Clipboard.SetTextBuf(Pointer(Linhas.Text)); finally Linhas.Free; Clipboard.Close; try // Create a variant Array aField := VarArrayCreate( [0,Sub_TRelFinal.Fieldcount-1], VarVariant); // read values into the array for j := 0 to (Sub_TRelFinal.Fieldcount-1) do begin aField[j] := Sub_TRelFinal.fields[j].Value ; end; Sub_TRelFinal.Append ; // Put array values into new the record for j := 0 to (Sub_TRelFinal.Fieldcount-1) do begin //readOnly := SubTRelFinal.Fields.ReadOnly; // SubTRelFinal.Fields.ReadOnly := false; Sub_TRelFinal.fields[j].Value := aField[j] ; // SubTRelFinal.Fields.ReadOnly := readOnly; end; except DSub_TRelFinal.AutoEdit:= true ; Sub_TRelFinal.FieldByName('localizacao').AsString := copiarlocal.text; Sub_TRelFinal.FieldByName('Obra').AsString := copiarobra.text; Sub_TRelFinal.FieldByName('Data_VisitaLocal').AsString := defnidata.Text; Sub_TRelFinal.FieldByName('Data_Proxima_visita').AsString := '' ; Sub_TRelFinal.FieldByName('data_relatorio').AsString := ''; Sub_TRelFinal.post; Sub_TRelFinal.edit; end; end;