|
Mostrar Mensajes
|
Páginas: 1 2 [3] 4 5
|
21
|
Programación / Java / Duda Apache Commons CLI
|
en: 7 Noviembre 2013, 23:07 pm
|
Hola compañeros, tengo una duda que no sé como resolverla: usage: Vista.CalculadoraCLIVista -resta Calcula la resta dos operandos -suma Calcula la suma dos operandosl ¿ Cómo puedo "decirle" que el args[0] equivale a resta,suma..etc? Lo estoy haciendo con el patron MVC y el código de la vista lo tengo así , pero no estoy muy convencido que este bien.. public void realizarOperacion(String[] args,double x, double y) { // para poder pasarle el options al parser Options options = mostrarOpciones();
CommandLineParser parser = new BasicParser(); CommandLine cmd = null; try { cmd = parser.parse(options, args); } catch (ParseException ex) { Logger.getLogger(CalculadoraCLIVista.class.getName()).log(Level.SEVERE, null, ex); }
if (cmd == null) { System.err.println("No se cargo bien el parseador de la linea de comandos");
System.exit(-1); }
if (cmd.hasOption("h") || cmd.getOptions().length == 0) { new HelpFormatter().printHelp(CalculadoraCLIVista.class.getCanonicalName(), options); return; }
if (cmd.hasOption("suma")) { // leer los dos argumentos , convertirlos a double y realizar operacion. // "x" seria el primer operando que se le pasa," y" el segundo. x = Double.parseDouble(args[1]); y = Double.parseDouble(args[2]); controlador.sumar(x, y); } } .. de tal manera que yo ponga sumar 1 2 y la línea de comandos me devuelva 3.. :S
|
|
|
23
|
Programación / Java / Re: AYUDA! Como importar la libreria Apache Commons cli en el classpath
|
en: 5 Noviembre 2013, 19:06 pm
|
¿ Puede ser por mis variables Path y classpath? he creado uno con un main de imprima hola y ese si me deja , pero... C:\Users\Juanma\Desktop>java holita hola
C:\Users\Juanma\Desktop>java CalculadoraCLI -cp jar/commons-cli-1.2.jar Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cl i/ParseException at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at sun.launcher.LauncherHelper.getMainMethod(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.ParseExcepti on at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 6 more
C:\Users\Juanma\Desktop>
|
|
|
24
|
Programación / Java / Re: AYUDA! Como importar la libreria Apache Commons cli en el classpath
|
en: 5 Noviembre 2013, 18:53 pm
|
C:\Users\Juanma\Desktop>java CalculadoraCLI Error: no se ha encontrado o cargado la clase principal CalculadoraCLI Él codigo es un ejemplo que vi en internet para ver si podia ejecutarlo en la linea de comandos import org.apache.commons.cli.*; import java.io.OutputStream; /** * Ejemplos del uso de la librería "Apache Commons CLI" * @author Carlos García. Autentia. */ public class CalculadoraCLI { /** * -ip address [-port puerto] [err|console] [-help | -h] */ public static void main(String[] args) { final int DEF_PORT = 60001; // Puerto por defecto int port = 0; String ip = null; OutputStream output = null; CommandLineParser parser = null; CommandLine cmdLine = null; /////////////////////////////////////////////////////////////////////// // Fase 1: Configuramos las opciones de validación de entrada. /////////////////////////////////////////////////////////////////////// Options options = new Options(); options.addOption("ip", true, "IP de destino"); options.addOption("port", true, "Puerto destino"); options.addOption("h", "help", false, "Imprime el mensaje de ayuda"); // No pueden aparecen las dos opciones simultáneamente. OptionGroup group = new OptionGroup(); group.addOption(new Option("err", "Salida estándar de errores")); group.addOption(new Option("console", "Salida estándar")); options.addOptionGroup(group); try { /////////////////////////////////////////////////////////////////////// // Fase 2: Parseamos la entrada con la configuración establecida /////////////////////////////////////////////////////////////////////// parser = new BasicParser(); cmdLine = parser.parse(options, args); /////////////////////////////////////////////////////////////////////// // Fase 3: Analizamos los resultados y realizamos las tareas pertinentes /////////////////////////////////////////////////////////////////////// // Si está la opcion de ayuda, la imprimimos y salimos. if (cmdLine.hasOption("h")){ // No hace falta preguntar por el parámetro "help". Ambos son sinónimos new HelpFormatter().printHelp(CalculadoraCLI.class.getCanonicalName(), options ); return; } // Si el usuario ha especificado el puerto lo leemos if (cmdLine.hasOption("port")){ port = Integer.parseInt( cmdLine.getOptionValue("port") ); } else { port = DEF_PORT; } // Leemos la dirección IP. Sino existe generamos un error pues es un parámetro requerido. ip = cmdLine.getOptionValue("ip"); if (ip == null){ throw new org.apache.commons.cli.ParseException("La direccion IP es requerida"); } if (cmdLine.hasOption("console")){ output = System.out; } else if (cmdLine.hasOption("err")){ output = System.err; } else { output = null; } // .............................................................. // Aquí irían las tareas que tuviera que realizar la aplicación // .............................................................. System.out.println("OK"); } catch (org.apache.commons.cli.ParseException ex){ System.out.println(ex.getMessage()); new HelpFormatter().printHelp(CalculadoraCLI.class.getCanonicalName(), options ); // Error, imprimimos la ayuda } catch (java.lang.NumberFormatException ex){ new HelpFormatter().printHelp(CalculadoraCLI.class.getCanonicalName(), options ); // Error, imprimimos la ayuda } } }
|
|
|
28
|
Programación / Java / AYUDA! Como importar la libreria Apache Commons cli en el classpath
|
en: 5 Noviembre 2013, 01:34 am
|
wenas gente! no consigo importarla.. la cuestión es que quiero en la linea de comandos ejecutar ... me salta... C:\Users\Juanma\Desktop>javac aplicacionCLI.java aplicacionCLI.java:6: error: package org.apache.commons.cli does not exist import org.apache.commons.cli.*; ... 8 errors Alquien me podría explicar QUE TENGO QUE HACER PARA IMPLEMENTAR LA LIBRERIA COMMONS CLI BIEN PARA YO PODER EJECUTAR MIS APLICACIONES DESDE DONDE YO QUIERA????
|
|
|
29
|
Programación / .NET (C#, VB.NET, ASP) / Porque no ingresa datos en la base datos usando entityframework
|
en: 8 Junio 2013, 01:41 am
|
1º La base de datos en sql compact 2º no la tengo importada en el proyecto Public Sub add(ByVal juguete As Juguete) Implements IJugueteDAO.add ' Creo acceso a db a través de EF Dim ef = New juguetes1Entities()
' Creo juguete en la base de datos Dim jugueteEf = ef.Juguetes.CreateObject() ' Le asigno los valores de mi modelo jugueteEf.EdadMinima = juguete.EdadMinima jugueteEf.Nombre = juguete.Nombre jugueteEf.Precio = juguete.Precio ' Guardo los cambios en la db ef.SaveChanges() End Sub borrar... Public Sub remove(ByVal juguete As Juguete) Implements IJugueteDAO.remove Dim ef = New juguetes1Entities()
' Busco en la db el juguete por el ID Dim jugueteEf = From s In ef.Juguetes Where s.Id = juguete.Id
' Tras eso, lo borro ef.Juguetes.DeleteObject(jugueteEf) ' Creo que en el delete save es opcional... ef.SaveChanges() End Sub actualizar.... Public Function Update(ByVal juguete As Juguete) Implements IJugueteDAO.update Try Dim ef = New juguetes1Entities Dim productoEF = (From s In ef.Juguetes Where s.Id = juguete.Id Select s).First() productoEF.Nombre = juguete.Nombre productoEF.EdadMinima = juguete.EdadMinima productoEF.Precio = juguete.Precio
ef.SaveChanges() Return True Catch Return False End Try End Function en el form.... Class MainWindow
Dim juguete As Juguete
Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
For Each j In CatalogoJuguetes.Instancia.getAll ComboBox1.Items.Add(j) Next End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
Dim precio = Double.Parse(TextBox1.Text.ToString) Dim nombre = TextBox2.Text.ToString Dim edad = TextBox3.Text.ToString Dim id = Integer.Parse(TextBox4.Text.ToString)
juguete = New Juguete(precio, edad, nombre, id) CatalogoJuguetes.Instancia.add(juguete) ComboBox1.Items.Add(juguete)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button2.Click ComboBox1.Items.Remove(juguete)
CatalogoJuguetes.Instancia.remove(juguete)
End Sub
AL AÑADIR ME LO AÑADE AL COMBOBOX Y SUPUESTAMENTE EN LA BASE DE DATOS PERO CUANDO VUELVE A EJECUTARLO, ESTE NO ME APARECE, BORRAR ME SALTA UN InvalidCastException Y LA VERDAD NO SÉ SOLUCIONARLO Y EL TERCERO QUERRIA ACTUALIZARLO .. SI PUEDEN AYUDARME GRACIAS
|
|
|
|
|
|
|