AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Termin vorher ansagen :)

Ein Thema von Red_Wraith · begonnen am 12. Nov 2004 · letzter Beitrag vom 12. Nov 2004
Antwort Antwort
Red_Wraith

Registriert seit: 21. Sep 2004
30 Beiträge
 
#1

Termin vorher ansagen :)

  Alt 12. Nov 2004, 15:28
Hi !

Ich will einen ganz normalen Terminreminder bauen, nur will ich, dass dieser zum Beispiel 3 Tage vorher schon erinnert.

Bin bisher soweit gekommten:

Delphi-Quellcode:
procedure TForm1.TestbuttonClick(Sender: TObject);
var
Datum: String;

begin
   If StrToDate(Datum) = Now then
   begin
      ShowMessage('Reminder');
   end;
end;
Jetzt will ich aber, dass der nicht erst Now anspringt, sondern 2 tage vor Now
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Termin vorher ansagen :)

  Alt 12. Nov 2004, 15:29
Hi Red_Wraith,

Delphi-Quellcode:
procedure TForm1.TestbuttonClick(Sender: TObject);
var
Datum: String;

begin
   If StrToDate(Datum) = Now+2 then
   begin
      ShowMessage('Reminder');
   end;
end;
Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Termin vorher ansagen :)

  Alt 12. Nov 2004, 15:30
Zitat von alcaeus:
If StrToDate(Datum) = Now+2 then...
Sicher, dass es "plus 2" ist, ich hätte auch "minus 2" getippt.
  Mit Zitat antworten Zitat
Benutzerbild von CReber
CReber

Registriert seit: 26. Nov 2003
Ort: Berlin
343 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Termin vorher ansagen :)

  Alt 12. Nov 2004, 15:32
Explizit genommen so Spart Platz

Delphi-Quellcode:
procedure TForm1.TestbuttonClick(Sender: TObject);
  var Datum : string;
begin
   if StrToDate(Datum) = DateOf(Now-2) then
     ShowMessage('Reminder');
end;
Christian Reber
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#5

Re: Termin vorher ansagen :)

  Alt 12. Nov 2004, 15:38
Hi,

Trunc(now-2) bzw DateOf(Now-2), sonst wirds nur um Mitternacht stimmen, weil die Zeitkomponente noch im TDateTime-Wert enthalten wäre...

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Red_Wraith

Registriert seit: 21. Sep 2004
30 Beiträge
 
#6

Re: Termin vorher ansagen :)

  Alt 12. Nov 2004, 15:48
Danke schonmal...

Ein Problem hab ich aber noch.
Der Code so funktioniert nicht, also hab ich ihn mal darauf vereinfacht:

Delphi-Quellcode:
  If DateTimePicker1.Date = Now then
  begin
  ShowMessage('Remind Me !');
  end;

Allerdings funktioniert das nicht, obwogl die beiden wohl dasselbe Datum haben.
Kann es sein, dass Now nach Datum und Zeit checked ? Da stand es ist ein TDateTime...

Gibts ne Möglichkeit, wie ich nur nach dem Datum checke ?
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: Termin vorher ansagen :)

  Alt 12. Nov 2004, 15:50
Hi Red_Wraith,

du könntest es so machen:

Delphi-Quellcode:
if Trunc(DateTimePicker1.Date) = Trunc(Now) then
begin
  ShowMessage('Remind Me !');
end;
Erklärung: Trunc schneidet alles nach dem Komma ab, was bei TDateTime die Zeitangabe ist.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Red_Wraith

Registriert seit: 21. Sep 2004
30 Beiträge
 
#8

Re: Termin vorher ansagen :)

  Alt 12. Nov 2004, 15:58
aah danke, so funktionierts
  Mit Zitat antworten Zitat
Red_Wraith

Registriert seit: 21. Sep 2004
30 Beiträge
 
#9

Re: Termin vorher ansagen :)

  Alt 12. Nov 2004, 16:34
Das Spiel mit dem Datum geht weiter... Und langsam wirds peinlich...


Ich muss das Datum aus einer Datenbank mit der If Procedure von vorhin vergleichen.

Benutzte eine ADOQuery und einen DBGrid.

Habs mit For i := 0 to ADOQuery1.IndexFieldCount -1 do versucht, bin dann aber nicht weitergekommen.

ihrgendeiner ne idee ? Muss das Feld Datum komplett mit Trunc(Now) vergleichen...
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Termin vorher ansagen :)

  Alt 12. Nov 2004, 17:09
Hi,
mit ADOQuery kenn ich mich nicht genau aus. Aber eine DB durschläuft/durchsucht man mit einer Query-Komponente eigentlich immer so: (wenn man die Abfrage nicht mit SQL löst)
Delphi-Quellcode:
Query.first
while not Query.eof do
begin
  if Query.fieldbyname('deinZeitfeld').AsDateTime = now //etc.
    then . . .;
  Query.next;
end;
Aber das hat ja jetzt nichts mehr mit deiner eigentlichen Frage zu tun. Mach besser für jede Frage einen neuen Thread auf, dann kann dir schneller geholfen werden.

MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  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 04:56 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