Java er designet til at kunne køre \'på alle maskiner\' så hvis dit program kræver at maskinen har en USB eller parallel port bryder du konceptet.
brug bufferedreader i java og lav så det maskinspecifikke i et andet sprog på den maskine så du får lavet en logisk enhed din bufferedreader kan koble sig på.
jakoba - i samme tråd kan man jo sige, at eftersom java er beregnet til at kunne køre på alle maskiner, så skal java ikke være istand til at skrive ud, da det kræver, at der er koblet en printer til maskinen.
Der er altså personer, som skriver i java, fordi det nu engang er det, de har lært, og derfor ikke gider spilde en mindre krig på at lære endnu et programmeringssprog, blot for at kunne bruge f.eks. et digitalkamera med USB-adgang.
Disky - du må jo indse, at når der er fire felter (indtast selv, 15, 30 og 60 points), så må man altså kun benytte de i forvejen angivne pointangivelser; man må ikke udlodde mere end 60 points for et svar, uanset hvor svært spørgsmålet så end måtte være. Det er da logik for perlehøns, og det er da også derfor, at Eksperten ikke har noget tjek for, om der udloddes mere end 60 points.
Dunno ... er ikke helt sikker på, hvad du mener med dit spørgsmål; derudover er jeg langt fra sikker på, hvordan java arbejder uden for VM. Hvis disky kan tolke dit kryptiske spørgsmål, så er han sikkert bedre rustet til at svare på det.
Hvor er det defineret at man ikke må give mere end 60 ??
Point antal skal gerne passe med opgavestillerens mening om sværhedsgraden.
Og folk der konstant blander sig er mere ødelæggende for dette site end noget som helst andet. Lad dog folk brug point til hvad de ønsker.
Elv: Du kan ikke fra java snakke direkte med USB porten, du skal gøre det igennem JNI til f.eks. en DLL som så gør det for dig. Men ligeså snart du gør det ryger platformsuafhængigheden sig en tur. Men hvis du kan leve med det, skal du i f.eks. C++ skrive en DLL som kan læse og skrive fra USB porten, og derefter kan du koble det in i en input/out stream som du så anvender fra Java.
Wow, det er godt nok utroligt hvad der kan ske på et par timer herinde :)
Platformsuafhængigheden i dette spørgsmål er ligegyldigt da programmet skal køre på en windows 98 maskine. Til den skal der kunne tilkobles komponenter, der skal kunne styres af pc\'en, og jeg overvejer at bruge USB til denne kommunikation. Hvis jeg beslutter mig for at lave en dll (hvilket jeg vist også skal hvis det ender med parallelportsprogrammering, hvordan får jeg så fat i den fra en java application?
PS: Grunden til at jeg lagde 100 points ind er også fordi jeg faktisk stiller to spørgsmål i et... det ville derfor ikke være rimeligt at give 30 points, og derefter blive ved med at bede om flere detaljer... nu skal jeg f.eks. vide noget om dll\'er gennem java... men måske er jeg galt på den?
disky>> Hvis ikke jeg sådan tager meget fejl så er driveren til USB faktisk udstyrs specifik. Det vil sige at for hvert webcam eller keyboard er der en driver, de fleste virker dog med standart windows driveren. Desuden vil dem der kan læse kunne finde ud af at det er en request til en specifikation. Altså er der ikke noget lige nu, men det er på vej!
Som der står: This specification provides a JavaTM API for communicating with devices that are attached via the USB (Universal Serial Bus). It will allow Java applications to communicate with and manipulate USB devices attached to the bus.
Og senere: Status: Public Review 16 Sep, 2001
Og igen senere: 2.4 Why isn\'t this need met by existing specifications? There is no cross-platform way to access the USB using the current Java libraries and standard APIs. This JSR is to establish a Java standard for this access. There is a project working on access on the Linux platform. (See Contributions.)
elv>> Her er noget om parallel porten i JAVA, så vidt jeg kan se burde du kunne skirve/læse på parallel porten, men det ser også ud til kun at være til en printer du kan skrive noget. Jeg vil gerne høre mere om det hvis du får hul igennem.
Oooooooooooooooooooookay! Long time, no writing. Here we go again.....
Nu har jeg besluttet mig for at: 1) Køre gennem parallelport 2) Lave dll i c++
Begge dele er der ingen problemer i, men når jeg skal til at køre programmet med dll\'en i siger den:
java.lang.UnsatisfiedLinkError: no TestJNI.dll in shared library path at java/lang/Runtime.loadLibrary at java/lang/System.loadLibrary at TestJNI.<init> at TestJNI.main
FEJL: java.lang.UnsatisfiedLinkError: no TestJNI.dll in shared library path
Jeg kan selvfølgelig godt forstå at dette handler om at dll\'en skal ligge i en eller anden bestemt path (eller at en path-variabel skal pege på det dir, jeg bruger), MEN! Jeg har prøvet at lægge den i samme bibliotek som class-filerne, i et biblioteket med classpath, i et bibliotek med path og nu er jeg løbet tør for ideer.
Kommandolinien hedder: jview.exe /CP:P \"D:\\Java\\MyJava\\JNI Test (DLL)\" TestJNI (Altså jview (der ligger i c:\\windows) og CP:P = classpath til ekstre bibliotek. Any suggestions? Det burde nemlig være det sidste problem.....
ok, så langt så godt. MEN D:\\Java\\MyJava\\JNI Test (DLL)>java.exe TestJNI Exception in thread \"main\" java.lang.UnsatisfiedLinkError: no TestJNI.dll in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at TestJNI.<init>(TestJNI.java:5) at TestJNI.main(TestJNI.java:16)
Still not working as you can se.... hvor skal jeg lægge dll-filen?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.