Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Ordner überwachen (https://www.delphipraxis.net/70188-ordner-ueberwachen.html)

bonanza 26. Mai 2006 14:46


Ordner überwachen
 
Hi,
ich suche nach einer möglichkeit einen beliebigen ordner zu überwachen und, wenn dort dateien reinkopiert oder erstellt wurden, diese dann an einen beliebigen ort automatisch kopiert.

danke schonmal im voraus

DP-Maintenance 26. Mai 2006 14:48

DP-Maintenance
 
Dieses Thema wurde von "sakura" von "Sonstige Fragen zu Delphi" nach "Windows API / MS.NET Framework API" verschoben.
Eindeutig WinAPI, wenn mir jetzt nur das Stichwort zur Antwort einfiele :mrgreen:

luckystar85 26. Mai 2006 14:54

Re: Ordner überwachen
 
Das gleiche Prob hatte ich auch vor kurzem.
Verzeichnisüberwachung

dfried 26. Mai 2006 14:55

Re: Ordner überwachen
 
Die Suche liefert z.B. folgendes

Luckie 26. Mai 2006 15:34

Re: Ordner überwachen
 
Und hier gibt es das ganze als Klasse: http://www.michael-puff.de/dirindex....phi/Sonstiges/ -> MpuReadDirectoryChangesCls.pas

joehd 5. Jan 2023 22:46

AW: Ordner überwachen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe mal die Datei von Michael Puff hochgeladen, denn sein Server gibt es so offensichtlich nicht mehr.
Das ist die Datei die ich früher mal runter geladen hatte.

himitsu 5. Jan 2023 23:18

AW: Ordner überwachen
 
Eigentlich wollte sich jemand um den Server kümmern, nach seinem Dahinscheiden.
Kann mich garnicht an etwas mit einem Casino erinnern. :freak:

Wayback hat die alte Seite und viele Codebeispiele noch,
der XPUsermanager ist auf Github zu finden, samt Quellcode,
und vom Rest müsste ich irgendwo noch ein Backup haben.

TSchnuckenbock 6. Jan 2023 10:39

AW: Ordner überwachen
 
Bei Wayback kommt man noch ins Untermenü "Programmierung", aber bei "Delphi" kommt dann nichts mehr.

Ich hab mal meine Festplatte durchforstet und festgestellt, daß ich mir auch so einiges an Michaels Stuff gesichert hatte (in 2020).

joehd 6. Jan 2023 17:53

AW: Ordner überwachen
 
Sollen wir das mal irgendwo hin laden? Ich hätte bei mir auf dem Server noch Platz und habe auch einiges von ihm.
Was bedeutet denn dahinscheiden? Er machts nichts mehr mit Delphi oder?

joehd 6. Jan 2023 17:59

AW: Ordner überwachen
 
Ich kam auf den Beitrag, da ich mal eine Komponente hatte die einen Ordner überwacht ... Ich bin mir nicht sicher von wem die war

Die Unit war wohl RDCWDirMonitor
Die Komponente war DirMonitor1: TDirMonitor;

Aber nach zahlreichen Delphi Updates (die ich immer sehr ungern mache) ist sie weg ... Ich habe immer das Problem, wenn ich neue Delphi Versionen installiere, sind sie selten Koexistenz den anderen gegenüber und dann fehlen mir immer aus alten Projekten die Komponenten .... Echt nervig ...

weis noch jemand wie man die Komponente installiert ?

himitsu 6. Jan 2023 18:01

AW: Ordner überwachen
 
https://www.delphipraxis.net/204161-...erstorben.html

Nahezu alle seine Codes/Beispiele sind zwar immernoch "nur" ANSI und benötigen seit 2009 einige Anpassungen, aber funktionell hat sich ja nichts geändert.

joehd 6. Jan 2023 18:09

AW: Ordner überwachen
 
das wusste ich nicht :-(

ich hätte Platz wenn bedarf, besteht darf sein Code gerne bei meinen Servern gehostet werden.

Gibt es einen vollständigen Abzug des früheren Platzes? Ich habe nur viele Dateien von ihm die ich mir als mal runtergezogen habe.

Grüße Joachim

mmw 6. Jan 2023 19:13

AW: Ordner überwachen
 
Hallo,

zu #10

das müsste die Komponente von JUAN CARLOS MOLINOS MESA sein.

Zum installieren das Package

'DirMonitor_dpk.dpk' öffnen/kompilieren und installieren.

In der Procedure 'procedure TProcessMonitor.Execute;' musste ich die Variable 'state' wie gezeigt anpassen -

Delphi-Quellcode:
procedure TProcessMonitor.Execute;
var
  state:NativeUInt;
  quit:boolean;
  parent:TDirMonitor;
  numBytes: DWORD;
begin
  { Place thread code here }
  quit:=false;
  parent:=TDirMonitor(self.FProRef);
  while (not quit) do
  begin
    GetQueuedCompletionStatus( parent.FCompletionPort, numBytes, state, parent.FPOverlapped, INFINITE);
runtergeladen habe ich die Komponente hier.

https://www.delphipraxis.net/165565-...rychanges.html

gibt's aber auch noch bei Torry


Gruß

himitsu 6. Jan 2023 21:27

AW: Ordner überwachen
 
Liste der Anhänge anzeigen (Anzahl: 2)
https://torry.net/authorsmore.php?id=4053 * https://www.delphipraxis.net/165565-...rychanges.html
aber sowas gibt/gab es auch von jemand Anderem
https://github.com/ghquant/Delphi-Em...DirMonitor.pas

Ansonsten gibt es überall massig Infos zu
MSDN-Library durchsuchenReadDirectoryChangesW
und inzwischen auch
MSDN-Library durchsuchenReadDirectoryChangesExW
oder zu
MSDN-Library durchsuchenFindFirstChangeNotification

ebenso zum Auslesen des
NTFS change journal

Andere arbeiten mit einem FilterTreiber, welcher sich vor das Dateisystem hängt
SysInternals - Process Monitor / DiskMon

Und ganz nett ist auch das Windows-EventLog, welches ähnliche Ergebnisse zum Process Monitor liefert.
-> Kann teilweise im Windows Ressoucenmonitor bestaunt werden.




Wayback liefert noch mehr, aber man muß sich ganz schön durch die Zeitachse hangeln, um es zu finden.

Luckie hatte auch eine Unit zum ReadDirectoryChangesW, aber wie geagt, benötigt sie ein/zwei Anpassung bezüglich ANSI->Unicode.

Ansonsten hab ich ein komplettes (externes) Backup seiner Webseiten und die nichtmal 90MB zu hosten wäre kein Problem,
nur bräuchte ich erstmal ein paar ruhige Minuten, da sich dort auch einige externe Inhalte/Webseiten eingeschmuggelt hatten, welche erstmal entfernt werden sollten.
Ohh, www.xpusermanager.de ist komplett tot und kein Domaingrabber hat sich die Domain gekrallt :shock:,
aber wie schon erwähnt, hatte Michael dessen Quellcode schon vorher veröffentlichen lassen. https://github.com/jaenicke/usermanager

joehd 6. Jan 2023 22:38

AW: Ordner überwachen
 
Also in Puff Backup Zip ist im Wesentlichen nur die Indexdatei, sonst nichts, wenn ich das richtig sehe ...

joehd 6. Jan 2023 22:44

AW: Ordner überwachen
 
Zitat:

Zitat von mmw (Beitrag 1517127)
Hallo,

zu #10

das müsste die Komponente von JUAN CARLOS MOLINOS MESA sein.

Zum installieren das Package

'DirMonitor_dpk.dpk' öffnen/kompilieren und installieren.

In der Procedure 'procedure TProcessMonitor.Execute;' musste ich die Variable 'state' wie gezeigt anpassen -

Delphi-Quellcode:
procedure TProcessMonitor.Execute;
var
  state:NativeUInt;
  quit:boolean;
  parent:TDirMonitor;
  numBytes: DWORD;
begin
  { Place thread code here }
  quit:=false;
  parent:=TDirMonitor(self.FProRef);
  while (not quit) do
  begin
    GetQueuedCompletionStatus( parent.FCompletionPort, numBytes, state, parent.FPOverlapped, INFINITE);
Gruß

zu #13
DANKE !!!!

himitsu 6. Jan 2023 22:56

AW: Ordner überwachen
 
ja, nur die Übersicht was drin wäre ... wie gesagt, muß erst noch bissl was löschen
(die Datei ist auch ein "bissl" kleiner, also die 90MB, bzw. 65MB gepackt :angle2:)

oakley 7. Jan 2023 13:54

AW: Ordner überwachen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich verwende das hier um zu prüfen ob sich in einem Verzeichnis was geändert hat.
Vielleicht hilft es Dir ja.

LG

Mirko

dummzeuch 7. Jan 2023 15:14

AW: Ordner überwachen
 
Zitat:

Zitat von joehd (Beitrag 1517115)
Was bedeutet denn dahinscheiden? Er machts nichts mehr mit Delphi oder?

Was es üblicherweise bedeutet: Er ist gestorben. Ja, deshalb macht er auch nichts mehr mit Delphi.

joehd 8. Jan 2023 18:23

AW: Ordner überwachen
 
Zitat:

Zitat von dummzeuch (Beitrag 1517170)
Zitat:

Zitat von joehd (Beitrag 1517115)
Was bedeutet denn dahinscheiden? Er machts nichts mehr mit Delphi oder?

Was es üblicherweise bedeutet: Er ist gestorben. Ja, deshalb macht er auch nichts mehr mit Delphi.

:( das war für mich ich sage mal so nicht in der Möglichkeit der Interpretation und ich wusste es nicht. Danke für den Hinweis...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz