Java verkehrt herum lernen.

zongoku

Neues Mitglied
Thread Starter
Dabei seit
28.09.2011
Beiträge
10
Reaktionspunkte
0
Hallo Alle zusammen.
Bin ganz neu, was den Mac angeht und ueberhaupt was Java angeht.
Ich habe schon vorher programmiert in DBase III+ und Clipper Sommer 87.

Ich arbeite immer noch mit dem letzten Programm.
Jetzt hat ein Kumpel, (an den ich nicht mehr rankomme), meine MS-DOS Version in Java programmiert.

Alles schoen und gut, nur anstatt einer Handy Applikation, moechte ich eine PC Version haben.

Fuer den Fall ihr wollt damit spielen,
hier die Uralte Version.
http://www.esnips.com/web/wadokuwa

Also ich habe folgendes Problem.
So wie ich die anderen Programme gelernt habe, will ich das auch jetzt mit Java versuchen.

Ich habe bereits verstanden, dass eine .jar Applikation eine Gezippte Datei ist, welche einige Verzeichnisse und Programm Dateien enthaelt.

Nun ich hab noch 2 aeltere Programme hier, die mir besser liegen als jene vom Link. Das mal vorab.

Die .jar Datei enthaelt also zwei Verzeichnisse.

1) META-INF
mit der Datei
MANIFEST-MF

2) Wadoku
und viele Dateien mit der Endung .class

Ich habe versucht eine Datei zu oeffnen mit Word.
funktioniert nicht.
Mit BBEdit.
kommt schon was raus, aber fast unverstaendlich.

A) So denn, welches Programm benoetige ich um diese Datei zu oeffnen?
B) Mit diesem Programm kann ich also Aenderungen anbringen. Aber dann, kann das Programm die Programmzeilen auch kompilieren? In Java?

C) Ich habe es versucht und das hat auch geklappt.
In dem ich die verwendeten Verzeichnisse markiere und diese wieder komprimiere entsteht daraus eine .zip Datei.
Ich habe sie dann in .jar umbenannt und diese .jar Datei gestartet.

Und das Programm hat funktioniert.
Ist dies die normale Handhabung um eine .jar Datei zu erstellen?

D) Was man dann noch benoetigen wird, waere eine Moeglichkeit, geaenderte Parameter sofort ueberpruefen zu koennen. Testen bevor man eine .jar Datei kreiert.

So ich denke das wars mal.
Wuerde mich freuen, wenn mir jmd helfen kann.

Danke im Voraus.
 
du musst aus den Java-Bytecode (*.class) wieder java sourcecode (*.java) machen. Zum Beispiel hiermit
 
Danke fuer den Tip.
Ich hab mir die Datei .dmg runtergeladen und gestartet.
Nach einigem Suchen habe ich die Loop Marke gefunden.
Die steht auf 100.
Also muesste ich die hoeher stellen.
Und dann haette ich mal ein Problemchen geloest.

Danke.

Jetzt versuche ich mich noch mit eclipse.

Bis spaeter.
 
du musst aus den Java-Bytecode (*.class) wieder java sourcecode (*.java) machen. Zum Beispiel hiermit

Viel Spaß damit. Da muss man schon sehr genau wissen was man tut und vor allem die Sprache sehr gut beherrschen. Wenn Dein Freund das mit Java nachprogrammiert hat, frage ihn besser nach den Quellen...

Gruß Carsten
 
Wobei diese Decompiler teilweise echt gruseligen Code erzeugen. Zum "mal kurz nachgucken" ganz brauchbar aber zum portieren oder weiterentwickeln, absolut ungeeignet.
 
Darum meine Anmerkung. Was ich nicht gelesen hab ist dass der originale Schöpfer des Programms nicht mehr erreichbar ist. Das wird also sehr schwer...
 
Erste Schritte mit dem Decompiler.
Er konnte mir den Text auflisten, aber nicht als faehige Dateien abspeichern.
Somit konnte ich diesen dann auch nicht bearbeiten.
Zum anderen hat mir Eclipse dann mitgeteilt dass er die Class gar nicht oeffnen koenne.
Ich hab einen Eclipse gewaehlt der auf der 32 Bit Version arbeitet um das Programm auch noch unter Windows XP laufen lassen zu koennen.

Ich habe aber gesehen, dass in einem Verzeichnis noch so allerhand versteckte Dateien mit rumschwirren.
Das muessen dann wohl Treiber sein.
Wie gesagt mir geht es nicht darum weiter daran zu bauen, sondern um einige Parameter zu aendern.
Vielleicht meldet sich der Kumpel dann doch noch. Wer weiss?

Danke jedenfalls fuer die Muehe.
 
Hat es doch schonmal funktioniert. Ohne Basic Kenntnisse eine Datenbankverwaltung mit 10 Dateien. Verbesserung am Bildschirm. Scrollen des Bildschirm wo es keine Funktion dafuer gibt. Anzeigen von gesuchtem Text in anderer Farbe, Kanji nicht wie ihr es hier zB seht. 愛 ist nur ein Zeichen. Meine Datei benoetigt 192 Zeichen aus einer Datenkette, abgeschnitten jeweils nach 16 Zeichen. Auslesen von Daten aus dem Bildschirm, wo es dazu wieder keine Befehle gab.

Ich hab schon einiges fertiggebracht.
Und einiges wo Chef-Informatiker die Hoffnung schon im Vorfeld aufgegeben haben.
Habe das Programm dermassen gereizt, dass 16 verschiedene Abfragen durch eine Routine laufen.

Ich habe gelernt Daten zu manipulieren, das ist kein Problem.
Und wenn man will, wird man auch Wege finden.
Aber so wichtig ist es auch nicht.

Ein Ziel habe ich heute erreicht. Meine Datei hat seine 750.000 Datensaetze erreicht.
Das ist auch schon ein Erfolg. Und ich kann diese mit der Java Applikation auf dem Mac verwalten.
Wo das Original von MS-DOS herkommt. Und seine Kanji nicht wie oben 愛 sind sondern 611B steht.

Fuer den Fall ihr brauch mal eine Konverter Routine.
http://people.w3.org/rishida/tools/conversion/
Von Hexdezimal in Unicode umwandeln etc.

Vielleicht die Loesung fuer manchen von euch? Vielleich schon so lange gesucht?
 
Wie bezeichnet iihr denn mein Weiterkommen?

Eine .class Datei ist eine bereits compilierte Datei aus einer .java Datei.
Um eine .class Datei bearbeiten zu koennen muss diese erst in .java dekompiliert werden.

Aber das wisst ihr ja alle.
Ich hab da im Internet rumgesucht und so manches gefunden. Runtergeladen und wieder verworfen.

Aber hier habe ich sogar ein Online Tool gefunden, welches einem diese Dateien ohne viele Programm installationen in .java dekompilieren kann. Man kann dann diese Datei auch auf seinen Rechner kopieren.

http://www.mobilefish.com/services/java_decompiler/java_decompiler.php
 
Das Problem ist, dass der Decompiler nicht mehr alles Wissen über die Java-Datei hat, da der Compiler, der aus der Java-Datei eine Class-Datei macht, einen Großteil beim Compilieren verwirft. Laienhaft gesprochen sind viele Informationen nur dazu dem Compiler zu sagen, wie er mit einzelnen Variablen, Methoden und Typen umgehen soll. Zur Laufzeit, also zu der Zeit nach dem Compilieren, wenn das Programm ausgeführt wird, sind diese Informationen nicht mehr wichtig. Du wirst also nie die volle Java-Datei erhalten, nur einen Rumpf, der einem versierten Programmierer Rückschlüsse geben kann, wie die Dateien mal ausgesehen haben. Dazu muss der Programmierer aber die Sprache kennen. Decompoilieren, anpassen und wieder compilieren wird in den meißten Fällen nicht funktionieren! Ich hoffe, Du verstehst jetzt meine Aussagen.
 
Ja ich verstehe dich sogar sehr genau.
Der erste Link in diesem Beitrag war schon ganz gut.
Er zeigte einem auch die Inhalte der Variablen.
Der letzte Link welcher die Datei in .java decompilierte, verlor diese Daten. Und noch viel anderes Zeug.
Auch Anweisungen und Fehlermeldungen sind verloren gegangen.

http://www.heise.de/software/download/jd_java_decompiler/63781

Na ja es war halt einen Versuch wert. Hab schon was dazu gelernt.
Und auch dass noch viel getan werden kann, in Sachen Windows Programmen.
Ich finde es schade, dass fuer jede Applikation immer nur ein Programm gesucht bzw. gekauft werden muss.
Ist da noch niemand auf die Idee gekommen ein Utility zu schreiben, wo hunderte Tools zusammen existieren?

PC Tools zB war noch im Jahre 1999 ein PC Programm mit dem man einzelne Bytes auf Disketten ausfindig machen konnte. Dateien reparieren. Dateien wieder herstellen etc. Da waren dicke Buecher gedruckt worden um ein einziges Programm zu erklaeren. Leider gibt es das heutzutage nicht mehr.

Ich hab den Namen wiedergefunden.
http://en.wikipedia.org/wiki/Norton_Utilities
Norton Utilities. Mit seinen PC Tools zB.
Das Programm kostete damals eine Stange Geld.
Aehnliches gab es auch fuer Commodore 64, wenn jemand den alten Brotkasten noch in Erinnerung hat.
Kopierprogramme ohne Ende. Spiele was das Herz mochte.
Die ersten grossen Programme von diesem (PC) waren unter anderen Wizawrite,
http://www.c64-wiki.de/index.php/Vizawrite
Ich hatte noch eins in der Form wie das heutige Excel.
Kleiner Computer. 38311 Datenspeicher mehr ging da nicht rein.
Die Anfaenge meiner Datenbank begannen mit diesem Wizawrite.
Das waren noch Zeiten. Dann kam der Amiga, der in etwa auch schon alle Programme mitbrachte, wie es der Mac heute auch noch tut. Aber dennoch fuer jede Applikation muss man immer neue Programme auf dem Internet suchen.

Ob sich das mal aendern wird?
Also nichts fuer ungut. Ihr koennt meinen Namen von der Liste wieder streichen.
Er hat seinen Dienst hier getan. Danke.
 
Das Problem bei eierlegenden Wollmilchsäuen ist doch, dass alle Aufgaben nur halbgar umgesetzt werden. Was ist denn verwerflich daran sich Programme zu installieren, die man benötigt?
 
Zugegeben kann ich den meisten Posts des TE nicht folgen. Für mich hört sich das alles etwas wirr an.
 
java und die dahinter liegenden Konzepte zu verstehen indem man Jar-Dateien und ihren Aufbau analysiert ist ein bisschen wie Flugzeuge zerlegen um herauszufinden warum sie fliegen. Der 80er-Jahre Ansatz hat ja durchaus seinen Charme ( ich habe in der Zeit auch angefangen und kann die Bezüge verstehen), aber wie aus einer Zeitmaschine gehüpft zu kommen und zu denken mit ein bißchen Bytecode/Maschinencode-Analyse den Rest verstehen zu können greift einfach zu kurz/fehl.
 
@autolycus. Die Java-Insel wendet sich weniger an den puren Anfänger als an solche, die die Sprache verstehen wollen, aber bereits Erfahrungen in der Programmierung - vorzugsweise in einer OO-Sprache haben. Ich empfehle da eher Bücher wie "Java für Dummies" (bitte nicht vom Titel abschrecken lassen, das ist wirklich gut!)
 
PC Tools zB war noch im Jahre 1999 ein PC Programm mit dem man einzelne Bytes auf Disketten ausfindig machen konnte. Dateien reparieren. Dateien wieder herstellen etc. Da waren dicke Buecher gedruckt worden um ein einziges Programm zu erklaeren. Leider gibt es das heutzutage nicht mehr.

Du hast da eine - verzeih mir bitte - naive Sicht auf die Dinge. So stringent und serial sind Programme heutezutage nicht mehr. Es geht nicht mehr darum, eine Reihe von Befehlen abzuarbeiten, wie es in Zeiten von Lochkarten üblich war, sondern heutezutage beschreibt man komplexe Systeme und Modelle, die gern auch multi-zyklisch ineinander greifen.
 
Dennoch behaupte ich dass wie man an diesen Dekompilern feststellen konnte, dass diese nicht vollendet sind.
Sie fuehren nur eine Funktion aus. Und dann noch so miserabel. Die Programme sind nicht durchdacht und auch nicht fertig. Wer sich Dekompiler nennt, und es nicht fertig bringt ein Resultat zu liefern das sowohl die Variablen den Text und die Werte ausgibt. Gleich in welcher Auffuehrung, Na tut mir leid. Zeit und Geld sind futsch.

Es gibt zuviel Wertloses Zeug was im Internet rumschwirrt. Schrott kann ich nur behaupten.
Ich habe zB. Renamer gesehen, die aber mit einer Menge ueber 5000 Bildern dann abstuerzten.
ACDsee kann es auch. Gibt es auch auf dem Mac.

Aber genau solche Tools meine ich ja. Will man hunderte von Dateien umbenennen , benoetigt man ein Programm. Will man kopieren, muss ein anderes her. Will man seine geloeschten Daten wieder auffinden, na wo ist es denn? Will man seine Worddatei in ein anderes Format konvertieren, (bei Mengen von 35 MB versagen auch Word) Java kann es, aber dafuer muss wieder ein Programm her.
Einige Programme liefert der Mac mit. Beim PC sieht das weniger rosig aus.

Gibt es denn eine Datenbank von Java Applikationen, Programmen, mit Source Code, wo nicht alle die Welt immer wieder erfinden muessen?

Jeder der eine Programmiersprache lernt, beginnt bei 0. Ist doch so.
Er lernt es in der Schule oder autodidaktisch. Hat er Kenntnisse in Mathe, umso besser.
Abstraktes Denken wird womoeglich auf vorausgesetzt.
Er lernt durch Buecher, Er hat fuer jeden Befehl Waelzer an Daten wie und was man tun kann.

http://download.oracle.com/javase/6/docs/api/
Aber er kann nicht von anderen Usern lernen. Copyright verhindert das mal ganz am Anfang.
Dann will auch niemand dem anderen sagen wie er auf diese clevere Idee gekommen ist.

Warum tut ihr euch nicht zusammen?
Hier ein Tool um Zahlen in japanische Schriftweise zu konvertieren.
http://www.sljfaq.org/cgi/numbers.cgi

Ob das ueber java geht, weiss ich nicht.
http://www.youtube.com/watch?v=ufftVKi2TV0

Vor vielen Jahren wollte man mir VO aufzwingen. Visual Objects.
In etwa funktioniert das heutzutage mit fast allen Windows Sprachen so.
Tut mir leid. Ich bin nicht dahinter gekommen wie es funktioniert.
Es hatte damals 500 Euro gekostet. Alles fuer die Katz.

Aber ich bin vollends zufrieden mit Clipper Sommer 87.
Es wird nicht mehr programmiert. Und man findet wohl auch keine Werke mehr davon, ausser in Stadtbibliotheken.
Clipper hat sich auch gemausert. Aber ich bleibe bei dieser Version.
 
Und Du hast es immernoch nicht verstanden.. Ein Decompiler soll nicht den Urzustand wiederherstellen. Und er kann es auch nicht! Ihm fehlen schlicht und ergreifend alle Informationen, die die originalen Dateien hatten, da sie auf dem Weg des Compilierens weggeworfen wurden! Das habe ich neulich schon beschrieben.


Den Bauplan für ein Auto braucht man auch nur wenn man es zusammenschraubt. Danach benötigt man ihn nicht mehr und auch nicht die Funktionsweise der Maschinen, die Beteiligt waren. Und demontiert man das Auto, kann man noch lange nicht die Maschinen rekonstruieren, die beteiligt waren...

Ich bin raus, mir ist das zu mühseelig.
 
Zurück
Oben Unten