PDA

View Full Version : [JAVA/C++] Inserire nel copia/incolla un valore


Oiziorbaf
23-12-2004, 10:54
Ciao a tutti, dal titolo della discussione forse non si capisce bene cosa abbia intenzione di fare, cmq il mio intento era quello di creare un programmino in java o c++ che avendo in memoria ,un vettore di stringhe gia caricate, ogni volta ke schiaccio il tasto invio deve mettere la stringa della posizione iesima nella memoria dell'incolla così io posso fare ctrl+v per inserire la prossima stringa del vettore, e poi schiaccio invio e nella memoria dell'incolla si deve memorizzare la successiva stringa per poi rischiacciare ctrl+v, e così via...avete capito cosa intendo??? se in java o c++ non si può fare qualcuno sa consigliarmi un linguaggio per poterlo fare su linux!
Ciao e grazie a kiunque mi risponda!!!
:D

end.is.forever
23-12-2004, 11:40
In Java dando uno sguardo rapido alle API c'è java.awt.datatransfer.Clipboard , metodo SetContents

C++ chiaramente dipende che libreria usi, supponendo che usi Win32 facendo search in MSDN ho trovato questo
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/dataexchange/clipboard/clipboardreference/clipboardfunctions/setclipboarddata.asp

Oiziorbaf
23-12-2004, 11:46
ok, per java ade provo a farlo...invece x c++ in linux??? sapresti dirmi qualcosa???

end.is.forever
23-12-2004, 11:46
Sotto linux anche li non so cosa usi ma se usi wxWidgets guarda qui:
http://www.wxwindows.org/manuals/2.4.2/wx60.htm#wxclipboard

Oiziorbaf
23-12-2004, 11:47
perfettto...sono propio quelle ke uso...solo ke c'è un problema, in linux le wxWindows o wxWidgets non le riesco a compilare...anke se ho scaricato la libreria dal sito ufficiale!
Ciao

end.is.forever
23-12-2004, 11:48
In questo non ti so aiutare non ho linux :(

Oiziorbaf
23-12-2004, 11:52
ok, allora lo faccio in java!!
Ciao e grazie mille!!

Oiziorbaf
23-12-2004, 13:10
ciao ho provato a buttare giu una bozza del programma...ti posto il codice:

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.awt.datatransfer.Clipboard;

class pass extends JFrame implements KeyListener {
String vettpwd[] = {"Ciao","Fabrizio","deficente"};
String mess="CIAO";
Clipboard incolla = new Clipboard("Incolla");
pass() {
init();
}

public void init() {
repaint();
}

public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.red);
g.drawString(mess,100,100);
}

public void keyPressed(KeyEvent ke){
if (ke.getKeyCode()==KeyEvent.VK_ENTER) {
try {
incolla.setContents(mess,this);
}
catch (IllegalStateException e) {
}
}

repaint();
}

public void keyReleased(KeyEvent ke){
}


public void keyTyped(KeyEvent ke){
}

public static void main(String args[]) {
pass pwd = new pass();
pwd.setSize(250,250);
pwd.setVisible(true);
pwd.getContentPane().setLayout(null);
pwd.setResizable(false);
}

}


mi da errore nel keypressed quando richiamo il metodo setContents....mi kiede di passarli un oggeto Transferable e uno ClipboardOwener.....come posso fare???

^TiGeRShArK^
23-12-2004, 17:28
mi sa ke dovresti creare un oggetto di quel tipo contenente il valore della stringa che vuoi mettere nella clipboard...
prova a guardare le classi di quegli oggetti per vedere come sono fatti i costruttori....credo che accettino stringhe senza problemi....

Oiziorbaf
23-12-2004, 18:57
ho provato a modificare quel pesso così:

StringSelection stringa = new StringSelection(vettpwd[0]);
incolla.setContents(stringa,incolla);

ma mi da sempre errore!!