[HELP] traduzione da C a Java
Ciao a tutti, complimenti per il forum, è stupendo!! e tutti gli utenti sono preparatissimi e soprattutto gentili e cordiali!
Adesso vi pongo il mio quesito: Ho scritto un listato in C e vorrei convertirlo in linguaggio Java per utilizzarlo nel mio Mac dove ho un compilatore Java.
Ringrazio anticipatamente chiunque mi voglia aiutare.
Adesso vi pongo il mio quesito: Ho scritto un listato in C e vorrei convertirlo in linguaggio Java per utilizzarlo nel mio Mac dove ho un compilatore Java.
#include <stdio.h> #include <windows.h> #include <conio.h> #include <stdlib.h> int main(){ int c, s; char s; Sleep(4500); for(c=0;c<4;c++){ printf("\nScelta 1 o 2: "); scanf("%d",&s); if(s==1){ SetCursorPos(275, 440); mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); } Sleep(500); else{ SetCursorPos(190,190); mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); Sleep(2500); } } }
Ringrazio anticipatamente chiunque mi voglia aiutare.
Risposte
Sul mac puoi compilare anche il C.
Capisco cosa fa quel programma, ma non capisco quale sia il suo scopo.. Non l'ho mai usata, ma la classe java.awt.Robot sembra fare al caso tuo per implementare quelle poche righe di codice.
gcc c'è in os x (anche llvm per esattezza)
So che sul Mac si può compilare in C ma semplicemente mi creerebbe meno problemi tradurre il listato in Java e compilarlo con un programma che già ho. Evito di spiegare i motivi per cui non ho scritto in C con gcc/xcode/ecc ecc ma vi assicuro che ho fatto mille prove, e sono giunto alla conclusione che in Java troverei la soluzione migliore.
@apatriarca: quel programma semplicemente se si digita la scelta 1 fa click col mouse in un punto (x1,y1) altrimenti in (x2,y2)
sapreste dirmi come scrivere questo semplice listato in Java?
Grazie ancora
@apatriarca: quel programma semplicemente se si digita la scelta 1 fa click col mouse in un punto (x1,y1) altrimenti in (x2,y2)

sapreste dirmi come scrivere questo semplice listato in Java?
Grazie ancora

Come mai così sicuro?
Giusto per sapere.
A questo punto jython e via che è una passeggiata..
Giusto per sapere.
A questo punto jython e via che è una passeggiata..
Se devo compilare questo listato sul Mac dovrei cambiare codice e librerie visto che la windows.h è utilizzabile solo in ambiente Windows.
Ma nessuno di voi riuscirebbe a scrivere in Java un ciclo for e le due funzioni per la gestione del mouse?
Ma nessuno di voi riuscirebbe a scrivere in Java un ciclo for e le due funzioni per la gestione del mouse?
Hai che windows.h e conio.h son windows only in effetti.
EventListener e Java ... http://docs.oracle.com/javase/tutorial/uiswing/events/.
Tu comincia in caso ti aiutiamo.
EventListener e Java ... http://docs.oracle.com/javase/tutorial/uiswing/events/.
Tu comincia in caso ti aiutiamo.

Eh lol anch'io riesco a trovare tutorial di Java su internet ma ci starei troppo tempo a capire come scrivere al meglio quel listato, e penso che per scrivere solo un ciclo for e due funzioni del mouse non ne valga la pena.
Come ho scritto non mi interessa imparare il Java, ma una semplicissima traduzione così da copiare ed incollare nel compilatore.
Ho già scritto il listato in C, chiedo solo a chi conosce il Java di tradurmelo e dubito che ci metta più di 60 secondi a farlo. Tutto qui
Grazie ancora
Come ho scritto non mi interessa imparare il Java, ma una semplicissima traduzione così da copiare ed incollare nel compilatore.
Ho già scritto il listato in C, chiedo solo a chi conosce il Java di tradurmelo e dubito che ci metta più di 60 secondi a farlo. Tutto qui

Grazie ancora

Nessuno che conosca Java?
UP
Il suggerimento sulle classi da usare l'avevo già dato in un mio post precedente. In ogni caso questo potrebbe funzionare:
import java.io.*; import java.awt.*; import java.awt.event.InputEvent; public class Main { public static void main(String[] args) throws InterruptedException, AWTException, IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); Robot r = new Robot(); Thread.sleep(4500); for (int c = 0; c < 4; ++c) { System.out.print("Scelta 1 o 2: "); boolean check = false; int s = 0; do { check = true; try { s = Integer.parseInt(in.readLine()); if (s != 1 && s != 2) { System.err.println("Errore di input. I valori validi sono solo 1 e 2."); System.err.print("Scelta 1 o 2: "); check = false; } } catch (NumberFormatException e){ System.err.println("Errore di input. I valori validi sono solo 1 e 2."); System.err.print("Scelta 1 o 2: "); check = false; } } while (!check); if (s == 1) { r.mouseMove(275, 440); r.mousePress(InputEvent.BUTTON1_DOWN_MASK); r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); r.mousePress(InputEvent.BUTTON1_DOWN_MASK); r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); Thread.sleep(500); } else { r.mouseMove(190, 190); r.mousePress(InputEvent.BUTTON1_DOWN_MASK); r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); r.mousePress(InputEvent.BUTTON1_DOWN_MASK); r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); Thread.sleep(2500); } } } }
Grazie mille, più tardi provo e ti dico
