Umrechnung Sekunden in Stunden

  • VB.NET
    Und Databinding erstmal!
    Da tritts ühaupt nicht mehr auf, dass Werte aus Textboxen oder anneren Controls geholt werden, sondern man arbeitet nur auf den korrekt typisierten Daten - ums Updaten und Synchronisieren mitte Controls kümmert sich das Databinding.
    Programmier-Tipps:   allgemeine Tipps                                   Tipps zu DB-Programmierung
    Helferlein:                  Online Code-Übersetzer (c# <=> vb)   Decompiler ILSpy
    Weil Du schon Databinding erwähnst. Gibt es eine Möglichkeit eine List(Of Sonstwas) an eine ListBox zu binden. Beim Auswählen von "An Daten gebundene Elemente verwenden" kann ich nur eine neue Projektdatenquelle hinzufügen, aber nicht eine bereits deklarierte Liste verwenden. Ich löse es im Moment so, dass ich eine Klasse Irgendwas(Of T) deklariere, die IList(Of T) implementiert. Diese nimmt im Konstruktor eine ListBox entgegen und beim Ändern der Auflistung wird die ListBox aktualisiert. Das ist halt unnütze Arbeit wenn es mit Databinding auch funktioniert.
    "How far light travels on this atom, something, something else. [...] A specific type of atom/element and how many times it radiates around itself."
    -- Gavin Free on the the definition of a second, 30. Juni 2014
    Es gibt 2 Arten von DataSources: einmal typisierte Datasetss, und zum andern kann man im Datenfenster "OjectDatasources" hinzufügen. gugge Objekt-Databinding
    Aber ist bisserl umständlich. Ich mach, falls, einfach codeseitig, eher wie in KeyValuePair als Datenobjekt
    achso, bei Entities kriegt man die ObjectDataSources auch gleich hingeneriert.
    Programmier-Tipps:   allgemeine Tipps                                   Tipps zu DB-Programmierung
    Helferlein:                  Online Code-Übersetzer (c# <=> vb)   Decompiler ILSpy

    picoflop schrieb:


    .Net hat eine Umrechungsklasse bereits eingebaut: Das TimeSpan Objekt!

    Wenn du unbedingt den "schweren" Weg gehen willst (oder musst, weil dein Lehrer keine Fantasie/Ahnung hat)
    Moin,

    ich möchte mich mal eben zu Wort melden.

    Ich stehe derzeit vor demselben Problem mit diesem Programm, ich denke dass die Leute die hier die Fragen stellen, alle anhand von bestimmten Studienmaterial die Programmierung in Visual Basic 2010 lernen.

    Auch ich bin langsam ziemlich genervt davon, da ich mich mit meinen Fragen eigentlich nirgendwo hinwenden kann, zum einen scheint kein Mensch mehr wirklich mit Konsolenanwendungen zu arbeiten, zum anderen wird, wie hier auch, auf bestimmte vereinfachte Lösungswege, wie in diesem Fall das "TimeSpanObjekt" hingewiesen.

    Man darf nicht vergessen, dass Leuten wie uns (ich breche jetzt einfach mal die Lanze für alle Fragesteller im www denen VB anhand trockenster Oldschool-Konsolenhackerei beigebracht wird) im Rahmen dieses Studiums bis zu diesem Punkt noch kein Wort von TimeSpan und Co. gehört haben und derartiges auch nicht als Hausaufgabe einreichen können und somit gezwungen sind eine altertümliche Lösung zu finden.

    Ob dies tatsächlich noch zeitgemäss ist wage ich langsam zu bezweifeln, allerdings laufen die Programme natürlich auch auf diese Art, und ich weiss jetzt nicht ob ich im Rahmen des Studiums später auf TimeSpan und Co stossen werde, in jedem Fall muss ich jetzt irgendwie dieses Problem ohne Umrechnungsklasse lösen und hier ist meine Grenze erreicht.

    Ich muss also ein Konsolenprogramm schreiben dass wie folgt ausgegeben werden soll:

    Geben Sie eine Zeitspanne in Sekunden an: 90099
    Das entspricht einer Zeit von: 25 Stunden, 16 Minuten, 39 Sekunden

    Wie kann ich das ganz simple ohne TimeSpan umsetzen?
    Weiterhin würde mich natürlich auch eure Meinung interessieren warum diese Methode ggf. die schlechtere Variante ist.

    Beste Grüsse

    Vbstudent
    Wie würdest du denn eine Zeitspanne von x Sekunden mit Blatt und Stift in a Stunden b Minuten und c Sekunden umrechnen?
    Schreib dir den Lösungsweg auf ein Blatt un du hast deine Lösung die du programmieren kannst!
    Oder erwartest Du echt dass du deine Hausaufgaben gemacht bekommst?
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei

    FloFuchs schrieb:

    Wie würdest du denn eine Zeitspanne von x Sekunden mit Blatt und Stift in a Stunden b Minuten und c Sekunden umrechnen?
    Schreib dir den Lösungsweg auf ein Blatt un du hast deine Lösung die du programmieren kannst!
    Oder erwartest Du echt dass du deine Hausaufgaben gemacht bekommst?

    Ich erwarte ganz sicher nicht dass irgendwer meine Hausaufgaben für mich macht gehts noch?

    Wie ich bereits ausführlich erklärte habe ich hier eine Grenze erreicht und komme nicht mehr weiter, du kannst also getrost davon ausgehen dass ich mich mit dem Problem auf jede nur erdenkliche Art und Weise auseinandergesetzt habe.

    Hier gehts um Ganzzahl- und ModuloDivision , und genau da stecke ich jetzt seit Tagen fest und sehe den Baum vor lauter Wäldern nicht mehr, wenn ich nach einem CodeBeispiel frage dann sicherlich nicht wei ich zu faul bin mich selbst damit auseinanderzusetzen - lies mal meinen Beitrag und versuche zu verstehen warum es anhand des Lernmaterials so unglaublich schwierig ist eine Lösung zu finden.

    DU hast sicherlich auch mal bei 0 angefangen und, für andere dumm und lästig wirkende, Fragen gestellt?

    LG VBstudent
    Sicher habe ich bei 0 angefangen... zu Zeiten ohne Internet, ohne Foren und ohne Lehrer NUR mit ein paar Büchern! Sprich mit viel Lesen und wie gesagt mit nem Zettel und Stift!
    :thumbsup: MERKE LESEN! :thumbsup:

    Falls du das aufmerksam machen würdest wäre Dir weiter oben im Thread schon ein Post aufgefallen wo die Lösung sogar schon steht. :sleeping: :sleeping:
    Falls dir das lösen deiner Aufgabenstellung mittels eines Struktogramms zuviel ist!
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei
    Probier das mal mit dem Taschenrechner aus:

    67 Sekunden sind gegeben:
    Minuten: 67/60 = 1.11666 => 1
    Sekunden: 67-1*60 = 7

    Du siehst, dass das sehr umständlich ist.. Hier mal die Lösung mittels Timespan und gebastelt:

    VB.NET-Quellcode

    1. Function getTime_Timespan(ByVal sec As Integer) As String
    2. Dim tmp As TimeSpan = TimeSpan.FromSeconds(sec)
    3. Dim Stunden As Integer = tmp.Days * 24 + tmp.Hours 'und das auch nur, weil du nicht "1 Tag, 1 Stunde..." haben willst
    4. Return Stunden.ToString & " Stunden, " & tmp.Minutes.ToString & " Minuten, " & tmp.Seconds.ToString & " Sekunden"
    5. End Function
    6. Function getTime_Selfmade(ByVal sec As Integer) As String
    7. Dim Stunden As Integer = Math.Floor(sec / 3600)
    8. Dim Minuten As Integer = Math.Floor((sec - Stunden * 3600) / 60)
    9. Dim Sekunden As Integer = sec - Stunden * 3600 - Minuten * 60
    10. Return Stunden.ToString & " Stunden, " & Minuten.ToString & " Minuten, " & Sekunden.ToString & " Sekunden"
    11. End Function
    Klar is das umständlich, wenn halt die Aufgabe is, isses halt aber so....
    aber ... das lernt natürlich... :thumbdown:
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei
    Nun ja, rechnen kann ich schon, wie ich allerdings in vorhergehenden Beiträgen erklärte stecke ich gerade ziemlich fest und weiss nicht wie ich einen entsprechenden Code formulieren könnte.

    Ich frage ja nicht umsonst nach einem entsprechend veranschaulichendem Code ?(

    Edit by Manschula: (Unnötiges) Vollzitat entfernt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manschula“ ()

    VBstudent schrieb:

    Ich frage ja nicht umsonst nach einem entsprechend veranschaulichendem Code

    Und warum machst du nicht das, was weiter oben steht?

    Schreib dir den Lösungsweg auf ein Blatt un du hast deine Lösung die du programmieren kannst!

    Bist DU in der Lage, händisch 1234 Sekunden in Stunden/Minuten/Sekunden umzurechnen? Wenn ja ... schreib auf wie und du hast im Prinzip schon deinen "Code"
    Von Hilfeanfragen via PN ist ABZUSEHEN!


    GUI - Threading Best Of - Async - x64 Excp

    picoflop schrieb:



    Und warum machst du nicht das, was weiter oben steht?


    Bist DU in der Lage, händisch 1234 Sekunden in Stunden/Minuten/Sekunden umzurechnen? Wenn ja ... schreib auf wie und du hast im Prinzip schon deinen "Code"
    Weil ich genau dies einfach nicht hinbekomme, ich sag ja nicht umsonst ich seh grad den Baum vor lauter Wäldern nicht mehr.

    Es bringt mich an diesem Punkt schlicht nicht weiter mich langsam an eine mögliche Lösung heranzuführen sondern ich brauche einen veranschaulichenden Code als Grundlage um diese Sache letztendlich zu verstehen, das mag dir ungewöhnlich erscheinen aber so lerne ich eben nun mal, jeder ist da anders.

    Ich mein hier wurden ja auch umgehend Codes mit TimeSpan Beispielen gepostet, warum gehts nicht auch bei dieser Frage?

    Kann mir nun jemand einen veranschaulichenden Code ohne TimeSpan posten oder nicht? ?(

    ... ich wende mich ja nicht umsonst an ein VBForum ...

    VBstudent schrieb:

    Es bringt mich an diesem Punkt schlicht nicht weiter mich langsam an eine mögliche Lösung heranzuführen sondern ich brauche einen veranschaulichenden Code als Grundlage um diese Sache letztendlich zu verstehen, das mag dir ungewöhnlich erscheinen aber so lerne ich eben nun mal, jeder ist da anders.

    Manchmal sind wir halt bockig. Meist dann, wenn wir "gib Code! gib Code! gib Code!" wittern. Und ganz besonders, wenn nebenbei noch fett darauf hingewiesen wird, dass man ja "eigentlich" richtig lernen will.

    BTW: Im Eröffnungspost DIESES Threads steckt die schon FAST korrekte Lösung. Mithilfe der Korrektur aus Post #5 konnte der ursprüngliche TE seinen Code korrigieren. Aber du brauchst alles NOCHMAL vorgekaut?
    Von Hilfeanfragen via PN ist ABZUSEHEN!


    GUI - Threading Best Of - Async - x64 Excp
    schechter oder nicht.. es zeigt auf jeden fall eines... den vollkommenen UNWILLEN auch nur irgendwas richtig zu lesen!!!

    picoflop: Und warum machst du nicht das, was weiter oben steht?
    Bist DU in der Lage, händisch 1234 Sekunden in Stunden/Minuten/Sekunden umzurechnen? Wenn ja ... schreib auf wie und du hast im Prinzip schon deinen "Code"


    VBStudent: Weil ich genau dies einfach nicht hinbekomme, ich sag ja nicht umsonst ich seh grad den Baum vor lauter Wäldern nicht mehr.


    DAS is nich dein erst, oder?
    Wenn du nichtmal weißt wie man aus Sekunden Minuten macht, sprich DU WEIßT NICHT, dass 60 sekunden = 1 Minute ist, was zum Geier veranlasst Dich zu glauben, einen COmputer programmieren zu können? Ich glaube da sollte deine Lernaufmerksamkeit erst mal bei den allgemeinen Basics des Lebens beginnen!
    Nichts für ungut!
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei
    Flo hat vollkommen recht, wer nicht in der Lage ist durch 60 zu teilen der ist eindeutig an der falschen Stelle.
    Hier ist grundlegendes Wissen aus der 5-7 Klasse gefragt, und die Lösung steht dazu auch noch fast hier.

    Grüßle Marco
    Scheene Grüß vom Schwabeländle
    @ picoflop

    Ok dankesehr für deinen Hinweis, ich habe tatsächlich den letzten Absatz deines Posting 5 übersehen, jetzt ist mir jedenfalls nochmal alles deutlicher geworden und ich kann mich mit dem Code, insbesondere mit meinen bisherigen Gedankengängen die mich erst in diese Sackgasse brachten, auseinandersetzen.

    @ den Binärgott ... die "Basics des Lebens" mein lieber flo beinhalten in allererster Linie die Fähigkeit des Wahrnehmens eines Gegenübers und der konstruktiven Reaktion auf sein Anliegen, dies stellt ein grundlegendes zwischenmenschliches Konzept dar und ist zudem eine der wichtigsten Grundlagen für eine funktionierende Gemeinschaft, wie auch dieses Forum eine Gemeinschaft darstellt.


    Ich darf dir unterstellen mich durchaus richtig verstanden zu haben, denn lesen kannst du ja wie du bereits eindrucksvoll erläutert hast, als ich sagte ich kann aufgrund einer Blockade schlicht den Code gerade nicht korrekt formulieren und hierbei einfach nur einen letzten Anstoss benötige, sei er auch noch so gering und sollte er der Gemeinschaft noch so banal erscheinen, hierfür wende ich mich immerhin an eine Gemeinschaft wie diese, mir mit offensichtlich destruktiver Leidenschaft dyskalkuläre und zudem lebensfremde Verhaltensweisen zu unterstellen ist von gemeinschaftlicher Produktivität jedoch sehr weit entfernt und man könnte sich natürlich fragen was einen Menschen wie dich in ein gemeinschaftliches Forum treibt, hilfreich bei der Lösung meines Problems warst du mir durch dein Verhalten jedenfalls nicht, allenfalls konntest du dich durch die Darstellung deiner Überlegenheit eines blutigen Anfängers gegenüber ein wenig besser fühlen, das wars dann aber auch schon und ausser dir hat niemand etwas davon gehabt.

    Und ja, du hast sicherlich recht dass ich mich mit den Basics vertraut machen sollte, eben dies tu ich ja derzeit als Student im ersten Monat, du bist bestimmt ein guter Programmierer, aber im zwischenmenschlichen Bereich offenbar noch ein wenig schulungsbedürftig, nimms mir nicht übel, aber auch du solltest dich in diesem Bereich mit gewissen Basics vertraut machen.

    @marco ... du bist nun eindrucksvoll auf flo´s Singsang angesprungen und hast dabei nur ganz nebenbei vergessen zu lesen was ich zuvor schrieb?
    mein Lieber VBStudent...
    ich fühle mich dir weder überlegen noch sonst i-was... ich kann es nich leiden wenn Menschen nicht lesen, obs nu im Netz oder im Reallive(was auch immer das sein soll, kenn ich nur vom hörensagen) ist.
    Es stand halt nun mal alles schon haarklein mehrmals im Thread! Aber egal...
    Fragen sind gerne willkommen und ich bin der letzte der nicht hilft... auch wenn es Dir anders erscheint... kannst es ja mal recherchieren...
    Eins habe ich wohl erreicht.. genauer geschaut haste... ;) manchmal muss man halt ma anecken ;)
    In diesem Sinne... good fight .. good night :thumbup:
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei