Diskuze: Java+arduino

Člen

Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Buď premenuj metódu display na displayInfo alebo naopak, prepíš v keyTyped riadok
displayInfo(e, "KEY TYPED: ");
na
display(e, "KEY TYPED: ");
Tak pokiaľ je to, čo si napísal hore celý tvoj kód, tak to nie je nič
zvláštne - v tom programe je len trieda, ktorá sa má použiť na
registráciu vstupu. Chybu, na ktorú si v pôvodnom príspevku hľadal
riešenie si už odstránil. Aby tvoj program niečo robil, musíš tam
samozrejme ešte sám napísať, čo chceš, aby ten program robil. Pokiaľ v
Jave programovať nevieš, tak určite začni najprv tam, než to začneš
miešať s čímkoľvek ďalším, napr. priamo na tomto webe:
https://www.itnetwork.cz/java/zaklady
https://www.itnetwork.cz/java/oop
Ak by si potreboval vedieť, ako ten keylogger použiť, skús sa inšpirovať tu: https://stackoverflow.com/…-keylistener
Tak som spojil tie dva programy dokopy len neviem ako zadefinovať do toho
aby vyčítalo z konzoly a poslalo na serial.
Skúsil som niečo takéto ale nejde to
Scanner sc = new Scanner(System.in, "Windows-1250");
float a = Float.parseFloat(sc.nextLine());
float b = ("Key 0X4F pressed."));
a dolesom if upravil takto
if (e.getComponent() == button1 || a == b)
Tu je" program ":https://www.ulozto.sk/…Hl/final-zip
Tak najprv taká malá rada - na zverejnenie kódu nabudúce použi to
šikovné tlačidlo v toolbare nad tvojim komentárom, ktoré vyzerá ako HTML
tag ( "</>" ) Jednak sa
to číta oveľa lepšie, netreba nič sťahovať a pokiaľ je niekto povedzme
na dovolenke len so starým súkromným notebookom bez akéhokoľvek IDE pre
Javu, tak je to pre ostatných aj rýchlejšie. Tiež ak je nejaký problém,
pomôže napísať ho rovno.
Ďalšia vec, k tomu kódu z predchádzajúceho komentára, ktorý ti nejde - neviem čo si ním chcel robiť, ale
float b = ("Key …"));
ti určite neprejde minimálne z dvoch dôvodov - 1) nemôžeš uložiť znakový reťazec (string) do premennej typu float, 2) máš na tom riadku jednu pravú zátvorku navyše (tiež v tomto prípade nechápem zmysel akýchkoľvek zátvoriek okolo stringu).
Sústredil by som sa ale na tento error, ktorý som našiel v tvojom Final.java:
java.lang.UnsatisfiedLinkError: D:\java16\jre\bin\rxtxSerial.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform thrown while loading gnu.io.RXTXCommDriver
Evidentne sa snažíš v programe používať 32-bitovú knižnicu, aj keď
používaš 64-bitový JVM (Java Virtual Machine). Pravdepodobne si teda buď
musíš zohnať 64-bitovú verziu tej knižnice, alebo 32-bitový JVM.
Viac informácií k tomu:
https://stackoverflow.com/…-bit-machine
https://airbrake.io/…iedlinkerror
Dakujem za rady aj z dovolenky.Myslel som že bude lepšie ak sem dám celý projekt a nie len časť.Ja problém z knižnicou nemám pridával som si ju do javy.No skúsim to napísať najlepšie ako viem.Časť toho programu mi posiela do konzoly čo bolo stlačené a kde sa pohybuje myš.Chcel by som časť z toho výpisu zachytiť konkrétne túto Key 0X4F pressed. Znamená to že bol stlačený Num1. No a ked by sa to objavilo v tej konzole porovnalo by sa to s tou premennou float b = ("Key 0X4F pressed."); a ak by sa to zhodovalo tak by to cez ten if if (e.getComponent() == button1 || a == b) odoslalo niečo na serial port. No ale hovoríťe že float nemôžem použiť tak ak by to malo vyzerať.
0x4F je označenie čísla 79 v hexadecimálnej (šestnástkovej) sústave. Použi teda
float b = 79;
Toľko ti viem poradiť k tomu floatu. To, či ti zvyšok programu funguje
tak ako by si chcel, ti bohužiaľ teraz sám povedať neviem
No dal som tam 79 a pomohlo to teraz to skompiluje,ale stále to nefunguje ako má.Teraz sa program spustí a čaká kým niečo napíšem do konzoli,je jedno čo a potvrdím to.Pošle môj príkaz na serial port avšak až potom sa spustí keystring a ked už stláčam čo chcem nereaguje.
Za prvé jsi v špatné sekci. Tady javě moc nerozumí.
JAVA NEPODPORUJE KONZOLOVÝ LISTENER NA STISKNUTÍ KLAVES, vždy musíš potvrdit ENTEREM
Za druhé, tvé použití je zcestné, používá se pouze u GUI aplikací. Tehdy skutečně např. u nějakého EditBoxu lze naprogramovat události např. při stisknuti, při držení , při uvolnění klávesy. Ale JE TO PRO GUI.
Musíš na to jít jinak.
Zobrazeno 12 zpráv z 12.