Autor Beitrag
Nightfly
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 163



BeitragVerfasst: Di 08.04.03 15:04 
Hi

mein Problem: Ich habe ein Formular, welchem ich bei seiner entstehung einen Int Wert für das Jahr und einen Int wert für den aktuellen Monat übergebe. Das ganze bastel ich mir in eine Datumsvariable, zusammen mit einer '01' für den Tag.

Mein DateTimePicker bekommt dieses Datum nun zugewiesen, und zeigt es auch an. Nun kann ich im DateTimePicker einen anderen Tag auswählen. Also schnippel ich von Dem Datum des Pickers den Tag als String ab, und mit eben diesem Tag und meinem eigenen Datum von vorhin (gebildet aus den übergebenen Variablen für Jahr und Monat) bau ich mir ein neues Datum.

So weit so gut.

Nun ändert aber ein Dummer Nutzer im DateTimePicker auch den Monap. Im prinziep egal, ich brauch ja eh nur den Tag.
Also hab ich im "onExit" (und im "onChange" )Ereigniss mein Selbergebasteltes Datum dem DateTimePicker wieder zugewiesen. Blß den Juckt das garnich :(

Schreib ich einen button mit onClick : DateTimePicker1.Date := Datum, so zeigt der Kalender Problemlos mein Datum. mache ich das gleiche aber in onExit oder onChange juckt den das garnich. Warum?

Was könnte ich dagegen tun? Wo könnte ich diese "Datumeinstellfunktion" noch unterbringen?
Luncustaf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: Di 08.04.03 15:10 
setz mal nen Application.ProcessMessages;darunter vllt hilft das ja.



gr€€tz
Nightfly Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 163



BeitragVerfasst: Di 08.04.03 15:24 
leider ohne erfolg.
Luncustaf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: Di 08.04.03 15:31 
kannst du mal nen bisschen code hier reinstellen?

gr€€tz
Nightfly Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 163



BeitragVerfasst: Mi 09.04.03 07:39 
in Create form:

ausblenden Quelltext
1:
2:
3:
Monat := RPMilch.DBGrid34.SelectedField.FieldName;
year := StrToInt(DataModule2.Table26Jahr.Value);
Datum := StrToDate ('01.'+IntTostr(month)+'.'+IntToStr(Year));


ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TRechnung.DateTimePicker1Change(Sender: TObject);
var tag : string;
begin
tag := copy(DateToStr(DateTimePicker1.Date),0,2);
Datum := StrToDate (tag+'.'+IntTostr(month)+'.'+IntToStr(Year));
Table3.Edit;
Table3Datum.Value := Datum;
DateTimePicker1.Date := Datum;
Datetimepicker1.refresh;

end;


ausblenden Quelltext
1:
2:
3:
4:
5:
procedure TRechnung.DateTimePicker1Exit(Sender: TObject);
begin
DateTimePicker1.Date := Datum;

end;
Luncustaf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: Mi 09.04.03 08:45 
sers,

das problem wird das sein das du im zwar im onchange nen datum vorgibst aber da die prozedur ja noch nicht zuende ist - also überschreibt er quasi deinen wert wieder - das siehst du daran das das datum leicht zuckt abern ur kurz wenn du ein anderes datum auswählst - es sieht quasi so aus wie wenn eine zahl dargestellt wird aber gleich wieder überschreiben wird.

du siehst das indem du einmal nen Application.ProcessMessages und ein sleep(1000) unter deinen change code setzt da wird als erstes das datum angezeigt dann wieder überschreiben

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
  DateTimePicker1.Date := StrToDate('10.03.2003');
  Application.processmessages;
  Sleep(1000);
end;


für das sleep musste noch ne unit einbinden sofern die net da ist kann dir aber net sagen welche aalso wenn der compiler bringt das der sllep befehl net bekannt ist dann schau mal hier im fprum nach oda shcua inner hilfe nach sleep da steht dann immer nen uses dabei das fügst du oben ein.

wegen dem exit - ich denke da steht nur zur frage falls du das objekt freigibst - bin mir da aber nicht sicher ist nur eine vermutung.


gr€€tz