Kopiuj
procedure TForm1.ZmienLiczbeDni;
var miesiac,rok:word;
begin
miesiac:=round(MiesiacSpn.value); //round bo moje spinedit zwracaja extended
rok:=round(RokSpn.value);
DzienSpn.MaxValue:=DaysInAMonth(rok, miesiac);
end;
procedure TForm1.WyswietlDzienTygodnia;
var d:TDate;
rok,miesiac,dzien:word;
const Dni: array[1..7] of String=('Niedziela','Poniedziałek','Wtorek','Środa','Czwartek','Piątek','Sobota');
begin
dzien:=round(DzienSpn.value);
miesiac:=round(MiesiacSpn.value);
rok:=round(RokSpn.value);
d:=EncodeDate(rok, miesiac, dzien);
DzienTygodniaLabel.caption:=dni[DayOfWeek(d)];
end;
procedure TForm1.FormCreate(Sender: TObject);
var rok,miesiac,dzien:word;
begin
DecodeDate(now, rok, miesiac, dzien);
DzienSpn.value:=dzien;
MiesiacSpn.value:=miesiac;
RokSpn.value:=rok;
WyswietlDzienTygodnia;
end;
procedure TForm1.RokSpnChange(Sender: TObject);
begin
ZmienLiczbeDni;
WyswietlDzienTygodnia;
end;
procedure TForm1.MiesiacSpnChange(Sender: TObject);
begin
ZmienLiczbeDni;
WyswietlDzienTygodnia;
end;
procedure TForm1.DzienSpnChange(Sender: TObject);
begin
WyswietlDzienTygodnia;
end;
kod calego programu, z czego onChange spineditow da sie podpiac do jednej procedury.
ogolnie mozna jeszcze troche skrocic to.