This site uses cookies own and third. If you continue to browse consider to accept the use of cookies. OK More Info.

Pegar multiples renglones en un DBGrid

  • 0 Replies
  • 2781 Views

0 Members and 1 Guest are viewing this topic.

Offline ANTRAX

  • *
  • Administrator
  • Posts: 5849
  • Actividad:
    66.67%
  • Country: ar
  • Reputación 43
  • ANTRAX
  • Twitter: @Underc0de
    • View Profile
    • Underc0de
    • Email

Pegar multiples renglones en un DBGrid

  • on: February 24, 2010, 04:52:37 pm
Necesitamos un TMemo en nuestra aplicación, el cual estará invisible y será para pasar temporalemente el contenido del portapapeles, esto para luego pasar linea a linea este contenido a nuestro DBGrid.

Code: (delphi) You are not allowed to view links. Register or Login
procedure TfrmPpal.mnPegarClick(Sender: TObject);
var
  i: Integer;
begin
  if Clipboard.HasFormat(CF_TEXT) then  //Verifica si el portapapeles tiene texto (no imagenes)
     begin
       mmClipboard.Clear;  //Limpiamos nuestro TMemo
       mmClipboard.PasteFromClipboard;
       i := mmClipboard.Lines.Count - 1;  //Establecemos i con las líneas que tiene el TMemo, si son 5 lineas, i vale 5
       while i >= 0 do
          begin
            ADOTablaComp.Insert;
//Ahora vamos a pegar el contenido de la línea "i" en el DBGrid
            ADOTablaComp.FieldByName('NombrePC').AsString := mmClipboard.Lines[i]; 
            try
              ADOTablaComp.Post;  //intentamos hacer el post
            except  //este except es por si tienes indice en el campo a pegar y no aceptas duplicados
              ShowMessage('El texto ' + mmClipboard.Lines[i] + ' ya está dado de alta');
              ADOTablaComp.CancelUpdates;  //esto elimina el dato que queremos pegar y está duplicado
            end;//try
          i := i - 1;
          end; //while
     end; //if Clipboard contiene texto
end;

« Last Edit: April 15, 2013, 11:24:20 pm by Expermicid »