AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Zugriff auf Dateien, die ein FTP Server "betreut"
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf Dateien, die ein FTP Server "betreut"

Ein Thema von zeras · begonnen am 27. Mär 2009 · letzter Beitrag vom 27. Mär 2009
Antwort Antwort
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#1

Zugriff auf Dateien, die ein FTP Server "betreut"

  Alt 27. Mär 2009, 16:37
Ich habe einen FTP Server auf meinem Rechner (XP) installiert. Die Dateien in den Pfaden überwache ich mit einem Delphiprogramm. Da man ja auf offene Dateien nicht zugreifen kann, habe ich folgende Funktion im Netz gefunden und ein wenig angepaßt:

Delphi-Quellcode:
function FileInUse(const FileName: String): boolean;
var
  HFileRes : HFILE;

begin
  Result := false;
  if not FileExists(FileName) then exit;
  HFileRes := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE,0, nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
  Result := (HFileRes = INVALID_HANDLE_VALUE);
  if not Result then CloseHandle(HFileRes);
end;
Ich prüfe mit der Funktion, ob die Datei nicht genutzt wird und dann kopiere ich mir diese auf einen anderen Pfad, um diese dann auszuwerten.
Trotzdem erscheint manchmal eine Windowsmeldung, dass der Zugriff auf die Datei nicht geklappt hat.

Oder hat jemand eine andere Idee, solche Dateien auszuwerten?
Matthias
  Mit Zitat antworten Zitat
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Zugriff auf Dateien, die ein FTP Server "betreut&qu

  Alt 27. Mär 2009, 16:51
Zitat von zeras:
Ich habe einen FTP Server auf meinem Rechner (XP) installiert. Die Dateien in den Pfaden überwache ich mit einem Delphiprogramm. Da man ja auf offene Dateien nicht zugreifen kann, habe ich folgende Funktion im Netz gefunden und ein wenig angepaßt:

Delphi-Quellcode:
function FileInUse(const FileName: String): boolean;
var
  HFileRes : HFILE;

begin
  Result := false;
  if not FileExists(FileName) then exit;
  HFileRes := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE,0, nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
  Result := (HFileRes = INVALID_HANDLE_VALUE);
  if not Result then CloseHandle(HFileRes);
end;
Ich prüfe mit der Funktion, ob die Datei nicht genutzt wird und dann kopiere ich mir diese auf einen anderen Pfad, um diese dann auszuwerten.
Trotzdem erscheint manchmal eine Windowsmeldung, dass der Zugriff auf die Datei nicht geklappt hat.

Oder hat jemand eine andere Idee, solche Dateien auszuwerten?
So wie ich das sehe, holst Du dir Lese- und Schreibrechte. Wie wäre es, wenn du dir nur Leserechte holst? Zum Kopieren brauchst Du bei der vorhandenen Datei schließlich keine Schreibrechte.
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#3

Re: Zugriff auf Dateien, die ein FTP Server "betreut&am

  Alt 27. Mär 2009, 16:59
Ja, das hatte ich wahrscheinlich übersehen. Ich werde das mal einbauen und schauen, ob die Meldung wiederkommt.

Danke für den Tipp.
Matthias
  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 09:05 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