AGB  ·  Datenschutz  ·  Impressum  







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

Schreib-Zugriff auf Datei

Ein Thema von MasterEvil · begonnen am 15. Dez 2005 · letzter Beitrag vom 17. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von MasterEvil
MasterEvil

Registriert seit: 12. Feb 2005
Ort: Hannover
234 Beiträge
 
Delphi 7 Enterprise
 
#1

Schreib-Zugriff auf Datei

  Alt 15. Dez 2005, 19:44
Hi,

hab ein kleines Problem, für das ich keine "schöne" Lösung finde bislang.

Und zwar habe ich ein Programm, welches eine Datei öffnet, den Inhalt ausliest, dann wieder schließt.
Dann kann man Sachen an dem Inhalt ändern und irgendwann dann wieder zurück speichern.

Nun will ich, dass wenn jemand anderes in der Zeit (solange man die Datei "offen" hat) die Datei mit meinem prog öffnen will nur Lese-Rechte bekommt und nicht speichern kann, da sich die beiden ja sonst gegenseitig überschreiben.

Gibt es da gute Lösungsansätze?

Will die Datei eigentlich nicht die ganze Zeit offen halten.
Und es sollte möglichst auch ein Schutz sein, den Windows eventuell wieder selber wegbekommt (falls das Prog zum Beispiel zwischendurch abstürzt, dann würde die Datei ja Schreibgeschützt bleiben).

greetz,
Steffen
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Schreib-Zugriff auf Datei

  Alt 15. Dez 2005, 20:32
Hallo Steffen,

setze doch die Datei nach dem Einlesen und bis zum Zurückschreiben einfach auf ReadOnly:

Delphi-Quellcode:
uses
  SysUtils;

begin
  Memo.Lines.LoadFromFile(fileName);
  if FileIsReadOnly(fileName)
    then // tell user
    else FileSetReadOnly(fileName, true);
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von MasterEvil
MasterEvil

Registriert seit: 12. Feb 2005
Ort: Hannover
234 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Schreib-Zugriff auf Datei

  Alt 15. Dez 2005, 22:18
thx, die idee ist ganz gut.

Windows setzt dann zwar die Rechte nicht automatisch zurück, aber falls das Prog abstürzt kann es so trotzdem noch jeder machen

danke nochma,
Steffen
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Schreib-Zugriff auf Datei

  Alt 15. Dez 2005, 22:28
Aber das andere Programm könnte die Datei sofort wieder zurücksetzten mit filesetreadonly(false)...
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Schreib-Zugriff auf Datei

  Alt 16. Dez 2005, 00:26
Öffne die Datei exklusiv.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von MasterEvil
MasterEvil

Registriert seit: 12. Feb 2005
Ort: Hannover
234 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Schreib-Zugriff auf Datei

  Alt 16. Dez 2005, 08:09
@ichbins:
da mein prog das einzige ist, was die Datei öffnen kann, ist das kein problem
Ist für meinen ProjectManager.

@Luckie:
Was genau heisst das?
Und wie macht mans?


greetz
Steffen
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Schreib-Zugriff auf Datei

  Alt 16. Dez 2005, 08:18
Hallo Steffen,

exklusives Öffnen verhindert, dass ein anderer Prozess auf die Datei zugreifen kann, während du sie offen hältst. In der Online-Hilfe findest du Informationen dazu unter TFileStream.Create. Wenn du die Datei, wie in meinem Beispiel-Code, per LoadFromFile lädst, dann hast du die Datei exklusiv geöffnet und nach dem Lesen sofort wieder geschlossen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von MasterEvil
MasterEvil

Registriert seit: 12. Feb 2005
Ort: Hannover
234 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Schreib-Zugriff auf Datei

  Alt 16. Dez 2005, 08:42
ja, das dachte ich mir schon.
Nur muss ich sie ja dann offen halten, damit das so bleibt.
Ansonsten ist das ja gleich wieder weg.

greetz
Steffen
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#9

Re: Schreib-Zugriff auf Datei

  Alt 16. Dez 2005, 09:24
Wäre es nicht denkbar, mit einer temporären Kontrolldatei zu arbeiten, die statt der eigentlichen Datei exklusiv geöffnet wird. Dann bleibt der Zugriff auf die Datei weiterhin möglich, den Schreibschutz musst Du dabei selbst steuern.
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
Benutzerbild von MasterEvil
MasterEvil

Registriert seit: 12. Feb 2005
Ort: Hannover
234 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Schreib-Zugriff auf Datei

  Alt 16. Dez 2005, 17:44
Ja, hatte ich auch überlegt, finde nur eine zusätzliche Datei sehr unschön.
Das soll nur eine Datei bleiben

greetz
Steffen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:55 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