![]() |
inhalt eines Stringgrids in die zwischenablage speichern
Hallo möchte einen Markirten bereich aus einem String Grid Kopieren wie mach ich das ?
thx für die hilfe im vorraus |
Re: inhalt eines Stringgrids in die zwischenablage speichern
Delphi-Quellcode:
uses Clipbrd;
var DeinClipboardHandle : TClipboard; // vor der ersten Verwendung mit // DeinClipboardHandle := TClipboard.Create // erzeugen DeinText1,DeinText2 : String; begin DeinText1 := 'BlaBlaBla' DeinClipboardHandle.AsText := DeinText1; // Clipboard enthält jetzt "BlaBlaBla" DeinText2 := DeinClipboardHandle.AsText; // DeinText2 ist jetzt gleich DeinText1 end; soviel zum Zwischenablagenteil .... :wink: |
Re: inhalt eines Stringgrids in die zwischenablage speichern
OK will es mal ein bischen genauer Beschreiben *g*
WENN !!! das Programm läuft und man seine Daten in das Stringgrid geschmissen Hatt kann der User/Kunde ja mehrere Zellen Markiren bzw. Auswählen. Ich möchte über ein PopUpMenue dem User die möglichkeit geben diesen Markierten Text in die Zwischenablage zu Kopieren damit er ihn via Exel oder änlichem weiter bearbeiten kann. Habe abernoch keine Ahnung wie ich an diese Mehrfach auswahl heran komme hat da schonmal jemand was mit gemacht ? |
Re: inhalt eines Stringgrids in die zwischenablage speichern
Nehmen wir an, du hast 6 Zellen markiert:
Code:
Dann kannst du den Text so formatieren:
123 456 789
qwe rtz uio
Delphi-Quellcode:
Sprich: Die Zellen werden durch Tabulatoren getrennt, eine neue Zeile wird wie gewohnt mit #10 oder #13 oder einer Kombination beider begonnen. Damit dürfte z.B. Excel dann zurechtkommen.
DeinClipboardHandle.AsText := '123' + #9 + '456' + #9 + '789' + #10 + 'qwe' + #9 + 'rtz' + #9 + 'uio';
|
Re: inhalt eines Stringgrids in die zwischenablage speichern
Ja so habe ich mir das auch gedacht, aber wie erkenne ich die mehrfach auswahl ?
|
Re: inhalt eines Stringgrids in die zwischenablage speichern
Schau dir mal die Selection Eigenschaft des TStringGrids an.
|
Re: inhalt eines Stringgrids in die zwischenablage speichern
Also:
das sollte helfen:
Delphi-Quellcode:
2 for-schleifen und feadich :)
StringGrid1.Row {.col}
StringGrid1.Selection.BottomRight.Y {.y} StringGrid1.Selection.TopLeft.X {.x} EDIT: Sorry @ Thanatos81 habich überlesen :/ |
Re: inhalt eines Stringgrids in die zwischenablage speichern
im übrigen brauch man nich extra nen clipboardhandle
uses ClipBrd; begin ClipBoard.AsText := 'Foobar'; end; tuts auch :) |
Re: inhalt eines Stringgrids in die zwischenablage speichern
Zitat:
Delphi-Quellcode:
var
FClipboard: TClipboard; function Clipboard: TClipboard; begin if FClipboard = nil then FClipboard := TClipboard.Create; Result := FClipboard; end; |
Re: inhalt eines Stringgrids in die zwischenablage speichern
schimpft sich auch "Singleton"
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz