Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi ClipboardToFile (https://www.delphipraxis.net/164224-clipboardtofile.html)

Freiwilderer 3. Nov 2011 10:53

ClipboardToFile
 
hi,
dieses projekt führt mich langsam aber sicher von notlösung zu notlösung, die dann wieder nicht funktioniert, weshalb man noch ne weitere notlösung braucht ......

Ich habe jetzt folgendes Problem.
Ich habe eine PDF Datei in der Zwischenablage und möchte diese einfach als Datei in ein Tempverzeichnis oder sonst wohin ablegen.

wie geht sowas? habe bis jetzt nur das Verarbeiten der zwischenablage gefunden.

schön wäre so ne Art Clipboard.Past('C:\Temp'), aber das geht wohl nicht :D

Hintergrund ist der, dass das Programm eine RemoteApp ist und ich auf lokale ressourcen nur über die Zwischenablage zugreifen kann, sonst könnte ich natürlich einfach einen Dateipfad abfragen....

Würde mich sehr über Hilfe freuen....

DeddyH 3. Nov 2011 11:00

AW: ClipboardToFile
 
Vielleicht hilft das hier: http://www.swissdelphicenter.ch/torr...ode.php?id=945

Freiwilderer 3. Nov 2011 11:14

AW: ClipboardToFile
 
hi,
leider nicht so richtig, denn wenn ich
Delphi-Quellcode:
    SaveClipboard(ms);
    ms.SaveToFile('c:\temp\ClipBrdSaved.dat');
verwende, habe ich wieder nur eine 3KB Datei :(

("wieder", weil ich ein ähnliches Problem in einem anderen Thread angesprochen hab.)

Bernhard Geyer 3. Nov 2011 11:17

AW: ClipboardToFile
 
Kann es sein das die verwendete Remoting-Lösung so einen Mißbrauch der Zwischenablage verhindert?
Auf die Idee die Zwischenablage für Filetransfers zu mißbrauchen werden schon andere gekommen sein. Und evtl. so die gewählte Remoting-Lösung genau das nicht ermöglichen und aktiv verhindern soll:gruebel:

Freiwilderer 3. Nov 2011 11:21

AW: ClipboardToFile
 
naja,
also, erstmal versuche ich das momentan noch lokal. und da gehts auch nicht. Ich schreibe eine Datei von meinem C auf mein C Laufwerk.
Ich habe im vorfeld getestet, ob man einen Stream aus der Zwischenablage in die DB Speichern kann, das funktioniert ganz gut, allerdings kann ich diesen Stream im Blobfeld dann nur in die Zwischenablage wieder auslesen. Wenn ich versuche daraus eine Datei zu erzeugen hat die nur 3KB und ist nicht zu gebrauchen.
Deswegen hab ich mir jetzt überlegt, dass ich die zwischenablage in ein Tempverzeichnis auf den Server kopiere, mir den Pfad merke und die Datei dann direkt einlese. Wenn ich das nämlich so mache, kann ich die komplette Datei ohne weiteres aus dem Blob Feld wieder herstellen.

DeddyH 3. Nov 2011 12:27

AW: ClipboardToFile
 
Diese 3 KB machen mich schon sehr stutzig. Bist Du sicher, dass die Daten tatsächlich in Ordnung sind?

Freiwilderer 3. Nov 2011 12:36

AW: ClipboardToFile
 
Witzig, dass du das gerade erwähnst... hab eben gedacht, ich hätte endlich den Durchbruch, aber nein, aufmal war die Datei nur noch 2KB :D....
aber da war wohl nur was anderes in der Zwischenablage...


wie meinst du das mit den Daten, die in Ordnung sind?
Ich bin inzwischen ja schon so weit, dass ich nur eine Datei, die in der Zwischenablage ist irgendwo hinspeichern will ... hätte nie gedacht, dass sowas kompliziert sein könnte ...

himitsu 3. Nov 2011 12:36

AW: ClipboardToFile
 
Wie kommt denn die PDF in die Zwischenablage?

Wenn du z.B. Strg+C im Exploer gemachst hast, dann wäre nur der "Link" zur Datei dort drin, aber nicht die Datei selber.

Freiwilderer 3. Nov 2011 12:44

AW: ClipboardToFile
 
also, es kommt genau so, wie du gesagt hast in die zwischenablage...
kann man das nich ändern?

edit:
wenn ich den stream allerdings mittels dm.qQueryDatei.LoadFromStream(ms); in die DB Schreibe, und später wieder auslese, habe ich die komplette Datei in der Zwischenablage...
oder meinst du, dass ich die dann nur darin habe, weil die ursprüngliche Datei noch in dem Verzeichnis ist und ich den Pfad quasi wieder in die Zwischenablage gepackt habe?

hathor 3. Nov 2011 14:05

AW: ClipboardToFile
 
Zitat:
"In Windows in particular, the internal clipboard functionality of the operating system will automatically translate data from known advanced formats to simpler formats (such as RTF to plain text, or Unicode to ANSI Text), increasing the likelihood that any given application can interpret some form of the original data."

Mit PDF kann das Clipboard nichts anfangen.

Formate:
http://msdn.microsoft.com/de-de/libr...taformats.aspx

Bei WIN XP kann man mit clipbrd.exe sehen, was im Clipboard enthalten ist.

Für andere WIN-Versionen:
http://www.freeclipboardviewer.com/


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.
Seite 1 von 2  1 2      

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