Beiträge von a9bejo

    Zitat von CommanderMorane

    hi,
    ich hab vor ein java programm zu schreiben und möchte das gerne auch leuten geben die keine ahnung vom compilieren haben oder das sdk installiert haben.
    was für möglichkeiten gibts da ?
    mfg
    rene

    der einfachste weg ist ein executable jar file.

    Unter windows kannst Du das dann wie eine .exe per doppelklick starten und fertig.

    wie schon bemerkt muss natürlich ein jre installiert sein; das geht aber mittlerweile sehr flüssig. Einfach einen link zu java.com mitgeben: Dort wird man schön einfach durch die installation geführt und ab dann werden updates automatisch eingespielt.

    Ich habe zwar in meinem leben noch nicht eine Zeile VB-Code geschrieben, aber ich wüsste nicht, warum eine Programmieraufgabe weniger anspruchsvoll sein sollte, nur weil VB6 verwendet werden soll.

    Wenn das stimmen würde, würde ich es öfter verwenden.

    ansonsten halte ich das so wie marX, die sollen ihre aufgaben selber machen.
    indem die sich durchmogeln und dann auf den arbeitsmarkt werfen verschlechten sie nur die chancen für diejenigen die wirklich was drauf haben.

    Ich bin sonst nicht so moralisch, aber ich habe 2 Jahre lang am Kolleg in der HTL spengergasse javacode verteilt und 2/3 der leute mit denen ich absolviert habe könnten heute nicht mal ein 'hello world' programm zustande bringen.

    Zitat von marX

    also "\"+char ist NICHT plattformspezifisch...

    Damit hast Du natürlich völlig recht, ich verstehe aber ehrlich gesagt nicht so ganz, was das mit meinem Beitrag zu tun hat(?).

    Das im Originalposting mit \" die Anführungszeichen escaped wurden hat yrucrem ja schon beschrieben:

    Zitat von yrucrem

    Man muss die Backslashes escapen ("C:\\temp\\"). Denn wenn am Ende ein \" steht, glaubt der Compiler, dass man ein " im String haben will und nicht, dass an dieser Stelle der String zu Ende sein soll.

    Ich habe lediglich hinzugefügt, das sein Code nicht plattformunabhängig ist.

    lg, bejo

    Zitat von MacOS X

    Mich würde als Vergleich jetzt auch noch ein Samplecode zum kopieren von Dateien/Verzeichnissen für eine C++ Konsolenanwendung interessieren.
    Habe im Netz leider nichts passendes gefunden :rolleyes: ...

    Also wenn ich bei google nach 'copy file c++' suche, steht gleich im ersten link dieser beispielcode:

    un der 2te Treffer zeigt das ganze in C:

    Da C und C++ Programme aber meistens eh nur für eine Platform entwickelt werden, benutzt man in der Praxis meistens einfach die systemspezifischen programme zum copieren, also zum Beispiel:

    Code
    system("cp -r dir1 dir2");

    geht in Java natürlich auch:

    Code
    Process p = Runtime.getRuntime().exec("cp -r dir1 dir2");

    lg, bejo

    Zitat von MacOS X

    Egal welchen Lösungsvorschlag von hier ich anwende: Fehler beim kompilieren bekomme ich keinen mehr - aber Verzeichnis wir auch keines erstellt.


    Wenn ich z.B. die Codezeile File newDir = new File("C:\\temp\\"); müsste doch ein leeres Verzeichnis temp auf C: erstellt werden, oder? Mehr code ist doch nicht für diese Aktion notwendig (oder vielleicht doch ;) )...

    Oder rührt das Problem vielleicht daher dass ich diese Codezeile in einem Catch-Block stehen habe?


    Code
    File newDir = new File("C:\\temp\\");


    erstellt lediglich ein FileObject, die dazugehörige Datei muss aber nicht auf der festplatte existieren.

    Code
    newDir.createNewFile()

    erstellt eine neue Datei und

    Code
    newDir.mkdir()

    ein Verzeichnis.

    dann gibt es da noch

    Code
    newDir.mkdirs()

    , das legt alle im dem Pfad vorkommenden Verzeichnisse an, die noch nicht existieren.

    Das beste ist es, bei solchen Fragen erst einmal in der API Documentation nach der jeweiligen Klasse zu suchen, da sind all diese Methoden ausführlich beschrieben.

    lg, bejo

    Zitat von yrucrem

    Man muss die Backslashes escapen ("C:\\temp\\"). Denn wenn am Ende ein \" steht, glaubt der Compiler, dass man ein " im String haben will und nicht, dass an dieser Stelle der String zu Ende sein soll.

    Am besten ist es, die plattformspezifischen Trennzeichen gleich durch plattformunabhängige Platzhalter zu ersetzen, also:

    Code
    String fs = System.getProperty("file.separator");
    String userHome = System.getProperty("user.home");
    
    
    File newDir = new File(userHome+fs+"temp"+fs);
    
    
    dann läufts nämlich auch unter MacOS X ;)

    Hallo alle miteinander!

    Leider steige ich viel zu spät in diesen Thread ein, dabei diskutiere/klugscheisse ich doch so gern über Programmiersprachen :)

    Naja, ein paar kleine Komentare werd ich aber doch noch los:


    Zitat von J.Petso

    Java
    Wird für TU-Einführungskurse, plattformunabhängige Anwendungen und Applets auf Webseiten verwendet. Programme werden auf der Java Virtual Machine ausgeführt.
    Vorteile: plattformunabhängig. komplett objektorientiert, mit allen Vorteilen. leicht zu lernen. große Klassenbibliothek mit vielen nützlichen Sachen. schöne Auswahl an Entwicklungstools, auch mit Fensterdesigner.
    Nachteile: kann kaum betriebssystem-spezifische Vorteile nutzen. nicht ganz so schnell wie andere Sprachen, aber mit immer schnelleren Computern spielt das kaum noch eine Rolle.

    Eigentlich eine sehr gute Beschreibung, allerdings stimme ich nicht mit den Anwendungsgebieten überein. Applets werden heute nur noch selten verwendet und die Plattformunabhängigkeit ist zwar das populärste Merkmal von Java, steht aber bei den meisten Applikationen nicht im Vordergrund. Die Bereiche, wo Java sich eindeutig durchgesetzt hat sind der Server (Aufwendige webapplikationen, n-tier Appz) und seit einiger Zeit auch auf Mobilen Geräten, besonders auf handys.

    Ein gutes Beispiel für ein Javaprogramm ist ebay .


    Du hast ja jetzt schon eine Menge guter Tipps bekommen, und C++ ist sicher keine schlechte Wahl für den Einstieg. Ich hätte zwar eher für C plädiert, aber zu Beginn ist das eh nicht so wichtig, weil der grosse Unterschied zwischen den beiden Sprachen eh erst etwas später zum tragen kommt. Dieser grosse Unterschied in C++ ist die Unterstützung in der Sprachsyntax für eine Art Programme zu designen, die sich 'Objektorientierte Programmierung' (kurz 'OOP') nennt. Dieses Thema bereitet den meisten am Anfang Probleme und Du solltest Dir besonders viel Zeit nehmen um es zu verstehen. Eine sehr sehr gute (weil verständliche) Einführung gibt es hier .

    Wenn Du in Deinem Buch zum Thema OOP kommst, würde ich kurzerhand die Sprache wechseln: Zum einen sind andere Sprachen besser dafür geeignet, OOP zu lernen (Java,Python und alle .NET sprachen zum Beispiel), zum anderen glaube ich das es wichtig ist, beim Lernen öfters die Programmiersprache zu wechseln. Denn für die meisten Anwendungsgebiete werden unterschiedliche Sprachen verwendet (siehe die Postings von J.Petso, oft werden auch mehrere Sprachen in einer Applikation benutzt), und es ist wichtig, dass Du mehr oder weniger leicht von einer auf die andere Platform wechseln kannst.

    Ansonsten kann ich Dir noch raten, Dich auf 3 verschiedene Arten fortzubilden:

    - von Experten lernen (also Bücher oder Kurse)
    - Code schreiben
    - Code lesen

    besonders der letzte Punkt wird nämlich oft vernachlässigt, meiner Meinung nach ein grober Fehler. Wenn Du bei google suchst findest Du Tonnen von Programmcode, und wenn Du mit den ersten paar Kapiteln in Deinem C++ Buch durch bist würde ich Dir raten diesen Code zu lesen und zu versuchen, ihn zu verstehen (das ist nicht so schwer wie es sich anhört, in der Regel ist Programmcode kommentiert).


    Zitat von MaxAuthority


    Ferraris fahren nur die leute, die sich keinen lamborghini leisten können
    http://www.bloodshed.net

    Ich heisse mit vollem Namen Benjamin Ferrari und fühle mich jetzt persönlich angegriffen ;)


    lg, bejo

    Die Lösung zu Deinem Problem kenne ich leider nicht :( Ich bin mir aber sicher, dass es irgentwie gehen muss, währe ja ziemlich dumm wenn nicht...

    Ich hatte das selbe Problem mit PoseidonUML, das ja auf dem ArgoUml-Code basiert. Ausser dem Problem mit den Abhängigkeiten haben mir noch einige andere Dinge nicht gefallen, deshalb bin ich jetzt auf Jude umgestiegen.

    Ich weiss nicht, wie umfangreich es ist (habs noch nicht lang und bis jetzt nur für Usecases gebraucht), aber wenn ich Javasource importiere und davon ein Diagram erstelle, werden die Abhängigkeiten auch angezeigt. Auf jeden Fall ist es aber flüssiger und einfacher zu bedienen als PoseidonUml/ArgoUml.

    in Bruce Eckels Weblog gibt es eine recht informative Evaluation von verschiedenen UML Tools . Wenn Du Dich da umschauen solltest und etwas besseres findest als Argo oder Jude (zum Nulltarif), lass es mich bitte wissen.

    lg, bejo

    Das Problem ist der JOptionPane, der eigentlich für die Verwendung in Swing-Applikationen gedacht ist.

    Den Dialogen vom JOptionPane muss daher immer eine Elterncomponente zugeordnet werden. Das kannst Du entweder beim Erzeugen mit angeben
    [ JOptionPane.showInputDialog(java.awt.Container, javax.String); ]
    ,oder es wird, wie in Deinem Fall, ein default Frame erzeugt.
    Das hat dann den unangenehmen Effekt, das der Pane nicht g'scheit terminiert wird.

    Die Lösung ist aber sehr einfach: Wenn Du Dein Programm mit einem System.exit(0); beendest, wird das ganze Programm und damit auch der JOptionPane terminiert.

    Bejo

    Zitat von Soxios

    Ich hab beschlossen das ganze in Java zu programmieren. Die Hardware-Komponente wäre dann wohl am leichtesten mit den sog. Native Interfaces zu realisieren. Dort kann ich ja dann praktisch in C++ arbeiten. Weiß irgendwer, ob und wo es vielleicht fertige Programmbeispiel oder -teile über die Einbeziehung der seriellen Schnittstelle gibt?

    Danke
    Soxios

    ich glaube was Du suchst ist die javax.comm API .

    Damit habe ich schonmal gearbeitet, funktionierte einwandfrei.

    Eine kleine googlesuche hat auch eine kleine Einführung
    zu Tage gebracht.

    Ich hoffe das hilft Dir weiter.

    Bejo