![]() |
Flugformel aus Excel nach Delphi konvertieren
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe eine Flugformel in Excel die mir die korrekte Flugzeit berechnet.
Ich möchte nun diese Formel in Delphi nutzen können. Allerdings habe ich bisher keinen Erfolg mit einem richtigen Ergebniss gehabt. Ich habe die Formel in Delphi 1 zu 1 übertragen -> kein korrektes Ergebnis Ich habe die Formel versucht Schritt für Schritt durchzurechnen -> auch kein korrektes Ergbnis. Also meine Frage ist nun, sind einige Mathegenies unter euch, die mir da behilflich sein könnten, die korrekte Flugzeit in Delphi zu berechnen? Ich habe ein Screenshot angehangen, welche die Formel in Excel zeigt und wo Excel das korrekte Ergebnis ausrechnet. Ich habe ein paar variablen fest eingetragen, die normaler weise aus einer Tabelle gelesen werden. Die Daten sind: 16 (das ist die Entfernung) 14000 ist die Grund-Geschwindigkeit des Schiffs und die vorletzte 100 ist die Fluggeschwindigkeit in % (Man kann wählen zwischen 10, 20, 30...90, 100%) Ich bin für jede Hilfe dankbar ;) Edit: Das korrekte Ergebniss ist in H23 (00:48:38, also 48Minuten und 38 Sekunden Flugzeit) |
AW: Flugformel aus Excel nach Delphi konvertieren
Ich kann zwar den Sinn nicht erkennen, aber
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var d:Double; begin d :=((( ((((16*0.02/5+1)*60)*640000)/(14000*100/100))*(1/1))/3600/24)/100*100); Caption := TimeToStr(d); end; |
AW: Flugformel aus Excel nach Delphi konvertieren
Vielen Dank Bummi.
Jetzt weiß ich auch meinen Fehler :( Ich habe nicht die Formel falsch eingegeben, ich habe TimeToStr nicht benutzt sondern eine eigene Funktion mit der ich sonnst die anderen Flugformeln in einen String konvertiert hab. Aber die Funktioniert hier nicht, wieso auch immer. Gibt es eine Möglichkeit die Formel noch zu verbessern? Zum Bsp. ist 1/1 doch blödsinn oder? |
AW: Flugformel aus Excel nach Delphi konvertieren
Bei
Delphi-Quellcode:
komme ich auch auf das Ergebnis, aber mit einer kürzeren Formel. Wozu die ganzen Klammern und Mutliplikation mit anschließender Division durch den Multiplikator gut sein sollen, entzieht sich meiner Kenntnis (Rundungsungenauigkeiten evtl.?).
d := (16*0.02/5+1)*60*640000/14000/3600/24;
[edit]Mittlerweile bin ich bei d := (16/250+1)/31.5; angelangt. [/edit] |
AW: Flugformel aus Excel nach Delphi konvertieren
Naja das Problem ist, das die Flugformel von dem Spiel nicht dokumentiert ist, allerdings auch nicht verboten zu benutzen.
Also hat sich die mit der Zeit in der Comunity entwickelt, Sie funktioniert aber ist wohl noch nicht genau so wie sie eigentlich sein sollte... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz