Autor Beitrag
Sergej_Bunewitsch
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 10.10.08 22:03 
Guten Abend liebe Programmier-Freunde,
wie Ihr an meinem Anmeldedatum sehen könnt, bin Ich hier neu und möchte mich deshalb ersteinmal vorstellen.
Ich heiße Sergej Bunewitsch, bin 17 Jahre alt und kommen aus einem kleinem Städtchen Namens Germersheim nahe Karlsruhe her.
Zurzeit besuche Ich die 11. Klasse eines Gymnasiums. Dort habe Ich auch freiwillig Informatik gewählt un war prompt begeistert.

Ich habe Seit dem Schuljahr angefangen mit Microsoft Visual C# 2008 Express Edition zu Programmieren.
Meine Kenntnisse reichen momentan nur zu einer Konsolenanwendung, in der Ich mich bis zur verschachtelten Verzweigung durchgearbeitet habe.

Durch die Mitgliedschaft in diesem Forum erhoffe Ich mir eine Ausweitung meiner Kenntnisse.


Nun meine erste Frage:

Ich habe hier ein kleines Konsolenprogrammgeschrieben un bin recht zufrieden.
Das einzige was mich stört, ist, dass man den Tag , dann den Monat usw. eingeben soll.
Ich würde das Programm gerne so ändern, dass man das Datum in eine Zeile schreiben kann und der Computer es dann selbstständig auswertet.
Ein Sturktugramm habe ich bereits, weiß nur nicht, wie ich das in den Computer kriegen soll.
DAnke schonmal im vorraus und auf eine gute Zusammenarbeit
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von Sergej_Bunewitsch am Sa 11.10.08 13:02, insgesamt 1-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 11.10.08 00:25 
Hallo und :welcome: hier im Forum ;-)

Für Datumsroutinen gibt es DateTime:
ausblenden C#-Quelltext
1:
2:
3:
4:
      Console.WriteLine("Bitte geben Sie ein Datum ein:");
      DateTime a = DateTime.Parse(Console.ReadLine());
      Console.WriteLine(a.ToString("yyyy-MM-dd"));
      Console.ReadLine();
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 11.10.08 09:16 
Hallo und :welcome: ,

bitte ändere noch den Titel des Topics, da er wenig über das eigentliche Thema verrät. Hier der entsprechende Absatz aus den Richtlinien:

1.2 Beiträge:
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...]


Einfach oben bei Deinem ersten Beitrag auf user defined image oder user defined image klicken und den Titel ändern. Danke Dir!

Viele Grüße,

Uwe
Sergej_Bunewitsch Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 11.10.08 13:12 
Danke an jaenicke.
Den Code werde ich gleich mal ausprobieren.
Und tut mir leid wegen dem Namen. Wurde schon geändert;)
Mit freundlichen Grüßen
Sergej
Sergej_Bunewitsch Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 11.10.08 13:28 
Hallo nochmals.
Habe es jez ausprobiert und festgestellt, dass das Datum ja im string-typ ist.
Ich bräuchte es aber in int, da ihc später damit noch rechnen muss.
Convertieren hat auhc nicht so richtig geklappt:(
Könnt ihr mir das nochmal genauer erklären?
Mit freundlichen Grüßen
Sergej
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 11.10.08 14:42 
Hallo Sergej,

der Datumstyp ist DateTime, nicht int oder float oder string. Es geht also jeweils um die Konvertierung (= Casten) aus der einen Darstellung in die andere. Intern sollte immer der spezielle Datentyp verwendet werden.

user profile iconSergej_Bunewitsch hat folgendes geschrieben Zum zitierten Posting springen:
... und festgestellt, dass das Datum ja im string-typ ist.

Das ist grundsätzlich falsch: Ein Datum ist ein DateTime; was Du als String siehst, ist nur eine äußere Darstellung. Eine davon ist dd.MM.yyyy, eine andere wäre yyyy-MM-dd und noch eine MM/dd/yyyy.

user profile iconSergej_Bunewitsch hat folgendes geschrieben Zum zitierten Posting springen:
Ich bräuchte es aber in int, da ihc später damit noch rechnen muss.

Du kannst mit DateTime auch rechnen und vergleichen; außerdem gibt es Methoden wie AddDays. Da kannst Du vieles raussuchen.

user profile iconSergej_Bunewitsch hat folgendes geschrieben Zum zitierten Posting springen:
Convertieren hat auhc nicht so richtig geklappt

Was denn zum Beispiel? Ich habe das o.g. Beispiel noch etwas erweitert:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
Console.WriteLine("Bitte geben Sie ein Datum ein:");
DateTime a;
string value = Console.ReadLine();
if (DateTime.TryParse(value, out a))
   Console.WriteLine(a.ToString("yyyy-MM-dd"));
else
   Console.WriteLine("Falsches Datumsformat");

Für Erläuterungen und die Suche nach Alternativen (hier: Parse, TryParse, ParseExact, TryParseExact) bietet sich unbedingt die SDK-Doku/MSDN an.

Jürgen
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 11.10.08 14:48 
Nicht nur die Dokumentation an sich, auch die Syntaxergänzung und die entsprechenden Hinweise helfen schon. Ich habe vorher noch nie etwas mit DateTime in C# gemacht gehabt, und auch sonst kaum etwas außer mal nen neues Projekt angeschaut und vergeblich sowas wie ShowMessage und ähnliches gesucht.

Trotzdem konnte ich in ein paar Minuten nur mit der Syntaxergänzung und dem Raten, dass es wohl DateTime (wie in Delphi) so ähnlich auch dort geben wird, das Beispiel oben schreiben ;-).
Probieren, die Befehle anschauen, das reicht oft schon um herauszufinden wie etwas geht.

Außerdem gibt es auch noch Google, da findet sich bestimmt auch einiges.