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)