![]() |
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:
Thx schonmal wenns klappt wäre der Abend gerettet :cheers:
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; |
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.
|
Re: Tag aus Datum mit Tag aus Record vergleichen
Cool du hast Recht! Danke dir!! :dp:
|
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; |
Re: Tag aus Datum mit Tag aus Record vergleichen
Bitte hat denn keiner nen Tipp für mich, wäre echt wichtig :zwinker:
|
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