Tobias Gomez: Formular zur Berechnung der Leistung

Hallo, guten Tag zusammen.

Ich stehe vor einem (für mich) unlösbaren Problem, glaube ich.
Ich habe eine alte, von einem ehemaligen Vereinsmitglied, Excelmappe wiedergefunden. Mit dieser Excel Arbeitsmappe kann man für sein Modellschiff die Leistung errechnen lassen. Nun hätte ich gerne diese in der Arbeitsmappen aufgeführten Felder als eine Art Webformular. D.h. mit diesen Feldern wie man sie von Kontaktformularen her kennt. Da ich mal irgendwo gelesen habe, dass man mit Javascript auch mathematische Formeln ausführen lassen kann, ich aber überhaupt keine Ahnung von Javascript habe möchte ich Euch hier ansprechen und fragen, ob jemand (wenn der Aufwand natürlich gering ist) der Experte ist diese Aufgabe übernehmen kann? Ich weiss dass hier ein Forum ist, um solche Sachen zu lernen aber ich wollte eigentlich noch dieses Jahr :-) meinen Kollegen dieses Formular zum benutzen geben.

Hier der Pfad zu der Excel Datei: www.wetterlernen.de/Leistung.xls

Ich würde mich wirklich freuen, wenn mir jemand helfen könnte. Ich bin unter der angegebenen E-mail Adresse erreichbar

Viele Grüße

Tobias

  1. Hallo Tobias,

    ich hab leider wenig Zeit, hab mir aber mal Dein Excel Formular Feld
    angeschaut.

    Eigentlich alles nur Multiplicationen und Divisionen und ein paar Klammern. Excel zeigt Dir ja den Rechenweg an.

    Schau Dir doch mal z.B.

    http://de.selfhtml.org/javascript/beispiele/taschenrechner.htm

    an.

    Sorry Bernd

    1. Schau Dir doch mal z.B.

      http://de.selfhtml.org/javascript/beispiele/taschenrechner.htm

      an.

      Hallo Bernd,

      danke erstmal für den Tipp. Aber ich muss sagen, ich verstehe nur Bahnhof, sorry.

      Gruss

      Tobias

      1. Hallo Tobias,

        hier ein kleines Beispiel zum Einsteigen:

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
        <title>Rechnen</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <script type="text/javascript">
        function rechne() {
         var i1,i2,z1,z2,erg;
         i1=document.frm.Z1.value;    // Werte aus Eingabefeld lesen
         i2=document.frm.Z2.value;
         z1=parseFloat(i1);           // Werte in Zahlen umwandeln
         z2=parseFloat(i2);
         erg=z1+z2;                   // Rechnen
         document.frm.Erg.value=erg;  // Ergebniss ausgeben
        }
        </script>
        </head>
        <body>
        <form action="" name="frm">
        <input type="Text" name="Z1" value="1"> +
        <input type="Text" name="Z2" value="1"> =
        <input type="Text" name="Erg" value="2"><br>
        <button type="button" onclick="rechne()">Rechnen</button>
        </form>
        </body>
        </html>

        Gruß, Jürgen

        1. Vielen Dank. Auch wenn ich noch nie etwas mit Javascript gemacht habe, ist das alles ziemlich verwirrend. Wie sieht es z.B. mit Klammerrechnung aus usw *verzweifel*

          Gruss

          Tobias

          1. Hallo Tobias,

            ... Wie sieht es z.B. mit Klammerrechnung aus usw *verzweifel*

            wie in jeder anderen Sprache auch. Wahrscheinlich kannst Du die Formeln direkt übernehmen. Aber Du solltest Dir wirklich das Javascriptkapitel im selfhtml ansehen.

            Gruß, Jürgen

    2. Hi,

      Eigentlich alles nur Multiplicationen und Divisionen und ein paar Klammern. Excel zeigt Dir ja den Rechenweg an.

      nunja, wie man's nimmt. Zunächst mal den Hintergrund entfernt, damit man vernünftig lesen kann. ;-)
      Aber dann...
      Modell = SUMME(M3/M4) // ok, also weiter:

      M3 = SUMME(C6*1852/3600) // hmm, Schnitzeljagt
      C6 = G5 // mist, wieder nix
      G5 = 24 // juhu :-) aber da war ja noch:

      M4 = WURZEL(C7) // schon wieder...
      C7 = G6 // kenn ich ja schon fast
      G6 = 22 // uff, die erste Formel hätte ich also:

      var Geschwindigkeit_vom_Original = 24;
      var Modell_Masstab = 22;
      var Modell = Geschwindigkeit_vom_Original * 1852 / 3600 / Math.sqrt(Modell_Masstab)

      Aber es wäre schon einfacher, wenn Du das Excel-Sheet erstmal etwas aufräumen würdest.

      freundliche Grüße
      Ingo

      1. Hi,

        Aber es wäre schon einfacher, wenn Du das Excel-Sheet erstmal etwas aufräumen würdest.

        womit ich natürlich Tobias meinte...

        freundliche Grüße
        Ingo

        1. Aber es wäre schon einfacher, wenn Du das Excel-Sheet erstmal etwas aufräumen würdest.

          Hi.. also wie schon gesagt, habe ich die Excel Datei nicht selbst erstellt. Ich habe sorge, wenn ich einiges ändere, dass ich die Formeln auchversehendlich ändere.

          Gruss

          Tobias

          1. Hi,
            aber Du siehst schon, daß das nicht ganz so wenig Aufwand ist?
            (obwohl ich die Schnitzeljagd und den Formularaufbau inzwischen ja kapiert habe ;-)
            und die Zweite Berechnung ging schon fixer:

            var Modell_Gewicht = 6.8;
            var Antriebsleistung = 3 * Math.pow(Modell,3) * Math.sqrt(Modell_Gewicht);

            freundliche Grüße
            Ingo

            1. Hi,
              aber Du siehst schon, daß das nicht ganz so wenig Aufwand ist?

              Also ich glaube dir das auf jeden Fall. Und es ist immer zu beneiden, wie jemand ohne Probleme ruckzuck eine Lösung findet.

              Vielen Dank

              Tobias

              1. Hi,

                Und es ist immer zu beneiden, wie jemand ohne Probleme ruckzuck eine Lösung findet.

                Vielen Dank

                Bitte schön. Hast Du den Rest denn schon alleine hinbekommen? Falls nicht:

                var Propellerwirkungsgrad = 50;
                var Propellerleistung = Antriebsleistung * 100 / Propellerwirkungsgrad;
                var Wellenwirkungsgrad = 90;
                var Wellenleistung = Propellerleistung * 100 / Wellenwirkungsgrad;
                var besterWirkungsgrad = 72;
                var Watt = Wellenleistung / besterWirkungsgrad * 100;
                alert ('Motorleistung: ca. ' + Math.round(Watt * 100) / 100 + ' Watt');

                War aber zugegebenermaßen jetzt schneller zusammenzusuchen.

                freundliche Grüße
                Ingo

                1. Bitte schön. Hast Du den Rest denn schon alleine hinbekommen? Falls nicht:

                  Hallo Ingo..

                  erstmal vielen Dank für die vorbildliche Mühe. Da gibt es nur ein Problem: wie ich schon in meinem ersten post geschrieben habe, kenne ich mit dieser Programmiersprache überhaupt nicht aus. Die Programmierungen die du netterweise aufgeführt hast, klingen für mich wie "Böhmische" Dörfer. Ich weiss nicht, wie ich daraus ein Formular erstellen soll, wie erstellt man denn daraus (wie die Excel Tabelle) ein Formular mit dem man diese Rechnungen ausführen kann?

                  Sorry das ich mit diesen Fragen viele zur Weissglut bringe,aber es ist mir wirklich wichtig.

                  Viele Grüße

                  Tobias

                  1. Hi,

                    Die Programmierungen die du netterweise aufgeführt hast, klingen für mich wie "Böhmische" Dörfer.

                    was aber einer Umsetzung nicht im Wege stehen sollte HTML-Grundkenntnisse vorausgesetzt.

                    Erstelle zunächst einen JavaScript-Bereich in Deiner HTML-Datei. Setze die Codestücke (in der geposteten Reighenfolge) in eine Funktion und kopiere diese dann dort rein.

                    Ich weiss nicht, wie ich daraus ein Formular erstellen soll, wie erstellt man denn daraus (wie die Excel Tabelle) ein Formular mit dem man diese Rechnungen ausführen kann?

                    Ein Formular wirst Du ja wohl selbst erstellen können. Hier kannst Du dann die zu erfragenden Daten in Eingabefelder setzen (und die fest vorgegebenen Werte einfach im Text anzeigen).

                    Auf der genannten Seite zur Definition einer Funktion findest Du weiter unten auch ein einfaches Beispiel, wie Du die Funktion aufrufst und einen Rückgabewert anzeigst.

                    freundliche Grüße
                    Ingo

                    1. was aber einer Umsetzung nicht im Wege stehen sollte HTML-Grundkenntnisse vorausgesetzt.

                      Also ich habe im Bereich Programmierung überhaupt keine Kenntnisse (weder html noch javascript)

                      Also ich habe das mal so probiert wie du es geschrieben hast:

                      Zuerst:

                      <script type="text/javascript">
                      <!--
                      function Berechne(Leistungsberechnung) {

                      var Geschwindigkeit_vom_Original = 24;
                      var Modell_Masstab = 22;
                      var Modell = Geschwindigkeit_vom_Original * 1852 / 3600 / Math.sqrt(Modell_Masstab);
                      var Modell_Gewicht = 6.8;
                      var Antriebsleistung = 3 * Math.pow(Modell,3) * Math.sqrt(Modell_Gewicht);
                      var Propellerwirkungsgrad = 50;
                      var Propellerleistung = Antriebsleistung * 100 / Propellerwirkungsgrad;
                      var Wellenwirkungsgrad = 90;
                      var Wellenleistung = Propellerleistung * 100 / Wellenwirkungsgrad;
                      var besterWirkungsgrad = 72;
                      var Watt = Wellenleistung / besterWirkungsgrad * 100;
                      alert ('Motorleistung: ca. ' + Math.round(Watt * 100) / 100 + ' Watt');

                      }

                      //-->
                      </script>

                      Aber das mit dem Forular und den Rückgabewerten verstehe ich nicht. Wenn ich richtig gelesen habe, dann muss ich ja auch in dem javascript noch Änderungen machen, oder?

                      Wie man dieses Formular arauf anpasst ist mir ein Rätsel.

                      Gruss

                      Tobias

                      1. Hi,

                        Also ich habe im Bereich Programmierung überhaupt keine Kenntnisse (weder html noch javascript)

                        bevor mir jemand zuvorkommt: HTML ist keine Programmiersprache, sondern eine (hoffentlich logische) Textauszeichnung. ;-)
                        Aber wie erstellst Du denn Deine Webseiten?

                        Also ich habe das mal so probiert wie du es geschrieben hast:
                        function Berechne(Leistungsberechnung) {

                        Diesen Parameter gibt es ja noch gar nicht. Du solltest entweder keinen Parameter übergeben, also () und die Daten dann vom Script aus aus dem Formular holen, oder die in den Input-Feldern abgefragten Daten entsprechend dem Beispiel übergeben; die Variablendefinitionen hierzu mußt Du natürlich aus dem Script löschen, da diese dann ja bereits übergeben worden sind.

                        Also z.B.
                        function Berechne(Geschwindigkeit_vom_Original, Modell_Masstab, Modell_Gewicht, besterWirkungsgrad)
                        wobei die Bordspannung, wenn die Ampere-Zahl auch noch ausgegeben werden soll, natürlich noch fehlt.

                        Wie man dieses Formular arauf anpasst ist mir ein Rätsel.

                        freundliche Grüße
                        Ingo

                        1. Wie ich meine Webseiten erstelle? Ich habe noch nie eine erstellt. Das Formular war lediglich wie eine Art Taschenrecher auf dem PC gedacht, das man aufruft, wenn man die Leistung berechnen will.

                          Ich gebs jetzt auf...das bekomme ich nie hin. Für mich ist das alles Neuland. Habe noch nie im Leben eine Zeile html geschrieben. Und wenn ich bedenke, das man wohl erst html lernen sollte und dann solche (für mich persönlich) schweren Scriptzeilen liest, die du mit großer Mühe erarbeitet hast, bring einen das schon mal zur Verzweiflung.

                          Trotzdem Danke ich dir für deine Aufopferung und die vorbildliche Hilfe.

                          Viele Grüße

                          Tobias

                          1. Hi,

                            Das Formular war lediglich wie eine Art Taschenrecher auf dem PC gedacht, das man aufruft, wenn man die Leistung berechnen will.

                            Aber wieso rufst Du dazu nicht einfach die Excel-Datei auf?

                            Ich gebs jetzt auf...das bekomme ich nie hin.

                            Schade, aber wenn Du

                            noch nie im Leben eine Zeile html geschrieben

                            hast - und das ansonsten auch nicht brauchst -, ist das schon verständlich.

                            Trotzdem Danke ich dir für deine Aufopferung und die vorbildliche Hilfe.

                            Mach' Dir da mal keine Gedanken - das war reine Neugier und auch nicht viel Arbeit.

                            freundliche Grüße
                            Ingo

                            1. Aber wieso rufst Du dazu nicht einfach die Excel-Datei auf?

                              Weil nicht jeder Excel auf seinem Rechner installiert hat und Formulare professioneller sind.

                              Tja, dann werden wir uns wohl mit dieser Datei vergnügen müssen.

                              Grüss

                              Tobias