| |
VB.NET - Ein- und UmsteigerRechnen mit VB.net Zeitformat | | | Autor: Loon!£ | Datum: 20.06.07 09:13 |
| Hallo alle zusammen
Ich bin am Entwickeln einer Software für Unihockey Turniere. Beim generieren des Spielplanes habe ich jedoch ein Problem.
Ich finde kein passendes Zeitformat mit welchem ich auch noch Rechnen kann. (z. B. 20 Minuten addieren). Hab mich auch schon im Forum umgeschaut, habe jedoch keinen Thread gefunden der mich weiterbringt. Man könnte auch mit Integer rechenn und dann das Ergebnis in Zeit umwandeln aber bei dieser Methode weiss ich nicht wie man das dann umwandeln könnte.
Also meine Frage: Kennt jemand ein Zeitformat (nur Zeit, kein Datum!) mit welchem man auch rechnen kann? Oder eine Methode Integer in ein Zeitformat umzuwandeln?
PS: Falls es schon nen Thread hat der dieses Problem behandelt tut es mir Leid.. :S Hab mich erst gerade registriert und bin noch etwas unorientiert.. | |
Re: Rechnen mit VB.net Zeitformat | | | Autor: Loon!£ | Datum: 20.06.07 09:17 |
| Sry das gehört ins Einsteigerforum ... | |
Re: Rechnen mit VB.net Zeitformat | | | Autor: Melkor | Datum: 20.06.07 10:27 |
| Date/Time in VB wird als Date (oder DateTime) deklariert. Diese Klasse hat Methoden wie .Add(timeSpan), .AddMinutes(), Milliseconds, Seconds, Hours, Days, Months...usw
Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov | |
Re: Rechnen mit VB.net Zeitformat | | | Autor: Loon!£ | Datum: 20.06.07 11:14 |
| Hab das schon mal probiert. Es verlangt nach einem Datum. Ausserdem verstehe ich nicht wie man dann eine Zeit eingeben kann. | |
Re: Rechnen mit VB.net Zeitformat | | | Autor: Melkor | Datum: 20.06.07 12:01 |
| Tut mir leid, aber du solltest versuchen die Sachen etwas deutlicher zu erklären. "Es" verlangt nach einem Datum? Wovon redest du? Und wie du "eine Zeit eingibst" (meinst du der Benutzer soll etwas eingeben, oder was?) hängt von der Natur der Anwendung ab und hat nichts mit einer DateTime-Variable zu tun. Ich nehme an du bist schon ziemlich ein Anfänger, deshalb ein kleines Beispiel. Wir nehmen mal an du hast eine TextBox (TextBox1) und ein Button (Button1). Wenn du dein Button betätigst soll das Datum/Uhrzeit in TextBox1 um 12 Stunden erhöht werden. So kann es gemacht werden
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Button1.Click
Dim dt As DateTime
If DateTime.TryParse(TextBox1.Text, dt) Then
TextBox1.Text = dt.AddHours(12)
Else
MsgBox("Datum ungültig!")
End If
End Sub Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov | |
Re: Rechnen mit VB.net Zeitformat | | | Autor: Loon!£ | Datum: 20.06.07 13:02 |
| Okay danke. Bin jetzt auch drauf gekommen. Ich hatte das Problem dass ich nicht wusste wie man den Wert einer Variabel gibt. Jetzt habe ichd er Variabel den gewünschten Wert gegeben und es werden immer 20 minuten dazugezählt. Jedoch funktioniert es nicht. Anstatt die erwünschte Zeit, zeigt es mir folgendes an:
01.01.0001 00:00:00
Das Problem hatte ich schon vorher und deshalb das mit dem Datum. Vielleicht wird ein Datum benötigt? | |
Re: Rechnen mit VB.net Zeitformat | | | Autor: Melkor | Datum: 20.06.07 13:15 |
| Kannst du vielleicht etwas Code posten, sonst haben wir keine Ahnung was zu diesem Ergebnis führt. Wenn du übrigens nur Zeit zeigen willst kannst du den Wert entsprechend formatieren (mit dt.ToShortTimeString() z.B.)
Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov | |
Re: Rechnen mit VB.net Zeitformat | | | Autor: Loon!£ | Datum: 20.06.07 15:07 |
| Hier der betrffende Code der bei einem Buttonklick ausgeführt wird:
(Es werden noch Spiele generiert, den dazugehörigen Code hab ich aber rausgenommen, sonst ist es zu verwirrend) Das Ganze wird übrigens in ein Datagridview gespeichert.
Es soll immer auf jedem Spielfeld gespielt werden, dies mache ich mit einer IF Bedingung.
Dim Startz, Startzeit As Date
Dim Sfeld, sfelder,szeit as Integer
Startzeit.AddHours(9) 'Startzeit des Turnieres
sfeld = "3" 'Anzahl Spielfelder
afeld=sfeld
szeit = "20" 'Anzahl Minuten die ein Spiel dauert.
If j <> sfeld + 1 Then 'Auf jedem Spielfeld wird 1 mal gespielt
row("Spielfeld") = j
row("Uhrzeit") = Startzeit
j += 1
ElseIf j + 1 = sfeld Then 'Sobald auf jedem Spielfeld 1mal gespielt wurde:
j = 1 'Wird wieder beim 1.Spielfeld begonnen
row("Spielfeld") = j
Startzeit.AddMinutes(szeit) 'Die Starteit wird um eine Spielzeit erhöht (also um 20min)
row("Uhrzeit") = Startzeit
sfeld=afeld
End If | |
Re: Rechnen mit VB.net Zeitformat | | | Autor: Melkor | Datum: 20.06.07 15:44 |
| Die Methoden wie .AddHours() sind Funktionen, die den neuen Wert zurückgeben. Eine Zeile wieStartzeit.AddHours(9) tut deswegen nichts wenn das Ergebnis nicht zugeordnet wird.
Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov | |
Re: Rechnen mit VB.net Zeitformat | | | Autor: Loon!£ | Datum: 21.06.07 08:28 |
| Okay es hat jetzt funktioniert. Hab es auch kapiert:
Dim Zeit as Date Zuerst wird die Variabel als Date definiert
Zeit = format(zeit, "hh:mm:ss") Danach wird das Format bestimmt
Zeit = Zeit.addHour(9) Danach kann man mit derFunktion Addhour oder auch addminutes usw. den Wert bestimmen. Dabei darauf achten, dass man die Variabel auf der linken Seite hat ;-D (War einer meiner Fehler XD)
Hab nur noch ein Problem:
Bei mir zeigt es die richtige Zeit an, jedoch zeigt es mir immer noch das Datum an, wie kann ich also das Datum wegbekommen? (Ich Speichere die Zeit in einer datatable die dann in einm Datagridview dargestellt wird.) | |
Re: Rechnen mit VB.net Zeitformat | | | Autor: Loon!£ | Datum: 21.06.07 08:29 |
| Beim code hab ich was vergessen:
Zeit = "09:00" Der Anfangswert der Zeit wird bestimmt | |
Re: Rechnen mit VB.net Zeitformat | | | Autor: Melkor | Datum: 21.06.07 13:25 |
| Bei einem DataGridView musst du DefaultCellStyle Format für die Spalte setzen (mit Format-String).
Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov | |
Re: Rechnen mit VB.net Zeitformat | | | Autor: Loon!£ | Datum: 26.06.07 08:18 |
| In Ordnung. Es funktioniert Vielen Dank für die Infos und die Geduld .. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevGraph (VB/VBA)
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|