vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Rechnen 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..
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Rechnen mit VB.net Zeitformat 
Autor: Loon!£
Datum: 20.06.07 09:17

Sry das gehört ins Einsteigerforum ...
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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 wie
Startzeit.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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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.)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Rechnen mit VB.net Zeitformat 
Autor: ModeratorDaveS (Moderator)
Datum: 21.06.07 09:42

Zeit = format(zeit, "hh:mm:ss") Danach wird das Format bestimmt

Nein. Zeit ist ein DateTime, ein binärer Wert. Die Variable Zeit wird so als String formatiert und dann in DateTime zurückgewandelt was keinen Sinn ergibt. Du solltest Format() (oder etwa Zeit..ToString("format")) nur benutzen wenn du das Ergebnis (in etwa einer TextBox) darstellen willst. Z.B.
TextBox1.Text = Zeit.ToString("hh:mm:ss")

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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 ..
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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