Hallo,
kann mir jemand beibringen wie man Daten aus dem Flusi ausliest?
Mit freundlichen Grüßen
Julian
:tongue:
Hallo,
kann mir jemand beibringen wie man Daten aus dem Flusi ausliest?
Mit freundlichen Grüßen
Julian
:tongue:
Welche Daten willst du da denn auslesen???
Die Datenübertragung kann mit verschiedenen Modulen durchgeführt werden.
1. simconnect (in FSX Acceleration Pack oder FSX mit SP2 integriert)
2. fsuipc (Modul das kostenlos genutzt werden kann. Für erweiterte Funktionen ist der käufliche Erwerb eines
Registrationsschlüssels erforderlich.)
3. Wide Client, arbeitet mit fsuipc zusammen und wird für die Datenübertragung im Netzwerk benötigt (muss käuflich
erworben werden)
Über diese Module findet die Datenübertragung zu anderen Programmen statt. Diese Programme verarbeiten dann die empfangenen Daten und senden auch evtl. Daten an den FSX zurück.
Ich hoffe das war gemeint. Gruß
Ingo
Ich glaube er meint Flugdaten. Da waere SaveYourFlight die richtige Wahl
Mit Daten meinte ich z.B. die Flughöhe, die Fluggeschwindigkeit.
Das mit FSUIPC kenne ich bereits,
allerdings möchte ich nun diese Daten aus FSUIPC mithilfe von Java in eine Datei z.B. .txt aktualisiert abgespeichert haben.
Weis jemand wie das geht?
Hallo,
ist eigentlich nicht so schwer:
import com.flightsim.fsuipc.*;
import java.io.*;
public class FSUIPCTest {
public static void main(String[] args) {
int sim = fsuipc_wrapper.Open(fsuipc_wrapper.SIM_ANY); // Verbindung herstellen
if(sim == 0) {
System.err.print("Kein Flugsimulator mit FSUIPC gefunden!");
return;
}
FSUIPC fsuipc = new FSUIPC();
double speedInMetresPerSecond = fsuipc.getDouble(0x6030); // Geschwindigkeit auslesen
double speedInKnots = speedInMetresPerSecond * 3.6 / 1.852; // umrechnen
int altitudeInFeet = fsuipc.getInt(0x3324); // Höhe auslesen
fsuipc_wrapper.Close();
try {
BufferedWriter bw = new BufferedWriter(new FileWriter("datei.txt")); // Neue Datei erstellen
bw.append("Geschwindigkeit: " + speedInKnots + " kn\n"); // Werte schreiben
bw.append("Höhe: " + altitudeInFeet + " ft");
bw.close();
} catch(IOException ex) {
System.err.println("Fehler beim Speichern: \n" + ex.getLocalizedMessage());
}
}
}
Alles anzeigen
Danke, das ist sogar für mich verständlich, nur ich verstehe nicht, wann und warum eine IOExeption auftreten könnte Warum sollte er das nicht speichern können?
Ein bisschen kenne ich mich ja mit Java auch aus. Nur nicht mit den beiden packages, die du importiert hast.
Trorzdem Danke
(Auch wenns nicht mein Thread ist mit wirds auch helfen ^^)
Hallo,
die IOException kann durch das Speichern der Datei enstehen, es ist nämlich nicht sicher, ob das Speichern erfolgreich ist. Das Programm könnte z.B. kein Schreibzugriff haben oder das Laufwerk könnte voll sein, usw.
Das obere Package ist aus dem FSUIPC SDK von Java. Das FSUIPC SDK kann man sich auf der FSUIPC Seite herunterladen. In dieser Datei sind dann viele zip-Dateien für alle möglichen Programmiersprachen. Und bei der zip-Datei für Java ist eine jar-Datei enthalten, die man über eine IDE mit dem Programm verknüpfen kann. Das zweite Package ist aus der Java API.
Ok, daran habe ich nicht gedacht, dass das vorkommen könnte Ich hätte spätestens wenn der Fehler käme gemerkt, dass dieser Fehler auftreten könnte
Danke, ich werde mir die Packages mal anschauen
Gruß Nico
Danke ich probier den Code mal aus.
Vorher muss ich ja noch dieses com.flightsim.fsuipc Packet installierne,
wie geht das?
Hallo,
ich hab die jar-Datei mal hochgeladen, siehe Anhang. Diese jar-Datei einfach aus dem Zip entpacken und mit der IDE einbinden.
Also kannst du mir erklären, wie ich das mache, wenn ich die Datei auf dem Desktop habe, also den Code wie ich das einbinde.
Vielleicht nochmal ganz von vorne.
Benutzt du eine IDE? Wenn nicht, kann ich es nur empfehlen. Ich verwende meist Eclipse.
In Eclipse musst du ein Projekt erstellen, dann eine Klasse und in die Klasse fügst du den Quellcode ein. Dann bindest du die jar-Datei ein, indem du auf das Projekt rechtsklickst, und dann unter "Build Path" "Add External Archives..." auswählst. Dann kommt ein Fenster, wo du die fsuipc.jar auswählen kannst. Danach solltest du noch die fsuipc_java.dll in das Hauptverzeichnis kopieren, und dann sollte alles klappen.
Danke!
Wo finde ich die .dll?
Die gibt es auch im FSUIPC SDK.
In welches Hauptverzeichnis?
Muss der Flusi gestartet sein, damit das Programm läuft?
Muss ich erst das Programm starten?
Die dll muss in das Hauptverzeichnis von deinem Programm. Zuerst muss der FSX gestartet werden und dann das Programm.
Wie wärs denn, wenn du mal nen komplett Tutorial schreibst, statt 2000 Posts?
OK, dann Schritt für Schritt:
Eclipse installieren
Schritt 1: Eclipse unter http://eclipse.com/downloads herunterladen:
Schritt 2: Die zip-Datei in einen beliebigen Ordner entpacken (hier mit 7-Zip):
Projekt einrichten
Schritt 3: Eclipse.exe starten:
Schritt 4: Workspace auswählen, dort werden die Projektdateien gespeichert:
Schritt 5: Unter "File > New" ein neues Projekt erstellen und dann auf Finish klicken:
Schritt 6: FSUIPC SDK herunterladen:
Schritt 7: FSUIPC SDK für Java öffnen:
Schritt 8: Die jar-Datei irgendwo hinkopieren, wo man sie wieder findet, die dll-Datei siehe nächste Schritte:
Schritt 9: In den in Schritt 4 angelegten Workspace navigieren, dann in das Projektverzeichnis (hier FSUIPC):
Schritt 10: Die dll-Datei in diesen Ordner kopieren:
Schritt 11: Zurück in Eclipse Rechtsklick auf das Projekt, und dann wie im Screenshot gezeigt den Menüpunkt "Add External Archives" auswählen:
Schritt 12: Zur in Schritt 8 kopierten fsuipc.jar navigieren und auswählen, bestätigen:
Schritt 13: Neue Klasse erstellen, die Einstellungen auf der Seite sind irrelevant, da sie eh durch den Code überschrieben werden:
Schritt 14: Den generierten Code mit dem aus dem obigen Post ersetzen und mit dem grünen "Play" Button starten.
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!