Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi inhalt eines Stringgrids in die zwischenablage speichern (https://www.delphipraxis.net/50093-inhalt-eines-stringgrids-die-zwischenablage-speichern.html)

remie 20. Jul 2005 15:46


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

TeronG 20. Jul 2005 16:06

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:

remie 21. Jul 2005 06:51

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 ?

scp 21. Jul 2005 07:04

Re: inhalt eines Stringgrids in die zwischenablage speichern
 
Nehmen wir an, du hast 6 Zellen markiert:
Code:
123    456    789
qwe   rtz   uio
Dann kannst du den Text so formatieren:

Delphi-Quellcode:
DeinClipboardHandle.AsText := '123' + #9 + '456' + #9 + '789' + #10 + 'qwe' + #9 + 'rtz' + #9 + 'uio';
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.

remie 21. Jul 2005 07:07

Re: inhalt eines Stringgrids in die zwischenablage speichern
 
Ja so habe ich mir das auch gedacht, aber wie erkenne ich die mehrfach auswahl ?

Thanatos81 21. Jul 2005 07:45

Re: inhalt eines Stringgrids in die zwischenablage speichern
 
Schau dir mal die Selection Eigenschaft des TStringGrids an.

TeronG 21. Jul 2005 12:37

Re: inhalt eines Stringgrids in die zwischenablage speichern
 
Also:

das sollte helfen:
Delphi-Quellcode:
StringGrid1.Row                     {.col}
StringGrid1.Selection.BottomRight.Y {.y}
StringGrid1.Selection.TopLeft.X     {.x}
2 for-schleifen und feadich :)


EDIT: Sorry @ Thanatos81 habich überlesen :/

barf00s 21. Jul 2005 12:43

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 :)

TeronG 21. Jul 2005 12:49

Re: inhalt eines Stringgrids in die zwischenablage speichern
 
Zitat:

Zitat von barf00s
im übrigen brauch man nich extra nen clipboardhandle
uses
ClipBrd;

begin
ClipBoard.AsText := 'Foobar';
end;

tuts auch :)

aha cool ... man lernt nie aus :) ... hab grad geguckt ... ClipBoard.* macht:

Delphi-Quellcode:
var
  FClipboard: TClipboard;

function Clipboard: TClipboard;
begin
  if FClipboard = nil then
    FClipboard := TClipboard.Create;
  Result := FClipboard;
end;

barf00s 21. Jul 2005 13:31

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