Announcement

Collapse
No announcement yet.

Millsekunden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Millsekunden

    Hi,
    wie kann ich Millisekunden ind Sunden, min und sek umwandeln. Also z.B 250875 Millisekunden.

    MfG
    Nico

  • #2
    1 Stunde hat 60 Min

    1 Minute hat 60 Sek

    1 Sekunde hat 60 mSek?? Ähhh??

    www.google.d
    Christian

    Comment


    • #3
      so weit bin ich auch schon.
      aber wie kann ich das ganze umrechnen? bzw wie kann ich so was programmieren?
      eigendlich is das ja schon so geschrieben
      250875 wenn man jezt die doppelpunkte setzen würde: 2:08:70 (m;ss;ms;ms) aber wie kann ich die doppelpunkte setzen? is doch nen ganzer string

      Comment


      • #4
        Wenn du dieser Meinung bist:

        mit Insert an den gewünschten Stellen die Doppelpunkte einfügen.

        Die Methode Insert fügt den angegebenen String in das AnsiString-Objekt ein.

        AnsiString& __fastcall Insert(const AnsiString& str, int index);

        Beschreibung

        Der String str wird beginnend bei der mit index angegebenen Position in das AnsiString-Objekt eingefügt. 1 gibt dabei die erste Position im String an. Die Methode gibt den geänderten Ergebnis-String (*this) zurück.

        Wenn index einen kleineren Wert als 1 enthält, wird er wie 1 behandelt. Wenn der Wert in index größer als die Länge des Strings ist, wird er auf Length() gesetzt und die Einfügeoperation in eine Hinzufügeoperation umgewandelt.

        Wenn der Parameter str ein leerer String ist, führt Insert nichts aus.

        Insert löst eine EOutOfMemory-Exception aus, wenn nicht genügend Speicher für den neuen, längeren String zugewiesen werden kann.

        Hinweis

        Wenn Sie mit einem Mulitbyte-Zeichensystem arbeiten, gibt der Parameter index die Zeichen, nicht die Byte an.

        Bei mir sind
        250875 mSek = 250,875 Sekunden
        und damit irgendwas im Bereich von 4 Min und etwas (4.18125). Wie du auf 2 Minuten kommst ist mir schleierhaft. Empfehle hier doch noch mal googl
        Christian

        Comment


        • #5
          also ich das jezt so gemacht:

          String plTime, plTimeM, plTimeS;

          plTime = FSOUND_Stream_GetTime(samp1)/1000;

          plTimeM = plTime/60;

          plTimeS = plTime;

          Label1->Caption = plTimeM + ":" + plTimeS;

          Wenn jezt aber plTimeS (also die sek.) über 60 is muss da ja wieder 0 stehen. aber es wird einfach weiter gezählt also 60, 61, 62 usw.

          MfG
          Nicma

          Comment


          • #6
            Wieso MUSS da 0 stehen?

            plTimeS sind die Anzahl der Sekunden, berechnet aus mSek/1000. Wo soll da eine 0 herkommen?

            plTimeM sind die Minuten, berechnet aus sek/60. Wenn bei dieser Division kein Rest bleibt, sind die Sekunden 0. Ansonsten ist der Rest die verbleibenden Sekunden.

            120 sek /60 = 2 Minuten und 0 Sek.<br>
            130 sek /60 = 2 Miunten und 10 Sek
            Christian

            Comment


            • #7
              also irgendwie blick ich das noch nich so :-)

              Ich bekomme z.B angezeigt:
              0:55 (m;ss)
              wenn jezt aber die ss größer als 60 sind bekomm ich sowas:
              1:63 (m;ss)

              MfG
              Nic

              Comment


              • #8
                Ähhh, entweder stehe ich auf dem Schlauch oder du

                plTimeS = plTime;

                Du rechnest die Sek mit dem falschen Wert aus.

                Die Sek sind der Rest (Nachkommaanteil) von

                plTimeM = plTime/60
                Christian

                Comment


                • #9
                  Hi nicmar,
                  Wenn Du nach 60 wieder bei 0 anfangen willst:
                  <PRE>
                  plTimeS = plTime % 60;
                  </PRE&gt

                  Comment


                  • #10
                    Hallo nicmar,

                    und was hälst du von dieser Lösung

                    long lMilsek;
                    int ihh, imm, iss, ims;

                    ihh = iMilsek / 3600000; // Stunden

                    // Die errechneten Stunden von den Millisekunden abziehen

                    iMilsek = iMilsek - (ihh * 3600000);

                    imm = iMilsek / 60000; // Minuten

                    iMilsek = iMilsek - (imm * 60000);

                    iss = iMilsek / 1000; // Sekunden

                    ims = iMilsek - (iss * 1000 );

                    Viele Grüße

                    Diete
                    Mache Software wird nie fertig. Man muss sie für fertig erklären.

                    Comment

                    Working...
                    X