AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Formular für bestimmte Zeit deaktivieren
Thema durchsuchen
Ansicht
Themen-Optionen

Formular für bestimmte Zeit deaktivieren

Ein Thema von Beck93 · begonnen am 3. Aug 2011 · letzter Beitrag vom 3. Aug 2011
Antwort Antwort
Beck93

Registriert seit: 2. Aug 2011
22 Beiträge
 
Delphi XE Professional
 
#1

Formular für bestimmte Zeit deaktivieren

  Alt 3. Aug 2011, 09:49
Hi,

ich bin es schon wieder.

Ich stehe jetzt vor dem Problem, dass ich nach dem Drücken eines Buttons, über einen Timer einen Ordner beobachte ob eine bestimmte Datei reinkopiert wird. Ein Zweiter Timer soll nun 20 sekunden laufen und solange Dieser läuft darf das Formular nicht geschlossen werden oder ein Button gedrückt werden. Wenn nach den 20 Sekunden die Datei noch nicht gefunden wurde soll er das Formular wieder aktivieren und eine Fehlermeldung bringen.

Soweit die Beschreibung.

Nur wie Weiß ich wann die 20 Sekunden rum sind? Der Timer soll ja nur einmal laufen?

Ich bin für jede Hilfe Dankbar

Gruß

Beck93
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Formular für bestimmte Zeit deaktivieren

  Alt 3. Aug 2011, 10:26
Du kannst den Timer.Interlav auf 20000 stellen oder alternativ auf 1000 und jede Sekunde einen Zähler hochzählen. Bei 20 stellst Du den Timer dann aus.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von MGC
MGC

Registriert seit: 15. Mai 2008
Ort: Helsa
106 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Formular für bestimmte Zeit deaktivieren

  Alt 3. Aug 2011, 10:31
Ich würde es genauso wie Stahli umsetzen und zusätzlich noch das CanClose des Forms auf false setzen, damit das Formular auch wirklich nicht während der Wartezeit geschlossen werden kann.
Marc
Programmieren ist wie Chemie:
1. Wenn man alles einfach nur zusammenschmeisst kommt es zu unerwarteten Reaktionen.
2. Wenn es plötzlich anfängt zu qualmen, muss man eben noch mal von vorn anfangen.
  Mit Zitat antworten Zitat
Beck93

Registriert seit: 2. Aug 2011
22 Beiträge
 
Delphi XE Professional
 
#4

AW: Formular für bestimmte Zeit deaktivieren

  Alt 3. Aug 2011, 12:22
Sorry wenn ich nochmal doof nachfragen muss aber so ganz habe ich es leider noch nicht verstanden.

Also in der Zeit der Timer mit den 20 Sekunden läuft muss ich ja ständig gucken ob eine neue Datei im Ordner ist und sobald Sie da ist soll er abbrechen. Wenn Sie nach 20 Sekunden nicht da ist soll er auch abbrechen mit Fehlermeldung.
In diesem Zusammenhang habe ich leider noch nicht ganz verstanden wie ich das Timer.Interval verwenden kann.

Ich wäre euch sehr Dankbar wenn Ihr vielleicht mal ein kleines Beispiel machen könntet.

Danke trotzdem schon einmal

Gruß

Beck93
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Formular für bestimmte Zeit deaktivieren

  Alt 3. Aug 2011, 12:38
Ok, dann würde ich einfach die Zeit merken, wann das Formular eingeblendet werden soll: DT := Now + (20 * OneSecond); In Deinem Timer prüfst Du dann die Files und wenn (DT <> 0) and (Now > DT) ist, blendest Du Dein Formular ein und setzt DT wieder auf 0.

(Den Timerintervall auf 20 Sekunden zu setzen, ist dann wohl nicht zweckmäßig.)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von MGC
MGC

Registriert seit: 15. Mai 2008
Ort: Helsa
106 Beiträge
 
Turbo Delphi für Win32
 
#6

AW: Formular für bestimmte Zeit deaktivieren

  Alt 3. Aug 2011, 12:49
Hallo,

ist eigentlich ganz einfach. Deinen Timer stellst Du auf 1000 ms ein (=1 Sec.). Nun durchläuft der Timer jede Sekunde die ihm übergebenen Aufgaben.

Zu den Aufgaben gehört:
1. Prüfen FileExists, falls ja, dann Timer deaktivieren
2. Eine Zählervariable, welche die Anzahl der Durchläufe zählt mit Inc um 1 erhöhen
3. Wenn die Zählervariable = 20, dann Timer deaktivieren und Fehlermeldung ausgeben

Nicht vergessen: Deine Anwendung wieder freigeben
Marc
Programmieren ist wie Chemie:
1. Wenn man alles einfach nur zusammenschmeisst kommt es zu unerwarteten Reaktionen.
2. Wenn es plötzlich anfängt zu qualmen, muss man eben noch mal von vorn anfangen.
  Mit Zitat antworten Zitat
Benutzerbild von MGC
MGC

Registriert seit: 15. Mai 2008
Ort: Helsa
106 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Formular für bestimmte Zeit deaktivieren

  Alt 3. Aug 2011, 12:51
Nimm Stahlis Vorschlag, der ist eleganter.
Marc
Programmieren ist wie Chemie:
1. Wenn man alles einfach nur zusammenschmeisst kommt es zu unerwarteten Reaktionen.
2. Wenn es plötzlich anfängt zu qualmen, muss man eben noch mal von vorn anfangen.
  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 20:52 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