malabarista hat geschrieben:Das geht doch daneben, wenn der Inhalt des Clipboards mehr als 256 Zeichen hat. Oder ?
Deshalb meine Frage: gibt es eine Möglichkeit die Grösse des Clipboard-Inhaltes abzufragen?
Wieso 256? Das ist doch kein ShortString.
Wenn du mit "Größe des Clipboard-Inhalts" das gesamte Clipboard mit allen Formaten meinst, weiß ich nicht, ob man das einfach abfragen kann. Wenn du an einem speziellen Format interessiert bist, liest man die binären Daten zu diesem Format in einen Stream und hat dann die Größe als Größe des Streams:
Code: Alles auswählen
function TMainForm.GetFormatSize(AClipboardFormat: TClipboardFormat): Int64;
var
stream: TStream;
begin
stream := TMemoryStream.Create;
try
try
Clipboard.GetFormat(AClipboardFormat, stream);
Result := stream.Size;
except
Result := -1;
end;
finally
stream.Free;
end;
end;
Und wenn du nur am Textformat interessiert bist, sollte Length(Clipboard.AsText) ausreichen.