Копировать и вставлять ячейки TStringGrid в буфер обменаDelphi , ОС и Железо , Буфер обменаКопировать и вставлять ячейки TStringGrid в буфер обмена
Оформил: DeeCo uses Clipbrd; //Copy procedure TForm1.Button1Click(Sender: TObject); var S: string; GRect: TGridRect; C, R: Integer; begin GRect := StringGrid1.Selection; S := ''; for R := GRect.Top to GRect.Bottom do begin for C := GRect.Left to GRect.Right do begin if C = GRect.Right then S := S + (StringGrid1.Cells[C, R]) else S := S + StringGrid1.Cells[C, R] + #9; end; S := S + #13#10; end; ClipBoard.AsText := S; end; // Paste procedure TForm1.Button2Click(Sender: TObject); var Grect: TGridRect; S, CS, F: string; L, R, C: Byte; begin GRect := StringGrid1.Selection; L := GRect.Left; R := GRect.Top; S := ClipBoard.AsText; R := R - 1; while Pos(#13, S) > 0 do begin R := R + 1; C := L - 1; CS := Copy(S, 1,Pos(#13, S)); while Pos(#9, CS) > 0 do begin C := C + 1; if (C <= StringGrid1.ColCount - 1) and (R <= StringGrid1.RowCount - 1) then StringGrid1.Cells[C, R] := Copy(CS, 1,Pos(#9, CS) - 1); F := Copy(CS, 1,Pos(#9, CS) - 1); Delete(CS, 1,Pos(#9, CS)); end; if (C <= StringGrid1.ColCount - 1) and (R <= StringGrid1.RowCount - 1) then StringGrid1.Cells[C + 1,R] := Copy(CS, 1,Pos(#13, CS) - 1); Delete(S, 1,Pos(#13, S)); if Copy(S, 1,1) = #10 then Delete(S, 1,1); end; end; Here's a translation of the provided content into Russian: Это программный код на Delphi, который реализует функциональность копирования и вставки ячеек из TStringGrid-контроля в буфер обмена. Процедура Процедура В улучшенной версии этого кода добавлены комментарии для объяснения того, что каждый раздел кода делает. Также была добавлена обработка ошибок в процедуре
В статье описывается способ копирования и вставки ячеек TStringGrid в буфер обмена с помощью процедур Copy и Paste. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Буфер обмена ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |