| Autor |
Beitrag |
Ja-Pa
      
Beiträge: 458
Win XP, Suse 9.3
D1, D3, D5 Std, D7 Pro, D2005 Pers, Kylix 3
|
Verfasst: Mi 22.10.03 17:33
Hallo,
ich möchte die Zwischenablage von Windows erst abspeichern, dann für mein Programm intern verwenden und dann die ursprüngliche Zwischenablage wieder setzen.
Wie kann ich den gesamten Inhalt des Clipboards in einer Variable speichern und dann auch wieder setzen?
Es sollte auch möglich sein, wenn Bilder oder Dateien in der Ablage sind. Einfach eine Instanz von TClipboard zu speichern geht leider nicht
Gruß, Ja-Pa
_________________ Der Autor dieses Textes haftet nicht für Schäden an Soft- oder Hardware
oder Vermögensschäden, die durch das Benutzen des Textes entstehen.
|
|
toms
      
Beiträge: 1099
Erhaltene Danke: 2
|
Verfasst: Mi 22.10.03 18:01
Schau mal den Beitrag von P. Below (TeamB) an:
www.swissdelphicente.../showcode.php?id=945
|
|
Ja-Pa 
      
Beiträge: 458
Win XP, Suse 9.3
D1, D3, D5 Std, D7 Pro, D2005 Pers, Kylix 3
|
Verfasst: Do 23.10.03 15:33
Naja, etwas komplizert und lang  , aber solange es seinen Zweck erfüllt
Wer was kürzeres (als 206 Zeilen) weiß, kann es ja trozdem noch posten.
Gruß, Ja-Pa
_________________ Der Autor dieses Textes haftet nicht für Schäden an Soft- oder Hardware
oder Vermögensschäden, die durch das Benutzen des Textes entstehen.
|
|
maximus
      
Beiträge: 896
Win XP, Suse 8.1
Delphi 4/7/8 alles prof
|
Verfasst: Do 23.10.03 17:03
Wo genau is da dein problem? ..du wirst noch öffter mit code zu tun haben, der grössen als 200 zeichen ist. Mach aus den oberen procedure eine unit und gut is  ..die lösung ist doch ideal - alles schön mit streams etc. was will man mehr?
cu,
_________________ mfg.
mâximôv
|
|
Ja-Pa 
      
Beiträge: 458
Win XP, Suse 9.3
D1, D3, D5 Std, D7 Pro, D2005 Pers, Kylix 3
|
Verfasst: Sa 25.10.03 12:39
Na gut, ihr habt mich überredet 
_________________ Der Autor dieses Textes haftet nicht für Schäden an Soft- oder Hardware
oder Vermögensschäden, die durch das Benutzen des Textes entstehen.
|
|
Ja-Pa 
      
Beiträge: 458
Win XP, Suse 9.3
D1, D3, D5 Std, D7 Pro, D2005 Pers, Kylix 3
|
Verfasst: Sa 25.10.03 12:43
| maximus hat folgendes geschrieben: | | der grössen als 200 zeichen ist. |
Ja 200 Zeichen wär kein Problem, ... aber 200 Zeilen.
Ich mache es jetzt aber trotzdem mit einer neuen Unit.
Es ist nur so, dass ich soviel eigentlich gar nicht gewollt habe
Eigentlich wollte ich die Zwischenablage nur für ein paar Millisekunden in einer Variablen zwischenspeichern und nicht gleich auf der Festplatte,
aber trotzdem danke. Den Zweck erfüllt es auf jeden Fall
Gruß, Ja-Pa
_________________ Der Autor dieses Textes haftet nicht für Schäden an Soft- oder Hardware
oder Vermögensschäden, die durch das Benutzen des Textes entstehen.
|
|
maximus
      
Beiträge: 896
Win XP, Suse 8.1
Delphi 4/7/8 alles prof
|
Verfasst: Sa 25.10.03 14:08
| Ja-Pa hat folgendes geschrieben: | ...
Eigentlich wollte ich die Zwischenablage nur für ein paar Millisekunden in einer Variablen zwischenspeichern und nicht gleich auf der Festplatte,
aber trotzdem danke. Den Zweck erfüllt es auf jeden Fall
...
|
Also dann hast du den code anscheinend falsch verstanden! Hier wird nix auf platte gespeichert, wenn du es nicht willst  Das sind doch nur unschuldige streams...ob du sie auf platte (TFileStream) oder in den speicher (TMemoryStream) schreibst bleibt dir überlassen!
Definiere den TMemoryStream einfach als member in deinem objekt:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| ms: TMemoryStream; ...
ms := TMemoryStream.Create; ... ms.Free; ...
procedure TForm1.Button1Click(Sender: TObject); begin SaveClipboard(ms); end;
procedure TForm1.Button3Click(Sender: TObject); begin LoadClipboard(ms); end; |
..es bleibt so alles im speicher! Nur wenn du deine clipboard kopie persistent haben willst, musst du auf platte speichern
cu,
_________________ mfg.
mâximôv
|
|
Ja-Pa 
      
Beiträge: 458
Win XP, Suse 9.3
D1, D3, D5 Std, D7 Pro, D2005 Pers, Kylix 3
|
Verfasst: Mo 27.10.03 13:26
| Zitat: |
ms.SaveToFile('c:\temp\ClipBrdSaved.dat');
|
Das hab ich gemeint mit speichern auf der Festplatte (lecker  ).
Aber wenn es auch anders geht, Danke!
Ich kenne mich mit Streams noch nicht so aus
mfg, Ja-Pa
_________________ Der Autor dieses Textes haftet nicht für Schäden an Soft- oder Hardware
oder Vermögensschäden, die durch das Benutzen des Textes entstehen.
|
|
|