Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tag aus Datum mit Tag aus Record vergleichen (https://www.delphipraxis.net/88470-tag-aus-datum-mit-tag-aus-record-vergleichen.html)

grader 15. Mär 2007 21:02


Tag aus Datum mit Tag aus Record vergleichen
 
Guten Abend!

Programmiere für den Informatikunterricht gerade einen Terminplaner und plage mich jetzt schon seit einiger Zeit mit einem Problem herum.

Und zwar habe ich ein Datum (aus dem MonthCalendar1) mit DecodeDate zerlegt und möchte jetzt den Tag mit dem im Record gespeicherten Tag ( Termin[n].Tag ) vergleichen, wenn ich auf dem MonthCalendar1 einen Tag auswähle! Bei übereinstimmung soll Label6 die Bezeichnung 1 erhalten (nur zum test, obs klappt)!

Dazu ist noch zu sagen, dass n anfangs auf "0" steht und beim speichern des ersten Termins in das Record auf "1" gesetzt wird, beim 2. auf "2" usw..

Das Problem ist jetzt, wenn ich sagen wir mal drei Termine erstelle und dann auf dem MonthCalendar die drei nacheinander anklicke setzt er das Label nur beim zuletzt eingegebenen auf "1", obwohl er doch bei den anderen beiden auch eine Übereinstimmung finden müsste :gruebel:

Hoffe ihr habt ne Idee, ist sicher nur ne Kleinigkeit die ich da nicht bedacht habe.. Unten der Code..

Delphi-Quellcode:
procedure TForm1.MonthCalendar1Click(Sender: TObject);
var Jahr, Monat, Tag: word; i: integer;
begin
DecodeDate(MonthCalendar1.Date.Date, Jahr, Monat, Tag);
for i := 0 to n do
  if Termin[i].Tag=Tag then
  begin
  Label6.caption:='1';
  end
  else Label6.caption:='';
end;
Thx schonmal wenns klappt wäre der Abend gerettet :cheers:

mkinzler 15. Mär 2007 21:05

Re: Tag aus Datum mit Tag aus Record vergleichen
 
Bei den anderen funktioniert es auch. wenn du aber kein Redraw des Formulars erwirkst siehst du es nicht.

grader 15. Mär 2007 21:25

Re: Tag aus Datum mit Tag aus Record vergleichen
 
Cool du hast Recht! Danke dir!! :dp:

grader 16. Mär 2007 13:19

Re: Tag aus Datum mit Tag aus Record vergleichen
 
Hallo! Stunden später häng ich jetzt grad dran das sinnvoll zu verwenden, d.h. er soll in nen StringGrid nur die Termine für den ausgewählten Tag anzeigen!

Ich denke mal er macht was ich will, aber er zeigt es nur wieder beim zuletzt eingegebenen! Aber ich weiß nicht wie ich so einen Redraw der Form ausführe? Habs mit Form1.Refresh probiert, aber da passiert auch nicht mehr :gruebel:

Der Teil wo das "x" vorkommt soll eine leere Zeile suchen und dann dort reinschreiben.. Das n ist immer die Anzahl der Termine..

Delphi-Quellcode:
procedure TForm1.MonthCalendar1Click(Sender: TObject);
var Jahr, Monat, Tag: word; i, c, x: integer;
begin
Form1.DateTimePicker1.Date:=MonthCalendar1.Date;
DecodeDate(DateTimePicker1.Date, Jahr, Monat, Tag);
for i := 1 to n do
    if T[i].J=Jahr then
    if T[i].M=Monat then
    if T[i].T=Tag then
      begin
        for c := 1 to StringGrid1.RowCount - 1 do StringGrid1.Rows[c].Clear();
            x:=0;
              repeat
                x:=x+1;
              until StringGrid1.Cells[1, x]='';
            StringGrid1.Cells[0, i]:=DateToStr(EncodeDate(T[i].J, T[i].M, T[i].T));
            StringGrid1.Cells[1, x]:=T[i].Zh + ' : ' + T[i].Zm;
            StringGrid1.Cells[2, x]:=T[i].B;
            StringGrid1.Cells[3, x]:=T[i].O;
        end
    else
    for c := 1 to StringGrid1.RowCount - 1 do StringGrid1.Rows[c].Clear();
   end;

grader 16. Mär 2007 15:30

Re: Tag aus Datum mit Tag aus Record vergleichen
 
Bitte hat denn keiner nen Tipp für mich, wäre echt wichtig :zwinker:

marabu 16. Mär 2007 15:50

Re: Tag aus Datum mit Tag aus Record vergleichen
 
Hallo,

für dich ist es so nebensächlich, dass du kein Wort darüber verlierst, aber für mich ist es der Grundstein deines Programms: Welche eigenen Datentypen hast du definiert und vor allem wie?

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 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 by Thomas Breitkreuz