Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listvieweintrag in Zwischenablage kopieren (https://www.delphipraxis.net/17488-listvieweintrag-zwischenablage-kopieren.html)

dopeline 6. Mär 2004 19:59


Listvieweintrag in Zwischenablage kopieren
 
Hallo!

ich habe ein listview mit 8 spalten. ich bentze folgenden code, um den eintrag zu kopieren:
Delphi-Quellcode:
uses ClipBrd;

....

procedure TForm1.ButtonKopierenClick(Sender: TObject);
begin
 Clipboard.AsText := 'Artikel: '+ListView1.ItemFocused.Caption+chr(13)+
                    'Artikelnummer: '+ListView1.ItemFocused.SubItems[0]+chr(13)+
                    'Kaufpreis: '+ListView1.ItemFocused.SubItems[1]+' €'+chr(13)+
                    'Versandkosten: '+ListView1.ItemFocused.SubItems[2]+' €'+chr(13)+
                    'Gesamtpreis: '+ListView1.ItemFocused.SubItems[3]+' €'+chr(13)+
                    'Verkäufer: '+ListView1.ItemFocused.SubItems[4]+chr(13)+
                    'Kaufdatum: '+ListView1.ItemFocused.SubItems[5]+chr(13)+
                    'Lieferdatum: '+ListView1.ItemFocused.SubItems[6];

end;
das funktioniert ja eigentlich auch! das problem jedoch: ich möchte dazwischen immer ein ENTER haben! wenn ich das kopierte jedoch in den editor einfüge habe ich statt nem zeilenumbruch ein kleines viereckiges kästchen!

woran liegt das?


Gruß, dopeline

mirage228 6. Mär 2004 20:02

Re: Listvieweintrag in Zwischenablage kopieren
 
Hi,

Der Zeilenumbruch unter Windows ist nicht "Chr(13)", sondern #13#10 (also "Chr(13)+Chr(10)").

Delphi-Quellcode:
const
  n = #13#10;
begin
Clipboard.AsText := 'Artikel: '+ListView1.ItemFocused.Caption+ n +
                    'Artikelnummer: '+ListView1.ItemFocused.SubItems[0]+ n +
                    'Kaufpreis: '+ListView1.ItemFocused.SubItems[1]+' €'+ n +
                    'Versandkosten: '+ListView1.ItemFocused.SubItems[2]+' €'+ n +
                    'Gesamtpreis: '+ListView1.ItemFocused.SubItems[3]+' €'+ n +
                    'Verkäufer: '+ListView1.ItemFocused.SubItems[4]+ n +
                    'Kaufdatum: '+ListView1.ItemFocused.SubItems[5]+ n +
                    'Lieferdatum: '+ListView1.ItemFocused.SubItems[6];
end;
mfG
mirage228

Christian Seehase 6. Mär 2004 20:03

Re: Listvieweintrag in Zwischenablage kopieren
 
Moin Dopeline,

das könnte einfach daran liegen, dass der Zeilenvorschub sich aus unter Windows i.d.R. aus den Zeichen #13#10 zusammensetzt und nicht einfach #13 ist.
ggf. kommst Du auch mit #10 klar, aber eben nicht mit #13 alleine.

[EDIT]
@Mirage: Vordrängler :mrgreen:
[/EDIT]

dopeline 6. Mär 2004 22:49

Re: Listvieweintrag in Zwischenablage kopieren
 
Vielen Dank!

das funzt super!


Gruß, dopeline


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz