Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - the_jocker

#11
Java / Re: MVC en Eclipse - JAVA
30 Julio 2013, 20:18 PM
La pregunta es, ese codigo que vos dices que tiene un error, y que le falta más codigo de los botones y cajas de texto, funciona, en el metodo setControlador(), puedo llamar a ese boton, y hacer un setActionCommand(), en cambio en eclipse, no puedo llamar al boton, entonces el metodo no lo puedo crear, es eso solo.
#12
Java / MVC en Eclipse - JAVA
30 Julio 2013, 03:13 AM
Buenas, Hace un mes que empecé con java, más bien, me lo enseñaron en la facultad, ahí tuve que aprender con el ide netbeans, me resulto muy sencillo trabajar con este ide, más en la parte de GUI con swing, pero ahora que ya termine la materia, encaro un proyecto personal, y elegí como ide el eclipse.
Ahora, lo que hacia en netbeans para hacer una accion, con un ActionListener, el eclipse no lo reconoce como tal.

Yo en mi vista, tengo un GUI, entonces ahí creo un metodo que ingresa el controlador, entonces en el controlador, recibe esa vista, y en su constructor llama al método que que estaba en la vista, ahí en controlador toma el control, entonces pregunta por la accion con la sentencia getActionCommnad(),
entonces ahí hace una acción.

Si no me explico bien, es por mi poca experiencia, no me puedo explicar bien todavia. Pero puedo poner un ejemplo:

Esto es la pantalla principal

Código (java) [Seleccionar]


package vista;

import controlador.Controlador;

public class PantallaPrincipal extends javax.swing.JFrame {

    public static final String MENU_SOCIO = "MENU SOCIO";
    public static final String MENU_PAGO = "MENU PAGO";

    public PantallaPrincipal() {
        initComponents();
        SOCIO.setActionCommand(MENU_SOCIO);
        PAGO.setActionCommand(MENU_PAGO);
    } 

public void setControlador(Controlador controlador){
        SOCIO.addActionListener(controlador);
        PAGO.addActionListener(controlador);
    }

    public void Ejecutar(){
        this.setVisible(true);
    }


Esto está echo en netbeans, pero en eclipse no lo puedo hacer, asi de la misma manera.

Ya que no puedo llamar a el boton para hacer lo que hace el metodo setControlador().
#13
Hardware / Re: Creo que falla la placa base.
25 Agosto 2012, 17:46 PM
Loco, para saber si es o no una cosa o la otra proba asi, saca la memoria ram, limpia los socalos y vuelve a ponerla, enciendela y si se soluciona es que quedo estatica en el socalo, si sigue igual vuelve a saar la memoria y si escuchas pitidos quiere decir que fue la memoria, osea que se quemo, si no estás escuchando nada, cuando enciendas la pc mira el teclado y el mouse, siempre son opciones válidas para ver ya que cuando se enciende se prenden las luces, quiere decir que está funcionando la placa y el micro, proba eso por ahora yo te ayudo, me gano la vida de esto asi que un poco se.
Suerte.
#14
Gracias pude resolver mi problema, cunado esté terminado el programa, lo voy compartir para que los que se inicien en C puedan ver que con poco se puede hacer mucho.Gracias.
#15
Si, genial, ahora porque desde afuera funciona bien, y desde la misma función no,es más, hasta se me colorea la sintaxis de la estructura, que groso.

Edito:

Ya logre asignar valores desde una estructura hacia otra, pero no completa, yo tengo una estructura y otra de la misma caracteristica, a la segunda le debo modificar algo, entonces saco los valores y los asigo asi:


subtotal = y * datos.precio;
datos_ventas.codigo_ventas = datos.codigo;
datos_ventas.cantidad_ventas = y;
datos_ventas.articulo_ventas = datos.articulo;
datos_ventas.precio_ventas = datos.precio;
datos_ventas.total = datos_ventas.total + subtotal;
fwrite(&datos_ventas,sizeof(struct ventas),1,ventas_cont);

Se escriben bien salvo la cuarta linea, que me dice que no puedo asignar char[50] a otro de tipo char * y no entiendo si articulo_ventas y articulo son de tipo char[50]
#16
Buenas, estupendo foro, no hace mucho plantee una duda sobre un programa que quería hacer, como hace poco me desocuparon del trabajo(para no decir echaron), me dispuse a terminarlo, no sabia nada de estructura pero ahora me defiendo, yo creo un archivo y escribo en él, funciona perfecto, hago una consulta, de nuevo perfecto, pero cuando quiero que me tire datos en masa, osea que imprima por pantalla todos los datos, me salen caracteres raros como si el problema fuera de lectura.


void MOSTRAR_ARTICULOS()
{
FILE *stock;

struct articulos
{
int codigo;
char art[50];
int cantidad;
float precio;
}datos;

stock = fopen("Stock.in","rb");
fread(&datos,sizeof(datos),1,stock);
printf("\n_______________________________________________________");
printf("\n%-12s%-18s%-10s%-10s","Codigo","Articulo","Cantidad",
"Precio");
while(!feof(stock))
{
printf("\n%-12d%-18s%-10d%10.2f",datos.codigo,datos.art,
datos.cantidad,datos.precio);
fread(&datos,sizeof(datos),1,stock);
}
printf("\n______________________________________________________\n");
fclose(stock);
system("read -p'Presione Enter para Continuar' var");
system("clear");
}


Y si yo ingrese 10 productos lo da a los 10 pero con caracteres raros. Ya intente soluciones:
-Cambiar la extensión del archivo, primero era .dat, ahora en .in.
-Lo que vi yo era que la imagen del archivo guardado se asemeja más a una foto que a un archivo binario.     
#17
Gracias durasno, por responder, si probe el codigo y sigo en lo mismo, voy a para un rato ya, no consigo dar con la solución, pero voy a seguir estudiando el tema, la mayoria de los ejemplos que vi de la función fssek, son con estructuras, y no se nada de estructuras todavía, igual mi vieja cumple en agosto asi que todavia tengo tiempo de terminar el raglo, nunca mejor dicho terminar un regalo. Gracias igual durasno y a todos los que se dignaron ayudarme.
#18
Gracias durasno por tomarte el tiempo de responder, si pruebo con el fseek y me cuesta ya que me confundo con la posición de la lectura del archivo, mira yo la ultima lectura que hago es el precio entonces si coincide al codigo con la variable comp1, con el fseek vuelvo una posición hacia atrás y pongo al principio el cursor y escribo la variable diferencia1, estoy en lo correcto?.

fseek(stock1,-sizeof(cantidad),SEEK_SET);
fwrite(&diferencia1,sizeof(diferencia1),1,stock1);
fseek(stock1,2,SEEK_END);
#19
Bueno, gracias por responder, es cierto que puse mal las variables, ya lo corregi pero sigue sin descontar el stock, yo leo los datos, si coinciden lo escribo de nuevo y pongo el valor de la cantidad - lo que vendi, y sigo con el mismo valor del inicio, creo que asi no se modifican los datos, nose si ustedes me pueden decir como ustedes lo modificarian, o si esta mal como lo hice, posteo el codigo:

void DESCONTAR_STOCK(FILE *stock1, int diferencia1, int comp1)
{
int cod,cantidad;//nc: nueva cantidad del articulo
float precio;
char art[50];
stock1 = fopen("Stock.dat","r+b");
fread(&cod,sizeof(int),1,stock1);
fread(&art,sizeof(art),1,stock1);
fread(&cantidad,sizeof(int),1,stock1);
fread(&precio,sizeof(float),1,stock1);
while(!feof(stock1))
{
if(comp1 == cod)
{
fwrite(&cod,sizeof(int),1,stock1);
fwrite(&art,sizeof(art),1,stock1);
fwrite(&cantidad,sizeof(diferencia1),1,stock1);
fwrite(&precio,sizeof(float),1,stock1);
fseek(stock1,2,SEEK_END);
}
fread(&cod,sizeof(int),1,stock1);
fread(&art,sizeof(art),1,stock1);
fread(&cantidad,sizeof(int),1,stock1);
fread(&precio,sizeof(float),1,stock1);
}
fclose(stock1);
}


Creo que el problema esta en como sobreescribo el dato, creo nose. Gracias.
#20
Bueno, ya logre que funcione el modulo de ventas de contado, funciona casi todo, pero quiero hacer que se descuente el stock por medio de una variable que paso por la funcion, les muestro el codigo ai lo pispean y me dicen. Yo creo que el problema está en la lectura del archivo, por eso no me descuentea.

void DESCONTAR_STOCK(FILE *stock1, int diferencia1, int comp1)
{
int cod,cantidad,ns;//nc: nueva cantidad del articulo
float precio;
char art[50];
stock1 = fopen("Stock.dat","r+b");
fread(&cod,sizeof(int),1,stock1);
fread(&art,sizeof(art),1,stock1);
fread(&cantidad,sizeof(int),1,stock1);
fread(&precio,sizeof(float),1,stock1);
while(!feof(stock1))
{
if(*comp1 == cod)
{
ns = cantidad - *diferencia1;
fwrite(&cod,sizeof(int),1,stock1);
fwrite(&art,sizeof(art),1,stock1);
fwrite(&ns,sizeof(int),1,stock1);
fwrite(&precio,sizeof(float),1,stock1);
fseek(stock1,2,SEEK_END);
}
fread(&cod,sizeof(int),1,stock1);
fread(&art,sizeof(art),1,stock1);
fread(&cantidad,sizeof(int),1,stock1);
fread(&precio,sizeof(float),1,stock1);
}
fclose(stock1);
}


diferencia y comp, son variables que saque de una función para poder realizar la resta, diferencia contiene el valor de la cantidad que vendo - la cantidad que tengo y comp es el codigo del articulo que vendi para poder saber a cual descontar.