Forum: PC-Programmierung ComboBox Jahresende = Jahr+1


von µC-Einsteiger (Gast)


Lesenswert?

Hallo, ich mal wieder! Viele werden denken mensch was will der denn 
schon wieder aber ich habe mal ein Problem mit meiner ComboBox. Ich 
möchte darin immer das Jahr angezeigt bekommen und das sollte immer 
aktuallisiert und addiert werden.

comboBox2.Items.Add(DateTime.Now.Year.ToString());
//so schreibe ich das aktuelle jahr in die ComboBox

allerdings wollte ich dann das es

2010
2011
2012
2013
2014
2015
.
.
.
.
.
.

immer wieder automatisch aktuallisiert!

von ... (Gast)


Lesenswert?

So etwa?
1
for(Int32 i = DateTime.Now.Year - 1; i < DateTime.Now.Year + 5; i++)
2
{
3
  comboBox2.Items.Add(i.ToString());
4
}

von Stefan (Gast)


Lesenswert?

DateTime.Now.Year in einen Integer umwandeln und dann in eine for 
schleife rein

von Stefan (Gast)


Lesenswert?

verdammt..zu langsam

von µC-Einsteiger (Gast)


Lesenswert?

ja so in etwa nur sollte sich die combobox immer ende des Jahres um 1 
erweitern.

31.12.2011 - 1.01.2012
also zu diesem  zeitpunkt
sollte das Jahr in der ComboBox von 2011 auf 2012 springen

von Horst (Gast)


Lesenswert?

Tut es doch, oder bin ich blöd?

von ... (Gast)


Lesenswert?

Keine Ahnung was Du da eigentlich willst. Eventuell sowas nach der 
Schleife?
1
comboBox2.SelectedIndex = 1;

von µC-Einsteiger (Gast)


Lesenswert?

for(Int32 i = DateTime.Now.Year-20; i <= DateTime.Now.Year; i++)
{
   comboBox2.Items.Add(i.ToString());
}

so fängt es im Jahr 1991 an und geht auch bis 2011 wie es nächste Jahr 
ausschaut keine Ahnung

Aber danke mal für die Hilfe

von ... (Gast)


Lesenswert?

µC-Einsteiger schrieb:
> wie es nächste Jahr
> ausschaut keine Ahnung

Na dann fängt es halt bei 1992 an und geht bis 2012. Wie sollte es auch 
sonst sein?

von µC-Einsteiger (Gast)


Lesenswert?

und wie bleiben die Werte fest drin stehen???

so das sie nichtmehr gelöscht werden?

von ... (Gast)


Lesenswert?

Au man, so schwer ist das doch nun wirklich nicht :(
1
for(Int32 i = 1900; i <= DateTime.Now.Year; i++)
2
...

von Christopher (Gast)


Lesenswert?

Ich glaube er meint:
1
for(Int32 i = 1900; i <= DateTime.Now.Year + 1; i++)

von Christopher (Gast)


Lesenswert?

& so dass man nichts mehr eingeben kann glaube ich:
1
ComboBox1.DropDownStyle = ComboBoxStyle.DropDown;

von Sam .. (sam1994)


Lesenswert?

Ein NumericUpDown wäre evtl. praktischer.

von platiner (Gast)


Lesenswert?

Nein ich glaube, dass µC-Einsteiger denkt die Werte der ComboBox würden 
einmal festgelegt und dann für immer so bleiben. Wenn du die aber 
während der Ausführung des Programmes berechnest und DateTime.Now.Year 
als Bezugspunkt nimmst, ist das immer das aktuelle Jahr und die 
Berechnung ist somit auch immer dem aktuellen Jahr angepasst! Nächstes 
Jahr gibt die Funktion DateTime.Now.Year dann eben einfach 2012 anstatt 
2011 zurück...

von Rolf Magnus (Gast)


Lesenswert?

µC-Einsteiger schrieb:
> ja so in etwa nur sollte sich die combobox immer ende des Jahres um 1
> erweitern.
>
> 31.12.2011 - 1.01.2012
> also zu diesem  zeitpunkt
> sollte das Jahr in der ComboBox von 2011 auf 2012 springen

Du möchtest, daß sie immer auf dem aktuellen Jahr steht, auch wenn sie 
über mehrere Jahre hinweg offengelassen wird? Oder wie soll man das 
verstehen?

von Sam .. (sam1994)


Lesenswert?

Rolf Magnus schrieb:
> Du möchtest, daß sie immer auf dem aktuellen Jahr steht, auch wenn sie
> über mehrere Jahre hinweg offengelassen wird? Oder wie soll man das
> verstehen?

Wenn ja, evtl. gibt es ein DateChanged Event, das könnte man nutzen. 
Wenn nicht ausrechnen wann das nächste Jahr ist und den Timer benutzen 
um den genauen Zeitpunkt zu ermitteln. Den Sinn verstehe ich aber nicht.

von Anfänger (Gast)


Lesenswert?

weis jemand wie ich eine funktion am Jahresende auslösen lässt?

Jahresende == 23:59:59 31.12.Jahr
{
 löse funktion aus;
}

und das soll er jedes Jahr immer jedes Jahr machen.

steh gerade komplett auf dem schlauch.

Danke mal im vorraus

MfG, Anfänger

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Indem man einen Timer mitlaufen lässt und selbst schaut... Java bietet 
hierfür die Timerklasse die auch Eventgesteuert arbeiten kann.
Was sind das eigentlich alles für Anwendungen welche Jahrelang laufen 
und genau am Jahresende irgendwas tolles tun müssen?

von Anfänger (Gast)


Lesenswert?

es geht darum das ich erst ab dem zeitpunkt eine funktion zulassen 
möchte und vor soll es gesperrt sein, danach einmal ausführen und dann 
wieder warten bis das nächste Jahr vorbei ist.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Anfänger schrieb:
> es geht darum das ich erst ab dem zeitpunkt eine funktion zulassen
> möchte und vor soll es gesperrt sein, danach einmal ausführen und dann
> wieder warten bis das nächste Jahr vorbei ist.
PC-Uhren kann man verstellen :) Und den Speicher, ob schon ausgeführt 
oder nicht, kann man auch manuell ändern...

von Anfänger (Gast)


Lesenswert?

Niklas Gürtler schrieb:
> PC-Uhren kann man verstellen :) Und den Speicher, ob schon ausgeführt
> oder nicht, kann man auch manuell ändern...

frag mich gerade wie...

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Anfänger schrieb:
> frag mich gerade wie...
Wenn das irgendwie in der Registry oder einer Datei gespeichert wird, 
ists ja klar. Wenn das "nur" im Programmspeicher ist, z.B. mit einem 
Debugger. "Trainer" für Spiele machen das ja genau so.

von Anfänger (Gast)


Lesenswert?

anfänger und nix verstehen!!!!

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

> anfänger und nix verstehen!!!!
o.O
mit anderen Worten: Nur ein Anfänger wäre nicht dazu in der Lage, die 
"gesichterte" Funktion deines Programmes beliebig oft zu beliebigem 
Zeitpunkt auszuführen.

von Anfänger (Gast)


Lesenswert?

thx!!!! voll geholfen nämlich 0

von jonas biensack (Gast)


Lesenswert?

Was die meinen ist folgendes: Der Versuch eine Funktion dadurch 
ungänglich zu machen, in dem du die Systemzeit abfragst und mit einem 
Zeitpunkt vergleichst ist unzureichend da selbst für Layen einfach zu 
umgehen -> Man ändere einfach die Systemzeit (unten rechts Taskleiste) 
und schon ist dieser "Schutzmechanismus" ausgehebelt.
Da musste dir schon was besseres einfallen lassen ;)

Gruß Jonas

von Michael A. (Gast)


Lesenswert?

Anfänger schrieb:
> es geht darum das ich erst ab dem zeitpunkt eine funktion zulassen
> möchte und vor soll es gesperrt sein, danach einmal ausführen und dann
> wieder warten bis das nächste Jahr vorbei ist.

Anfänger schrieb:
> Jahresende == 23:59:59 31.12.Jahr
> {
>  löse funktion aus;
> }

Dir ist schon klar, dass das Datum eine Float-Zahl ist? Da gehört es zu 
den Grundlagen, dass damit ein "=="-Vergleich nur in den seltensten 
Fällen zum Erfolgt führt.

von Sam .. (sam1994)


Lesenswert?

Michael A. schrieb:
> Dir ist schon klar, dass das Datum eine Float-Zahl ist? Da gehört es zu
> den Grundlagen, dass damit ein "=="-Vergleich nur in den seltensten
> Fällen zum Erfolgt führt.

In c# kann man so ziemlich alles mit == vergleichen (außer Arrays).

von Michael A. (Gast)


Lesenswert?

Samuel K. schrieb:
> In c# kann man so ziemlich alles mit == vergleichen (außer Arrays).

Was du meinst ist, das der Compiler das artig in Code umsetzt.
Was ich meine ist, dass das bei Float-Zahlen in den allerwenigsten 
Fällen zielführend ist. Oder zielte dein Einwurf auf einen 
Bytefolgenvergleich nach ASCII-Wandlung? Selbst dann fällt man beim 
"=="-Vergleich spätestens auf die Nase, wenn der Rechner am/um "23:59:59 
31.12.Jahr" nicht eingeschaltet war.

von Anfänger (Gast)


Lesenswert?

es geht mir darum eigentlich das ich erst soblad diese Funktion 
ausgelöst wurde das Array löschen kann vom µC.

sozusagen dem datum mit Uhrzeit eine funktion zuweise und wenn diese 
einmal betätigt wurde am 1.1 ab dann muss sie wieder bis ende des Jahres 
speeren und das ganze wieder zulassen sobald das darauffolgende Jahr 
wieder rum ist usw..

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.