AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Regelmässig auf vorhandene Dateien prüfen

Ein Thema von H.Bothur · begonnen am 24. Mär 2019 · letzter Beitrag vom 6. Apr 2019
Antwort Antwort
Seite 2 von 3     12 3   
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
252 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Regelmässig auf vorhandene Dateien prüfen

  Alt 31. Mär 2019, 12:43
Nur als Feedback - ich habe es jetzt kurz gehalten und über einen Timer realisiert - klappt hervorragend.

Gruß
Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#12

AW: Regelmässig auf vorhandene Dateien prüfen

  Alt 31. Mär 2019, 13:30
Bei einem Timer darfst du eine Sache nicht vergessen. Nur als Beispiel. Wenn dein Timer ein Intervall von 60 Sekunden hat und die Codeausführung in deinem Timer aber 59 Sekunden dauert, dann geht der Timer nach einer Sekunde wieder los.
  Mit Zitat antworten Zitat
Rollo62
Online

Registriert seit: 15. Mär 2007
3.896 Beiträge
 
Delphi 12 Athens
 
#13

AW: Regelmässig auf vorhandene Dateien prüfen

  Alt 1. Apr 2019, 08:35
Bei einem Timer darfst du eine Sache nicht vergessen. Nur als Beispiel. Wenn dein Timer ein Intervall von 60 Sekunden hat und die Codeausführung in deinem Timer aber 59 Sekunden dauert, dann geht der Timer nach einer Sekunde wieder los.
richtig, und was passiert wenn bei 60sec. Timer nach 10 Sec. jemand eine Datei anlegt und nach 20 Sec. wieder löscht ?
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#14

AW: Regelmässig auf vorhandene Dateien prüfen

  Alt 1. Apr 2019, 08:54
Dann sollte man erstmal definieren, welche Dateien man warum benötigt.

Sollen alle Dateien, die beim Timeraufruf (oder jeder beliebigen sonstigen Prüfung) vorhanden sind, verarbeitet werden?

Oder sollen alle Dateien verarbeitet werden, auch wenn deren Existenz nur auf Sekunden (oder gar weniger) begrenzt ist?

Die Aufgabenstellung passt eigentlich gut zu dem Schema:
  • Prozess X legt (mehr oder weniger) sporadisch Dateien in einem definierten Verzeichnis ab.
  • Prozess Y soll alle Dateien aus diesem Verzeichnis verarbeiten.
Was wäre denn, wenn eine Datei erstellt wird.
Die Prüfroutine stellt dies fest und verarbeitet die Datei.
Die Datei wird wieder gelöscht, weil sie irrtümlich, fehlerhaft ... ins Verzeichnis gelangte?

Sprich: Das Timerereignis fällt in genau diesen Zeitraum
Zitat:
Timer nach 10 Sec. jemand eine Datei anlegt und nach 20 Sec. wieder löscht?
Müssen auch diese Dateien verarbeitet werden?
Oder muss die Verarbeitung gelöschter Dateien wieder rückgängig gemacht werden?

Es ist egal, wie man prüft, man wird immer ein Problem in der Verarbeitungsfolge finden, wenn man diese nicht vorher definiert, sondern jeder irgendwie selbst interpretieren kann, was er unter der Aufgabenstellung verstehen / vermuten möchte.

Oder aber auch: Solange die Aufgabenstellung nicht präzisiert wird, wird man für jeden Vorschlag mindestens einen Grund finden, warum er nicht geeignet ist.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.378 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Regelmässig auf vorhandene Dateien prüfen

  Alt 1. Apr 2019, 11:20
Für die Aufgabenstellung von Hans passt es wohl
klappt hervorragend.
Ich persönlich würde bei so nem asynchronem Zeug sowas nie schreiben
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Regelmässig auf vorhandene Dateien prüfen

  Alt 2. Apr 2019, 10:53
Es gibt von Windows API-Funktionen dafür:
Die Jedis haben eine Komponente dafür: http://wiki.delphi-jedi.org/wiki/JVC...JvChangeNotify

Wenn du es selbst entwickeln willst, würde ich an deiner Stelle einen Thread statt einen Timer verwenden.
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#17

AW: Regelmässig auf vorhandene Dateien prüfen

  Alt 2. Apr 2019, 13:16
Zitat:
richtig, und was passiert wenn bei 60sec. Timer nach 10 Sec. jemand eine Datei anlegt und nach 20 Sec. wieder löscht ?
Ein ganz billiger Workaround wäre, den Timer im Timerevent selber am Anfang auf Enabled False zu stellen und am Ende wieder auf Enabled True. Das sollte das Intervall zurücksetzen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Regelmässig auf vorhandene Dateien prüfen

  Alt 2. Apr 2019, 18:44
Warum sucht ihr jetzt für eine erwiesenermaßen schlechte Lösung eine Verbesserung, die es auch nicht besser macht?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#19

AW: Regelmässig auf vorhandene Dateien prüfen

  Alt 2. Apr 2019, 18:59
Der Themenersteller will wohl nur diese schlechte Lösung benutzen und keine bessere.
  Mit Zitat antworten Zitat
Rollo62
Online

Registriert seit: 15. Mär 2007
3.896 Beiträge
 
Delphi 12 Athens
 
#20

AW: Regelmässig auf vorhandene Dateien prüfen

  Alt 2. Apr 2019, 19:23
Die unten angegebene API wäre der richtige Workaround
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:00 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