JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=ac5d09a99cc0136abc1e85c1502173a3Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Mal wieder eine Javafrage

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Nahar
Senior JLI'ler


Alter: 36
Anmeldedatum: 16.07.2003
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 26.02.2004, 15:05    Titel: Mal wieder eine Javafrage Antworten mit Zitat

Angenommen ich wöllte z.B. einen Texteditor in Java programmieren, oder auch irgendetwas anderes, bei dem man mit doppelklick auf eine entsprechend endende Datei das Programm aufruft, also wie bei .txt unter Windows der Editor aufgerufen wird, wie mache ich das in Java? Das Problem ist, das Javapps ja über Konsole gestartet werden - man kann sie nicht direkt starten (auser es sind solche spezial-dinger, lasse ich jetzt aber mal auser acht). Also kann Windows sie auch nicht direkt starten (Habs getestet, kommten aber herzliche Grüße vom System des geht net) Wie kann man das aber sonst realisieren, oder kann man mit Java keine solche Programme machen? Eine weitere möglichkeit wäre, ein Programm zu schreiben, das dann wiederum über system(java argv[1]) das macht. Dann kann ich aber acuh das ganze Programm in C++ schreiben.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 26.02.2004, 20:24    Titel: Antworten mit Zitat

Das "im Explorer doppelklicken" ist keine Systemeigenschaft, die man in C++, Java oder Basic programmiert, sondern Vielmehr eine Einstellung des Explorers, die man im Explorer Selbst oder in der Systemregistrierung (regedit) vornehmen kann, wobei beides auf das selbe hinausläuft: DU registrierst eine Dateiendung z.B. *.bla für ein Programm was in deinem Fall java wäre mit den Parametern deiner class-Datei und der doppelgecklickten Datei z.B. "C:\java\bin\java.exe MeineAnwendung.class %s" wobei das %s ein Platzhalter für die doppelt geklickte Datei ist (wnn mich niocht alles täuscht). Wei genau die einträge in Regedit aussehen müssen, kann ich die allerdings nicht so schnell sagen.
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Nahar
Senior JLI'ler


Alter: 36
Anmeldedatum: 16.07.2003
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 26.02.2004, 21:25    Titel: Antworten mit Zitat

Ja, klar, aber das Problem ist das ich .class-Dateien nicht fest mit einem bestimmten Programm verknüpfen kann, da es mit dem Javainterpreter verknüpft sein muss, da Javaklassen um zu laufen zuerst durch den Interpreter laufen müssen. Der Vorgang sieht so aus:
-starten der Datei
-System ruft durch Dateieigentschaft (Endung) den Interpreter auf, das Programm mit den Parameter auszuführen.

Aber wenn ich die Datei an das Runtime-Enviroment übergebe, erhält zwar das die Parameter, nicht aber mein eigentliches Programm.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 26.02.2004, 21:48    Titel: Antworten mit Zitat

Diese Parameter erhält der Javainterpreter, aber er müsste sie an die Classdatei weiterreichen. Eventuell muß dafür ein spezieller Parameter vorher gesetzt werden, such z.B. mal nach einem -- Parameter, also in der Art java.exe -par1 -par2 ClassDatei -- -progpar1 -progpar2
Obwohl eigendlich die classdatei als trennparameter reichen sollte.
prinzipiell müsste es also reichen, dass du java.exe -par1 -par2 classdatei -progpar1 -progpar2 ausfufst...
Erstelle doch einfach mal ein Testprogramm, dass die die der classdatei übergebenen Parameter anzeigt und teste die beiden oben genannten Varianten in einer Konsole aus...
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Nahar
Senior JLI'ler


Alter: 36
Anmeldedatum: 16.07.2003
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 27.02.2004, 06:58    Titel: Antworten mit Zitat

Hab ich schon probiert...
Das Problem ist das man javaklassen nur über java name -parameter aufrufen kann, nicht direkt über den Explorer - geht net, habs getestet. Deshalb startet man javaklassen im normalfall ja auch über Batdateien. Ich kann deshalb nicht eine Bat-schreiben (davon abgesehen das mit einer bat wieder die Portablität verloreren geht) die selbst immer die Parameter empfängt, und diese dann weitergibt. Bis jetzt sieht die Bat so aus:
Code:
java classname

für die Parameter-Geschichte müsste sie aber so aussehen:
Code:
empfange Parameter2
java classname -Parameter2


Ich habe allerdings nirgends in der Hilfe eine Bat-funktion gesehen mit der man Parameter empfangen kann - ist ja egentlich auch Schwachsinn, nur eben hier nicht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum