AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datei aus MemoryStream öffnen

Ein Thema von TheMiller · begonnen am 15. Mär 2010 · letzter Beitrag vom 15. Mär 2010
Antwort Antwort
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

Datei aus MemoryStream öffnen

  Alt 15. Mär 2010, 14:59
Hallo,

ich sitze zwar gerade nicht an Delphi, aber mir ist eine Idee gekommen wie ich ein "Problem" lösen bzw. eine Vorgehensweise verschönern könnte. Wäre nett, wenn ihr mir ein bisschen was dazu sagen könntet.

Also, ich speicher Dateien (kleine PDFs etc.) in einer lokalen FireBird-DB. Ich habe mich dazu entschieden, da es sich beim Endanwender mit der Zeit um einige Dateien handeln wird, diese User nicht so versiert im Umgang mit PCs sind und daher die Datensicherung leichter ist. Auch, wenn man das Programm auf einen USB-Stick kopiert, hat man alles beisammen. Einfach und kompakt.

Nun, wenn die Dateien aus dem Programm heraus geöffnet werden, wird die Datei in ein temp-Verzeichnis extrahiert und mit ShellExecute geöffnet. Funktioniert prima, mich stört aber das Extrahieren in das Temp-Verzeichnis.

Meine Frage ist jetzt, ob man Dateien via ShellExecute (oder einem anderen Wege) aus einem MemoryStream laden kann, also das Öffnen ohne die vorherige Extrahierung.

Vielen Dank im Voraus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Datei aus MemoryStream öffnen

  Alt 15. Mär 2010, 15:09
Solange du keinen PDF-Reader findest, welcher die Daten auch anders, als nur als Datei entgegennimmt, wird dir nichts anderes übrig bleiben, als die Streams in temporäre Dateien abzuspeichern.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#3

Re: Datei aus MemoryStream öffnen

  Alt 15. Mär 2010, 15:12
Ok, ich verstehe das Problem. Etwas problematischer wird es noch, da es auch Bilder etc. sein könnten. Gut, dann hat sich das soweit schon erledigt

Aber die Idee als Solche finde ich irgendwie toll. Wie machen das die Live-Syste wie Knoppix? Da liegen die Dateien doch auch alle im RAM?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: Datei aus MemoryStream öffnen

  Alt 15. Mär 2010, 15:14
Die richten AFAIK eine Ramdisk ein, verfügen also dann über ein Dateisystem.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Datei aus MemoryStream öffnen

  Alt 15. Mär 2010, 15:15
Dort wird ein Teil des RAM wie ein Datenträger verwaltet.

Also wenn du dir ein VirtualDrive einrichtest, dann könntest du die Datei dort reinkopieren/verlinken
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#6

Re: Datei aus MemoryStream öffnen

  Alt 15. Mär 2010, 15:16
Hm ja ne... Das wäre ein wenig übertrieben für das kleine Projekt. Außerdem strebt der erzielte Vorteil gegen null. Nunja, aber wieder was gelernt

Vielen Dank
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 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