Benutzer mit den meisten Antworten
Monat aus aktuellem Datum als if Anweisung

Frage
-
Hallo,
ich bins nocheinmal.
Ich schreibe einen kleinen Texteditor mit einer Eingabemaske.
Die Eingabemaske ist die Form1
Wenn der User eine neue Datei anlegt, erscheint dialog1.
Mit dem klicken auf OK sollte dannn die Eingabemaske mit den bestimmten Informationen bestückt werden, zb. Datum in TextBox2 etc.
Funktioniert soweit ganz gut, bis auf das mit dem Monats IF
Da sich jeden Monat die min, med und max Werte ändern, sollte sie automatisch eingetragen werden.
min gehört in die textbox 5
med in die textbox 6
und max in die textbox 7.
Ich habe zur Probe einfach die Zahlen 1, 2, 3, 4, 5, 6 ...... hergenommen, aber es funktioniert einfach nicht,
Hier mein Code:
Form1.RichTextBox1.Clear() 'RichtextBox1 löschen Form1.TextBox2.Text = System.DateTime.Now.Date 'Datum in TextBox2 eintragen Dim monat As Integer = Date.Today.Month If monat = 1 Then Form1.TextBox5.Text = "1" Form1.TextBox6.Text = "2" Form1.TextBox7.Text = "3" End If If monat = 2 Then Form1.TextBox5.Text = "4" Form1.TextBox6.Text = "5" Form1.TextBox7.Text = "6" End If
Kann mir bitte jemand sagen, was ich falsch mache?????
Viele Grüße
Gab
Antworten
-
Hi,
versuchs mal so, mit einem Test, ohne die Textboxen:
Eigentlich müsste das alles so funktionieren. Bei mir zeigt er alles korrekt anDim monat As Integer = Date.Today.Month MsgBox(monat) If monat = 1 Then MsgBox("Januar") ElseIf monat = 2 Then MsgBox("Februar") Else MsgBox("ein anderer Monat") ' vielleicht machst du die Boxen woanders wieder leer. End If
Please 'Mark as Answer' if I helped. This helps others who have the same problem!- Als Antwort markiert Bluefantasy Dienstag, 1. Februar 2011 19:58
-
Hi,
versuchs mal so, mit einem Test, ohne die Textboxen:
Dim monat As Integer = Date.Today.Month MsgBox(monat) If monat = 1 Then MsgBox("Januar") ElseIf monat = 2 Then MsgBox("Februar") Else MsgBox("ein anderer Monat") ' vielleicht machst du die Boxen woanders wieder leer. End If
Please 'Mark as Answer' if I helped. This helps others who have the same problem!
Aber dann am Besten per Enumeration.- Als Antwort markiert Bluefantasy Dienstag, 1. Februar 2011 19:58
-
Hallo Robert, Hallo RQ-1,
alles super richtig, aber
Bluefantasy wollte nur wissen, ob er auf dem richtigen weg ist und warum das belegen der Textboxen bei ihm nicht funktioniert. Und nicht den Monatsnamen wissen.
If Date.Today.Month = 1 Then Form1.TextBox5.Text = "5" End if
usw.
Aber bei ihm hat sich nichts in den Textboxen bewegt. Vielleicht macht er die Textboxen unbeabsichtigt wieder leer.
Please 'Mark as Answer' if I helped. This helps others who have the same problem!- Als Antwort markiert Bluefantasy Dienstag, 1. Februar 2011 19:59
Alle Antworten
-
Habe jetzt mal die zeile "Dim monat As Integer = Date.Today.Month" weggelassen den Date.Today.Month direkt in die if Anweisung eingebaut, funktioniert aber auch nicht!
If Date.Today.Month = 1 Then Form1.TextBox5.Text = "1" Form1.TextBox6.Text = "2" Form1.TextBox7.Text = "3" End If If Date.Today.Month = 2 Then Form1.TextBox5.Text = "4" Form1.TextBox6.Text = "5" Form1.TextBox7.Text = "6" End If
beim kompillieren, wenn ich jezt mit der maus drüberfahre, ergibt der wert bei date.today.month 2, aber die TextBoxen bleiben weiterhin leer. -
Hi,
versuchs mal so, mit einem Test, ohne die Textboxen:
Eigentlich müsste das alles so funktionieren. Bei mir zeigt er alles korrekt anDim monat As Integer = Date.Today.Month MsgBox(monat) If monat = 1 Then MsgBox("Januar") ElseIf monat = 2 Then MsgBox("Februar") Else MsgBox("ein anderer Monat") ' vielleicht machst du die Boxen woanders wieder leer. End If
Please 'Mark as Answer' if I helped. This helps others who have the same problem!- Als Antwort markiert Bluefantasy Dienstag, 1. Februar 2011 19:58
-
Hi,
versuchs mal so, mit einem Test, ohne die Textboxen:
Dim monat As Integer = Date.Today.Month MsgBox(monat) If monat = 1 Then MsgBox("Januar") ElseIf monat = 2 Then MsgBox("Februar") Else MsgBox("ein anderer Monat") ' vielleicht machst du die Boxen woanders wieder leer. End If
Please 'Mark as Answer' if I helped. This helps others who have the same problem!
Aber dann am Besten per Enumeration.- Als Antwort markiert Bluefantasy Dienstag, 1. Februar 2011 19:58
-
Hallo Dennis Hemken und RQ-1,
Also ich würde z.B. über MonthName Function (Visual Basic) gehen:
Dim monat As String = String.Empty monat = MonthName(Date.Today.Month) '//monat = MonthName(Date.Today.Month, True) Console.WriteLine(monat)
Für Deutsch kommt noch die Culture dazu:
Imports System.Threading Imports System.Globalization Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Thread.CurrentThread.CurrentCulture = New CultureInfo("de-DE", False) Dim monat As String = String.Empty monat = MonthName(Date.Today.Month) '//monat = MonthName(Date.Today.Month, True) Console.WriteLine(monat) End Sub End Class
Grüße,
Robert
- Bearbeitet Robert BreitenhoferModerator Dienstag, 1. Februar 2011 13:21 Beispeil mit Culture hinzugefügt
-
Hallo Dennis Hemken und RQ-1,
Also ich würde z.B. über MonthName Function (Visual Basic) gehen:
Dim monat As String = String.Empty monat = MonthName(Date.Today.Month) '//monat = MonthName(Date.Today.Month, True) Console.WriteLine(monat)
Grüße,
Robert
-
Hallo Robert, Hallo RQ-1,
alles super richtig, aber
Bluefantasy wollte nur wissen, ob er auf dem richtigen weg ist und warum das belegen der Textboxen bei ihm nicht funktioniert. Und nicht den Monatsnamen wissen.
If Date.Today.Month = 1 Then Form1.TextBox5.Text = "5" End if
usw.
Aber bei ihm hat sich nichts in den Textboxen bewegt. Vielleicht macht er die Textboxen unbeabsichtigt wieder leer.
Please 'Mark as Answer' if I helped. This helps others who have the same problem!- Als Antwort markiert Bluefantasy Dienstag, 1. Februar 2011 19:59
-
Hallo Bluefantasy,
Kannst Du bitte Dein Problem deutlicher und völlig beschreiben?
Umfasse mindestens die folgenden Schritte in der Beschreibung Deines Problems:
1) Eine Übersicht der Funktionsweise von dem Programm
2) Das Ergebnis des aktuellen Codes
3) Was erwartest Du dass Dein Code machen soll
4) Den Inhalt der Eingabedateien (falls zutreffend)
Schließlich, sagt uns diese Datensammlung, was Du von deinem Code erwartest, so dass wir vergleichen können, was es tut, mit dem was Du möchtest. Die meiste Zeit, können die MVP Experten und andere Mitglieder des Forums fast sofort eine Antwort auf Deine Frage geben, indem sie diese Informationen verwenden.
Relevanter Code zu posten (den ganzen Code) wäre auch nicht schlecht oder eine .zip Datei mit den ganzen Code (falls der Code zu groß ist) kann man ihm Public Ordner von SkyDrive laden und den link hier Posten. (Wie nutze ich den Skydrive?)
***************************************************************************
@Dennis: Ja, ich hab’s schon verstanden dass das nur ein Stück Code von Bluefantasy war. Deshalb habe ich nur an Dich und an RQ-1 geschrieben strikt zu der Sache mit der Monaten “Enumeration“.
Ich habe ein Fragezeichen über die Zeilen mit Form1.TextBox… weil das nicht unter Public Class 1 so funktioniert à hier verwendet man Me – in der Form1 Klasse Me bezieht sich auf Form1, also die aktuelle Objektinstanz.
Warten wir mal noch zusätzliche Infos von BlueFantasy.
Danke und Grüße,
Robert
-
Hallo an alle!!!
Ich muss mich bei euch für meine Dummheit entschuldigen.
Der ganze Programmaufbau war ursprünglich so gedacht, das der User diese besagten werte per Hand einschreibt.
Jedes mal wenn er also eine neue Datei anlegt, sollten diese Werte wieder gelöscht werden, sodass man die Textboxen wieder leer hat.
Habe ein kleines durcheinander in meinem Programm und diese Befehle zum löschen des Inhaltes übersehen.
Tut mit leid, das ich eure Zeit in Anspruch genommen habe.
Für alle die Info wo mein Fehler lag:
Ich habe im Codeblock diese 3 Befehle eingegeben, kein wunder, das das dann nicht funktionieren kann.
Form1.TextBox5.Clear() Form1.TextBox6.Clear() Form1.TextBox7.Clear()
Wie konnte ich das nur übersehen?!?!?!?!
Habe jetzt diese 3 Zeilen rausgelöscht und mit dem folgenden Code funktioniert es wunderbar
If Date.Today.Month = 1 Then Form1.TextBox5.Text = "1" Form1.TextBox6.Text = "2" Form1.TextBox7.Text = "3" End If If Date.Today.Month = 2 Then Form1.TextBox5.Text = "4" Form1.TextBox6.Text = "5" Form1.TextBox7.Text = "6" End If
Entschuldigt bitte nochmal meinen Fehler und vielen dank für eure Bemühungen!!!!!!!!
Liebe Grüße
Gab