Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi MonthCalendar-Wert in Edit-Feld (https://www.delphipraxis.net/7217-monthcalendar-wert-edit-feld.html)

Micha 6. Aug 2003 07:24


MonthCalendar-Wert in Edit-Feld
 
Ich möchte gerne die Komponente "MonthCalendar" aus der Registerkarte "Win32" durch einen Button aufrufen lassen und dann das selektierte Datum in einem Edit-Feld ausgegeben.

Aufrufen : kein Problem !
Aber wie stelle ich das an, dass das ausgewählte Datum dann in ein Edit-Feld geschrieben wird?

Die Komponente "DateTimePicker" möchte ich aus "Schönheitsgründen" (DropDown-Pfeil) nicht verwenden.


Hat jemand ne Ahnung?

Thanks.

Tester 6. Aug 2003 07:30

Re: MonthCalendar-Wert in Edit-Feld
 
Morgen Micha,

probier mal das

Code:
  Edit1.Text := DateToStr(MonthCalendar1.Date);
Gruß

TESTER

Micha 6. Aug 2003 07:49

Re: MonthCalendar-Wert in Edit-Feld
 
Optimal.

V I E L E N D A N K

Micha 6. Aug 2003 07:52

Re: MonthCalendar-Wert in Edit-Feld
 
Zu früh gefreut.

Das haut nicht ganz hin.

Er gibt dann nur das heutige Datum aus.
Wähle ich nun ein anders aus, steht im Edit-Feld immer noch das heutige drin.


Hast du noch ne andere Idee?

Tester 6. Aug 2003 08:26

Re: MonthCalendar-Wert in Edit-Feld
 
Hi!

Du mußt den Code auch auf das entsprechende Ereignis setzen, bsp onclick auf dem MonthCalender.

Code:
procedure Tutest.MonthCalendar1Click(Sender: TObject);
begin
  Edit1.Text := DateToStr(MonthCalendar1.Date);
end;
Gruß

TESTER

Micha 6. Aug 2003 08:34

Re: MonthCalendar-Wert in Edit-Feld
 
Uuups, sorry.

Thanks.

Micha 8. Aug 2003 08:36

Re: MonthCalendar-Wert in Edit-Feld
 
Ich habe von diesen Edit-Feldern und von den MonthCalendern jetzt 8 Stück in meiner Form.

Gibt es eine Möglichkeit, dass ich nicht für jeden Kalender diese prodecure schreiben muss?
Oder gibt's ne einfacher Möglichkeit?

Delphi-Quellcode:
// zeigt den MonthCalender für 1. Wert an
procedure Tdlg_users_bearbeiten.btn_beginn_1Click(Sender: TObject);
begin
calender_beginn_1.Visible := true;
end;

// bei Klick wird das Datum in das Edit-Feld geschrieben
procedure Tdlg_users_bearbeiten.calender_beginn_1Click(Sender: TObject);
begin
  edt_beginn1.Text := DateToStr(calender_beginn_1.Date);
end;

// bei Doppelklick wird der Kalender wieder "geschlossen2
procedure Tdlg_users_bearbeiten.calender_beginn_1DblClick(Sender: TObject);
begin
calender_beginn_1.Visible := false;
end;

Tester 8. Aug 2003 09:21

Re: MonthCalendar-Wert in Edit-Feld
 
Morgen,


die Frage ist ob du überhaupt 8 brauchst.
Würde nicht einer reichen?

Erläutere doch mal dein Programm, was hast du vor?

Gruß
TESTER

Micha 8. Aug 2003 09:28

Re: MonthCalendar-Wert in Edit-Feld
 
Der User soll in 8 Edit-Feldern jeweils verschiedene Datum-Angaben machen.
Als "nice-to-have" habe ich eben ich eben hinter jedes Edit-Feld einen Button hingemacht, der dann eben auf den Month-Calender verweist.

Nun kann der Benutzer über den MonthCalender das Datum auswählen.

- Er soll aber trotzdem das Datum auch per Tastatur in das Edit-Feld eingeben können
- Ich möchte keinen DateTimePicker nehmen, wegen dem DropDown-Pfeil


Dankeschön für deine Hilfe.

Tester 8. Aug 2003 09:37

Re: MonthCalendar-Wert in Edit-Feld
 
Ja gut und was machst du mit den 8 Daten dann?
Speicherst du Sie dann in einer Tabelle?

Micha 8. Aug 2003 09:41

Re: MonthCalendar-Wert in Edit-Feld
 
Ja genau, alle in der gleichen.

Die procedure für's Abspeichern hab ich aber schon.

Tester 8. Aug 2003 09:46

Re: MonthCalendar-Wert in Edit-Feld
 
Also hast du eine Datenbank, in der du alle Daten speicherst.
Wenn du für jedes Datum eine extra Spalte hast dann kannst du ja mit fieldbyname arbeiten.
So würde deine Form auch nur noch aus einem MonthCalender und einem Edit bestehen.

Wie sieht den deine DB aus? Welche Spalten und wo speicherst du hin alles in die selbe Spalte?

Micha 8. Aug 2003 09:55

Re: MonthCalendar-Wert in Edit-Feld
 
Das mit dem Speichern hab ich ja schon.

Jedes Datum hat eine extra Spalte. Es ist bis jetzt zum Testen noch eine Paradox. Werde ich aber dann umstellen. Aber das ist auch kein Problem.


Es müssen aber 8 EditFelder in der Form zum Eingeben da sein.

Tester 8. Aug 2003 09:56

Re: MonthCalendar-Wert in Edit-Feld
 
Müssen die Datum-Angaben eigentlich die ganze Zeit da stehen oder würde es reichen wenn du nur ein Edit hast, den Wert eingibst, wegspeicherst, eingibst, speicherst, ...

Und dann mit ner Schleife in deine Tabelle schreiben.

Gruß
TESTER

Tester 8. Aug 2003 09:58

Re: MonthCalendar-Wert in Edit-Feld
 
OK dann hat sich das ja erledigt :warn:

Tester 8. Aug 2003 10:01

Re: MonthCalendar-Wert in Edit-Feld
 
Hab ich das eigentlich richtig verstanden, das du 8MonthCalendar hast?

Micha 8. Aug 2003 10:01

Re: MonthCalendar-Wert in Edit-Feld
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nee, die sollen schon stehen bleiben.

Es sieht ungefähr so aus (siehe Anhang).

Micha 8. Aug 2003 10:03

Re: MonthCalendar-Wert in Edit-Feld
 
Ja, bis jetzt habe ich 8 MonthCalender.

Tester 8. Aug 2003 10:06

Re: MonthCalendar-Wert in Edit-Feld
 
Hmh

ok für was auch immer du unbedingt 8Datum angaben brauchst aber du brauchst doch keine 8Month... wie wärs wenn du jedes mal auf einen verweist diesen aufrufst und das gewählte datum ins entprechende edit schreibst.

Tester 8. Aug 2003 10:08

Re: MonthCalendar-Wert in Edit-Feld
 
Code:
// zeigt den MonthCalender für 1. Wert an
procedure Tdlg_users_bearbeiten.btn_beginn_1Click(Sender: TObject);
begin
calender_beginn_1.Visible := true;
end;

// bei Klick wird das Datum in das Edit-Feld geschrieben
procedure Tdlg_users_bearbeiten.calender_beginn_1Click(Sender: TObject);
begin
  edt_beginn1.Text := DateToStr(calender_beginn_1.Date);
end;

// zeigt den MonthCalender für 2. Wert an
procedure Tdlg_users_bearbeiten.btn_beginn_1Click(Sender: TObject);
begin
calender_beginn_1.Visible := true;
end;

// bei Klick wird das Datum in das Edit-Feld geschrieben
procedure Tdlg_users_bearbeiten.calender_beginn_1Click(Sender: TObject);
begin
  edt_beginn2.Text := DateToStr(calender_beginn_1.Date);
end;

.
.
.

Tester 8. Aug 2003 10:09

Re: MonthCalendar-Wert in Edit-Feld
 
Auch den doppel Click könntest du dir sparen, schreib doch einfach hinter dem, schreiben ins Edit, ein Calendar.Visble false.

Micha 8. Aug 2003 10:12

Re: MonthCalendar-Wert in Edit-Feld
 
Ja, O.K..

Ein bisschen kürzer ist der Quelltext jetzt als meiner.

Aber ich habe halt gemeint, dass doch eigentlich viel einfacher gehen muss. Mit weniger Quelltext.

Aber trotzdem VIELEN DANK.
Ein bisschen kürzer is er ja geworden.

Micha 8. Aug 2003 10:19

Re: MonthCalendar-Wert in Edit-Feld
 
Code:
Auch den doppel Click könntest du dir sparen, schreib doch einfach hinter dem, schreiben ins Edit, ein Calendar.Visble false.
Geht leider nicht.
Denn wenn ich z. B. ein Monat weiter geh, verschwindet der Kalender auch.


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