Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Dateiausgabe direkt zum Filestream (https://www.delphipraxis.net/186324-dateiausgabe-direkt-zum-filestream.html)

Mattze 24. Aug 2015 13:19

Dateiausgabe direkt zum Filestream
 
Hallo,

kann man eigentlich die (Datei-)Ausgabe eines Programmes direkt in einen Filestream oder Memorystream umleiten?

DxDiag (MS) kann eine Textdatei erzeugen.
Diese Datei brauche ich in meinem Delphiprogramm, um sie weiter auszuwerten. Danach benötige ich sie nicht mehr.
Es wäre schön (und schneller), wenn ich nicht den Umweg über die physische Datei gehen müsste.

(Ich habe DX11, kann es jedoch anders als mit dieser Datei nicht rauskriegen. In der Registry steht immer noch der Eintrag von DX9c!)

Gruß
Mattze

hathor 24. Aug 2015 14:00

AW: Dateiausgabe direkt zum Filestream
 
Was soll daran schneller sein als an folgendem Code?
dxdiag X:\dxdiag.txt

Union 24. Aug 2015 14:06

AW: Dateiausgabe direkt zum Filestream
 
Du könntest das externe Programm mit PipeExec ausführen und die Ausgabe mit ReadPipe einlesen.

[edit]Also CreateProcess und PeekNamedPipe, ReadFile, CopyMemory[/edit]

Mattze 24. Aug 2015 14:18

AW: Dateiausgabe direkt zum Filestream
 
Hallo hathor,

ich schrieb doch, dass ich diese Datei in meinem Programm auswerte.
Also kommt noch dazu, diese Datei in mein Programm einzulesen, auszuwerten und dann zu löschen.
Wenn ich den Schritt über die auf der Festplatte angelegte Datei, das Löschen spare und es gleich im Hauptspeicher mache, was ist da wohl schneller?

Ich hatte gehofft, dass das irgendwie direkt geht. Indirekt, so wie oben beschrieben, habe ich das schon lange. Mir kam eben halt bloß gerade diese eventuelle Möglichkeit in den Sinn.

Wenn ich dazu allerdings erst noch weitere Programme brauche, beißt sich wohl der Hund in den Schwanz...

Gruß
Mattze

kwhk 26. Aug 2015 08:05

AW: Dateiausgabe direkt zum Filestream
 
Warum speicherst Du die Datensätze dieser Datei nicht z.B. in einem geeigneten Array und liest diese von dort wieder ein ?
Hast Du hier schon mal nachgeschaut ?
http://www.delphi-treff.de/tutorials...erung/streams/

hathor 26. Aug 2015 08:25

AW: Dateiausgabe direkt zum Filestream
 
Zitat:

Zitat von Mattze (Beitrag 1313288)
...Wenn ich den Schritt über die auf der Festplatte angelegte Datei, das Löschen spare und es gleich im Hauptspeicher mache, was ist da wohl schneller?...
Gruß
Mattze

DXDIAG braucht relativ lange, um alle Informationen zu sammeln.
Da ist das Speichern in einem File das geringste Problem!

hathor 26. Aug 2015 08:56

AW: Dateiausgabe direkt zum Filestream
 
Zitat:

Zitat von Mattze (Beitrag 1313261)
Mit DxDiag (MS) kann eine Textdatei erzeugen.
Gruß
Mattze

Oder ein XML-File:
dxdiag /x F:\dxdiag.xml


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:57 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