Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Daten von Excel über das Clipboard in Stringgrid einfügen

  Alt 18. Apr 2014, 18:38
Hast du dir schon einmal angeschaut, was da über die Zwischenablage reinkommt?

Ich vermute mal, dass dort eben kein TAB-Delimited Text in die Zwischenablage gelegt wird.

Die Funktion zum Füllen des Grids würde ich auch nicht mit dem Auslesen des Clipboards vermengen.
Auch das Auseinanderpflücken des Textes würde ich auslagern (eine Prozedur erfüllt eine Aufgabe).
Die Prozedur könnte dann so aussehen:

Delphi-Quellcode:
procedure PasteFromClipboard( Grid : TStringGrid; ACol, ARow : Integer );
var
  LText : string;
  LFiller : TGridTextFiller;
begin
  LFiller := nil;
  LText := Clipboard.AsText;
  case AnalyzeText( LText ) of
    ttTabDelimited : LFiller := TTabDelimitedFiller.Create;
    ttCsv : LFiller := TCsvFiller.Create;
  end;
  if not Assigned( LFiller ) then
    raise Exception.Create( 'Unknown Format' );

  LFiller.Fill( Grid, ARow, ACol );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat