Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi in Datei gleichzeitig lesen und schreiben? (https://www.delphipraxis.net/72352-datei-gleichzeitig-lesen-und-schreiben.html)

blablab 28. Jun 2006 22:44


in Datei gleichzeitig lesen und schreiben?
 
Hallo,

ich würde gerne in eine Datei gleichzeitig lesen und schreiben. Dazu möchte ich aber 2 Streams (TFileStreams / THandleStreams / ?) verwenden.

Ist das denn möglich, dass zwei Streams auf dieselbe Datei zeigen und ich dann mit einem Stream lesen und gleichzeitig mit dem anderen stream schreiben kann?

vielen dank schonmal!

grüße,
Simon

Cyberbob 29. Jun 2006 00:18

Re: in Datei gleichzeitig lesen und schreiben?
 
Was meinst du mit gleichzeitig? Das der Zugriff parallel stattfindet, also lesen und schreiben zur selben zeit im Programmablauf (z.B. mit Threads) oder das in einem Programmablauf zuerst gelesen und später in der selben Procedure geschrieben wird?

RavenIV 29. Jun 2006 07:14

Re: in Datei gleichzeitig lesen und schreiben?
 
so wie ich das lese, will er "gleichzeitig" lesen und schreiben.
für mich heisst das, dass die Datei zweimal geöffent sein soll.

Als Anwendung könnte ich mir einen Ringpuffer auf Platte vorstellen.
Ein Thread füllt Daten ein, ein anderer Thread liest die Daten wieder aus.

Also thearetisch sollte dies funktionieren, solange Du die Datei nicht exklusiv öffnest.

th_bone 29. Jun 2006 09:30

Re: in Datei gleichzeitig lesen und schreiben?
 
Hier ein link zu einem alten thread von mir - dort findest Du auch ein funktionierdes Bsp link

Tschö

Ralf

blablab 29. Jun 2006 09:48

Re: in Datei gleichzeitig lesen und schreiben?
 
Zitat:

Zitat von Cyberbob
Was meinst du mit gleichzeitig? Das der Zugriff parallel stattfindet, also lesen und schreiben zur selben zeit im Programmablauf (z.B. mit Threads) oder das in einem Programmablauf zuerst gelesen und später in der selben Procedure geschrieben wird?

Entschuldigung, dass ich mein Problem nicht genau beschrieben habe.
Das Lesen und Schreiben soll im gleichen Thread stattfinden.
Das bedeutet, ich habe einen Programmcode in dem abwechselnd gelesen und gewschrieben wird.
Und ich würde hierfür gerne zwei Streams verwenden, sodass ich nicht permanent Seek verwenden muss.

Edit:

Ich hab mir jetzt alle eure Beiträge angeschaut und es funktioniert!
Vielen Dank an euch. Ihr seit echt klasse! (Besonders th_bone!) :-D

Ich habs jetzt mit fmShareDenyNone gemacht.
Das dumme ist nur, ich hab das schonmal probiert nur hab ich die Modes mit and statt mit or verknüpft... :oops:


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