Ver Mensaje Individual
  #2  
Antiguo 23-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Cristhor1982 Ver Mensaje
Amigos, de nuevo con el problema para pegar desde clipboard a TStringGrid...

Ahora necesito pegar esto

Equipo 12345

Fecha/Hora 23-may-2013 11:49:11 CLT

Horometro 1111

Operador 12

Cancha 20

Insumo 6789

Cantidad 121

y quede de esta forma

Equipo Fecha/Hora Horometro Operador Cancha Insumo Cantidad
15503 23-may-2013 11:49:11 CLT 1515 363 32 50085645 121
Hola Cristhor1982.

Basándome en los datos de tu mensaje, podrías hacer:
Código Delphi [-]
...
implementation

uses Clipbrd, StrUtils;

var
  TitCol : array of string;

// Titulos de columna
procedure SetTitles(SG: TStringGrid; const aRow: Integer);
var
  i: Integer;
begin
  for i:= Low(TitCol) to High(TitCol)-1 do
    SG.Cells[i,aRow] := TitCol[i];
end;

// Items
procedure SetItems(SG: TStringGrid; const aText: string; const aRow: Integer);
var
  i, p1, p2: Integer;
begin
  for i:= Low(TitCol) to High(TitCol)-1 do
  begin
    p1 := Pos(TitCol[i], aText) + Length(TitCol[i]);
    p2 := PosEx(TitCol[i+1], aText, p1);
    SG.Cells[i,aRow] := Copy(aText, p1, p2-p1);
 end;
end;

// Ejemplo de llamada con tus datos de muestra
procedure TForm1.btnPegarClick(Sender: TObject);
const
  END_CHAR = '^';
begin
  // Cantidad de títulos de columna
  SetLength(TitCol, 8);
  // Texto de títulos de columna
  TitCol[0] := 'Equipo';   TitCol[1] := 'Fecha/Hora'; TitCol[2] :='Horometro';
  TitCol[3] := 'Operador'; TitCol[4] := 'Cancha';     TitCol[5] :='Insumo';
  TitCol[6] := 'Cantidad'; TitCol[7] := END_CHAR;
  // Mostrar títulos StringGrid
  SetTitles(StringGrid1, 0);
  // Mostrar Items en StringGrid
  SetItems(StringGrid1, Clipboard.AsText + END_CHAR, 1);
  // Vaciar TitCol
  Finalize(TitCol);
end;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita