AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Datei löschen trotz Schreibzugriffverbot
Thema durchsuchen
Ansicht
Themen-Optionen

Datei löschen trotz Schreibzugriffverbot

Ein Thema von Armageddon · begonnen am 23. Sep 2004 · letzter Beitrag vom 24. Sep 2004
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#1

Datei löschen trotz Schreibzugriffverbot

  Alt 23. Sep 2004, 08:45
Hi,

ich wüßte gerne ob es eine Möglichkeit gibt den Inhalt eines txt-Files zu ändern auch wenn ich dieses File z.B. in Word aufhabe und mir Word den Zugriff auf diese Datei verweigert. Wenn ja wie mach ich das? Möchte eine Datei die ich für die Übergabe von Daten benutzen muß im Temp-Verzeichnis von Windows ändern. Und zwar zwingend, auch wenn eine andere Anwendung wie Word diese sperrt.

Bis jetzt habe ich nur ne Notlösung damit es wenigstens mal so geht:

Delphi-Quellcode:
function GetTempFolder: AnsiString;
var
  Buf: array[0..MAX_PATH] of AnsiChar;
begin
  GetTempPath(SizeOf(Buf), @Buf);
  Result := Buf;
  if Result <> 'then if AnsiLastChar(Result)^ <> '\then Result := Result + '\';
end;

procedure Speichern(Text: String);
var
  Datei: Integer;
  Buffer: PChar;
  F: String;
begin
  F := GetTempFolder + 'paddydat';
  Datei := FileCreate(F, fmCreate);
  if Datei > 0 then
  begin
    Buffer := PChar(Text);
    FileSeek(Datei, 0, 0);
    FileWrite(Datei, Buffer^, Length(Text));
    FileClose(Datei);
  end
  else Application.MessageBox('Datei kann nicht erstellt werden!' + #13 + #13 +
    'Eine andere Anwendung hat die Datei geöffnet' + #13 +
    'und blockiert den Schreibzugriff!' + #13 + #13 +
    'Schliessen Sie die Anwendung welche die Datei' + #13 +
    'geöffnet hat und versuchen Sie es erneut!', 'Problem',48);
end;
1000 Dank im Voraus
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#2

Re: Datei löschen trotz Schreibzugriffverbot

  Alt 23. Sep 2004, 09:05
Entweder alle Programme öffnen die Datei geshared, oder du wirst keine Möglichkeit haben.
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#3

Re: Datei löschen trotz Schreibzugriffverbot

  Alt 23. Sep 2004, 09:14
Schade, dachte da gibts vielleicht noch ein Hintertürchen. Gibt es aber dann wenigstens die Möglichkeit herauszufinden welches Programm diese Datei geöffnet hat, damit man dem Benutzer sagen kann er soll doch bitte schön erst mal die geöffnete Datei schliessen bevor es weiter geht?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Datei löschen trotz Schreibzugriffverbot

  Alt 23. Sep 2004, 09:25
Wenn es da ein Hintertürchen geben würde, dann wäre ja der exklusive Zugriff auf eine Datei für den Popo.

Kuck mal auf www.sysinternals.com nach dem File-Monitor.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Datei löschen trotz Schreibzugriffverbot

  Alt 23. Sep 2004, 09:56
Na ja, es gibt aber auch Hintertürchen.

Es gibt irgendwie 'ne Möglichkeit aktive Verbindungen zu Dateien/Laufwerken zu trennen, aber wozu will man das -.-


Es sollte doch einfacher sein, dir die alleinigen Rechte zu besorgen,
entwerder mit Hilfe der NT-Rechte den Zugriff durch andere Programme verhinden, welche die Datei so ungewünscht öffnen, oder einfach die Datei selber geöffnte halten, so dass keine fremdes Programm die Datei aufmacht.

Oder ganz einfach ... Datei kopieren und dann die Kopie mir ord und Co. laden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#6

Re: Datei löschen trotz Schreibzugriffverbot

  Alt 23. Sep 2004, 10:20
Das Problem ist das ich an ein anderes Programm etwas übergeben will und der Programmierer eben nur diesen Weg gewählt hat. Ändern wird er es nicht weil er sonst etliche Versionen des Programmes neu erausgeben müßte. Viel zu viel Arbeit also. Der Ablauf bei dem Übergeben sieht folgendermassen aus:

Hauptprogramm ist der NC-Editor von dem Programm NC-FOX aus diesem rufe ich ein Makro auf in dem angegeben ist mein Tool zu starten. Mein Tool schreibt dann beim Beenden Text in die "paddydat" im Temp Verzeichniss. Der NC-Editor wartet bis mein Tool wieder beendet ist. Wenn dies geschieht fügt der NC-Editor den Text der eben in diese "paddydat" ist ein. Wenn ich aber jetzt die "paddydat" mit z.B. Word auf habe kann ich ja nicht in die Datei schreiben, d.h. beim beenden von meinem Tool schreibt der NC-Editor den aktuellen Text der "paddydat" in das NC-Editorfenster. Wenn ich in meinem Tool auf "Abbrechen" klicke soll aber der Text der in der "paddydat" enthalten ist gleich Null, nix, nullkommanull sein. Wenn Zugriff aber verweigert dann is dat aber schlecht.

Himitsu, Du hast geschrieben das man vielleicht die Verbindung zu der Datei trennen kann. Wenn das nun möglich wäre käme sicher im Word dann eine Fehlermeldung. Oder? Aber im Grunde ist das egal da der Anwender mit der Datei sowieso nix am Hut hat und darin nix zu machen hat. Man kann ja vorher noch eine Warnmeldung ausgeben bevor getrennt wird.

Wenn das trennen geht dann wüßte ich gerne wie
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Datei löschen trotz Schreibzugriffverbot

  Alt 23. Sep 2004, 10:57
Leider weiß ich auch nur dass es möglich ist, aber nicht wie

Irgendwoher muß ja Windows wissen, welche Dateien geöffnet sind ... also denk ich mal, man müßte halt nur die entsprechende Datei aus dieser Liste entfernen

Ich selber suche auch schon sowas, da bei mir abundzu mal der Explorer großere Dateien blockiert (je größer, desto schlimmer wird das ... z.B. bei Dateien mit über 2 GB's)


FORMAT kann z.B. die Bereitstellung eines gesamten Laufwerks und dammit aller Dateien auf diesem aufheben, das sollte bestimmt auch für einzelne Dateien möglich sein.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#8

Re: Datei löschen trotz Schreibzugriffverbot

  Alt 23. Sep 2004, 12:08
Tja jetzt ist guter Rat teuer. Wer könnte sich den damit auskennen oder nach welchen Begriffen kann man da am besten Googeln? Im Kopf hätt ich es schon nur das umsetzen macht mir ein bisserl Probleme.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Datei löschen trotz Schreibzugriffverbot

  Alt 23. Sep 2004, 12:32
Kuck dir doch mal den Link von Luckie an
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#10

Re: Datei löschen trotz Schreibzugriffverbot

  Alt 23. Sep 2004, 13:11
Den Link hab ich schon angeguckt. Da ich aber noch voll in den Kinderschuhen stecke mit dem Programmieren kann ich damit nicht wriklich viel anfangen
Wie man es machen könnte im groben und ganzen, daß man die Dateiverbindung löscht leuchtet mir ja ein. Sprich ich weiß was ich gern erreichen möchte scheitere jedoch am umsetzen in Code da ich wenig Erfahrung habe! Weischt was ich mein.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 16:12 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