|
VB.Net-Forum - Beitragsübersicht - |
|
Thema | V05: Aus Guthaben einen Zeitwert berechnen! |
Von |
Cheffboss |
Datum |
21. September 2019 um 16:44:28 |
Frage |
Moin! :) Ich möchte gerne ein Programm entwickeln. In diesen man sein Guthaben auflädt. - Und dafür ein Zeitwert bzw. eine Surfzeit bekommt. In meinem Beispiel, lädt der Benutzer sein virtuelles Guthaben auf, und bekommt dafür eine Surfzeit(Benutzungszeit) zugeteilt. Wenn ich nun pro Stunde das Guthaben auflade, sind es pro 1 Euro genau 1 Stunde Benutzungszeit(Surfzeit). Da der Benutzer aber diese Daten ändern kann, benötige ich einen Code dieser alles automatisch richtig berechnet. Und das ist das Problem, da ich gerade keine Lösung finde! Ich hoffe, man könnte mein Vorhaben und mein Problem gut verstehen. Freue mich auf eure Hilfe! BIG THX Public Function RestlicheSurfzeitAuslesen() As String ' Aus der Variable "guthaben", die Restlichesurzeit berechnen lassen. ' (Siehe Rechenformel In Form1...) ' Der Benutzer kann den Stundenwert beliebig ändern. ' Jetzt arbeiten wir zum Beispiel mit 1 Euro pro 1 Stunde! Return "1:00:00 h" End Function Bilder: https://s17.directupload.net/images/190921/7kzbtej4.png https://s17.directupload.net/images/190921/g3mwvr3i.png
Quellcode: https://workupload.com/file/BSfCFXDZ (Ohne EXE-Datei) |
|
Antwort: |
Von |
Nico |
E-Mail |
nico.schertler@studentpartners.de |
Datum |
21. September 2019 um 17:32:41 |
Antwort |
Hallo,
als erstes solltest du dir überlegen, in welcher Form das aktuelle Guthaben gespeichert werden soll - entweder als Zeit oder als Geld. Entscheide dich für eines von beiden und berechne das andere. In folgendem Beispiel speichere ich Geld und berechne daraus die Restzeit. Als nächstes solltest du die korrekten Datentypen verwenden. Geld wird typischerweise als Decimal dargestellt. Zeitspannen als TimeSpan. Ein String sollte ausschließlich zur Darstellung verwendet werden. Und alle Datentypen erlauben dir mit ToString, das in vielen Fällen sowieso automatisch benutzt wird, eine entsprechende Umrechnung. Speichere deine Daten nie als String. Dann kannst du nichts Sinnvolles damit machen. Und schließlich solltest du dir noch über die gesamte Struktur ein paar Gedanken machen. Hier scheint es mir sinnvoll, eine Klasse Zeitkonto zu haben, die für die Verwaltung von Geld und Zeit zuständig ist. Deine Form oder wo auch immer du das Konto verwenden möchtest, sollten dann keine Logik enthalten, sondern nur darstellen. Hier ein Beispiel:Class Zeitkonto 'Umrechnungsfaktor - je nach Anwendungsfall kann dieser auch konstant gewählt werden Public Const EuroProStunde As Decimal = 1 'Das In diesem Konto gespeicherte Guthaben In Euro Public Property GuthabenInEuro As Decimal 'Die abgeleitete Restzeit Public ReadOnly Property Restzeit() As TimeSpan Get Return TimeSpan.FromHours(GuthabenInEuro / EuroProStunde) End Get End Property End Class Und das kann dann bspw. so verwendet werden:'Ein neues Konto anlegen Dim konto As New Zeitkonto '10 Euro einzahlen konto.GuthabenInEuro += 10 'Und die verbleibende Restzeit anzeigen Console.WriteLine(konto.Restzeit) Nico |
|
[ Antwort schreiben | Zurück zum VB.Net-Forum | Forum-Hilfe ] |
|
Letzte Aktualisierung: Sonntag, 13. Dezember 2015 |
|