miércoles, 15 de mayo de 2024

Mini Software de Recibo con VB .Net 2022 y Excel 365 + Impresion + Codigo Fuente

De la caja de Herramientas agregar PrintDocument1 y PrintPreviewDialog1.

Imports System.Runtime.InteropServices.JavaScript.JSType

Imports Microsoft.Office.Interop

Public Class frmGrid3

    Dim Aplicacion As Excel.Application

    Dim Libro As Excel.Workbook

    Dim hoja As Excel.Worksheet

    Private Sub frmGrid3_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        cargarLibro()

    End Sub

    Private Sub cargarLibro()

        DataGridView1.ColumnCount = 3

        DataGridView1.Columns(0).Name = "Bar Code"

        DataGridView1.Columns(1).Name = "Producto"

        DataGridView1.Columns(2).Name = "Precio"

        DataGridView1.Columns(1).Width = 200

        Try

            Aplicacion = New Excel.Application

            Libro = Aplicacion.Workbooks.Open("C:\Users\miky mouse\OneDrive\ejemplo25.xlsx")

            hoja = Libro.Worksheets(2)

        Catch ex As Exception

            closeL()

            MsgBox("Error " + ex.ToString())

        End Try

    End Sub

    Private Sub closeL()

        Libro.Close()

        Aplicacion.Quit()

    End Sub

Private Sub frmGrid3_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed

        Libro.Close()

        Aplicacion.Quit()

    End Sub

Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown

        Dim bc As String

        Dim dato(3) As String

        Dim cad As String

        Dim j As Integer

        j = 0

        cad = " "

        Dim op As Integer

        op = 0

        If e.KeyCode = 13 Then

            bc = TextBox1.Text

            For j = 2 To 24

                If CLng(bc) = CLng(hoja.Cells(j, 1).Value) Then

                    dato(0) = hoja.Cells(j, 1).value

                    dato(1) = hoja.Cells(j, 2).value

                    dato(2) = hoja.Cells(j, 3).value

                    DataGridView1.Rows.Add(dato)

                    op = 1

                    calTot()

                End If

            Next

            If op = 0 Then

                cad = "No tenemos el Producto "

            End If

            MsgBox(cad + bc)

            TextBox1.Text = " "

        End If

    End Sub

    Private Sub calTot()

        Dim S As Double

        Dim pre As Double

        Dim tax As Double

        Dim tot As Double

        Dim n As Integer

        S = 0.00

        pre = 0.00

        n = DataGridView1.RowCount - 1

        For fila = 0 To n

            pre = CDbl(DataGridView1.Item(2, fila).Value)

            S = S + pre

        Next

        S = Math.Round(S, 2)

        lblSub.Text = S.ToString()

        tax = 0.09 * S

        tax = Math.Round(tax, 2)

        lblTax.Text = tax.ToString()

        tot = S + tax

        tot = Math.Round(tot, 2)

        lblTot.Text = tot.ToString()

    End Sub

Private Sub PrintDocument1_PrintPage(sender As Object, e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

        Dim n As Integer

        Dim fila2 As Single

        Dim fila3 As Single

        Dim f1, f2, f3 As Single

        Dim cad As String

        Dim cad2 As String

        Dim cad3 As String

        Dim cad4 As String

        Dim cad5 As String

        Dim j As Integer

        fila3 = 1

        fila2 = 1

        Try

            n = DataGridView1.RowCount - 1

            e.Graphics.DrawString("MinuvaMarket", New Font("Arial", 16), New SolidBrush(Color.Black), 50, 50)

            For j = 0 To n

                fila3 = 80 + fila2 * 10

                cad = DataGridView1.Item(1, j).Value

                cad2 = DataGridView1.Item(2, j).Value

                e.Graphics.DrawString(cad, New Font("Arial", 13), New SolidBrush(Color.Black), 20, fila3)

                e.Graphics.DrawString(cad2, New Font("Arial", 13), New SolidBrush(Color.Black), 300, fila3)

                fila2 = fila2 + 2

            Next

            cad3 = "Sub Total.." + lblSub.Text

            cad4 = "Tax........" + lblTax.Text

            cad5 = "Total......" + lblTot.Text

            f1 = fila3 + 20

            f2 = fila3 + 40

            f3 = fila3 + 60

            e.Graphics.DrawString(cad3, New Font("Arial", 13), New SolidBrush(Color.Black), 250, f1)

            e.Graphics.DrawString(cad4, New Font("Arial", 13), New SolidBrush(Color.Black), 250, f2)

            e.Graphics.DrawString(cad5, New Font("Arial", 13), New SolidBrush(Color.Black), 250, f3)

        Catch ex As Exception

            closeL()

            MsgBox("Error " + ex.ToString())

        End Try

    End Sub

Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click

        PrintPreviewDialog1.Document = PrintDocument1

        PrintPreviewDialog1.Width = 500

        PrintPreviewDialog1.Height = 600

        PrintPreviewDialog1.Left = 600

        PrintPreviewDialog1.Top = 150

        PrintPreviewDialog1.ShowDialog()

    End Sub

End Class

download Source Code

Para optimizacion del programa comunicarse a minuvasoft10@gmail.com -- Miguel Nunez




sábado, 11 de mayo de 2024

Calcular Determinante de una Matrix nxn con Java Netbeans + Codigo Fuente


Metodos Numericos, Analisis Numerico.
Clase Deter.java 

public class Deter {

    static final int N = 5;

    static void obtener(double A[][], double temp[][],int p, int q, int n)

    // Metodo para obtener cofactores, p y q es la fila y columna a     // eliminar. 

    {   int i = 0, j = 0;

            for (int row = 0; row < n; row++) {

for (int col = 0; col < n; col++) {

                    if (row != p && col != q) {

temp[i][j++] = A[row][col];

if (j == n - 1) {

                            j = 0;

                            i++;

}

                    }

}

            }

    }

public double deterM(double A[][], int n)

{   double D = 0.0; 

    if (n == 1)

       return A[0][0];

    double temp[][] = new double[N][N];

    int sign = 1;

    for (int f = 0; f < n; f++) {

        obtener(A, temp, 0, f, n);

        D += sign * A[0][f]* deterM(temp, n - 1);

sign = -sign;

    }

    return D;

}

Clase Formulario

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

public class frmDeter2 extends javax.swing.JFrame {

    DefaultTableModel model = new DefaultTableModel();

    Deter D = new Deter();

    public frmDeter2() {

        initComponents();

        tblB.setModel(model);

        String titu[] = {"A","B","C"};

        String dato1[] = {"0.55","1.55","2.55"};

        String dato2[] = {"-0.55","3.55","-4.55"};

        String dato3[] = {"5.55","-6.55","2.55"};

        model.setColumnIdentifiers(titu);

        model.addRow(dato1);

        model.addRow(dato2);

        model.addRow(dato3);

    }

    private void cargarM2() {

        model.setRowCount(0);

        String titu[] = {"A","B"};

        String dato1[] = {"0.55","1.55"};

        String dato2[] = {"-0.55","3.55"};

        model.setColumnIdentifiers(titu);

        model.addRow(dato1);

        model.addRow(dato2);

    }

    private void cargarM3() {

        model.setRowCount(0);

        String titu[] = {"A","B","C"};

        String dato1[] = {"0.55","1.55","2.55"};

        String dato2[] = {"-3.55","4.55","-5.55"};

        String dato3[] = {"5.55","-6.55","7.55"};

        model.setColumnIdentifiers(titu);

        model.addRow(dato1);

        model.addRow(dato2);

        model.addRow(dato3);

    }

    private void cargarM4() {

        model.setRowCount(0);

        String titu[] = {"A","B","C","D"};

        String dato1[] = {"0.55","1.55","2.55","6.55"};

        String dato2[] = {"-3.55","4.55","-5.55","7.55"};

        String dato3[] = {"5.55","-6.55","7.55","8.55"};

        model.setColumnIdentifiers(titu);

        model.addRow(dato1);

        model.addRow(dato2);

        model.addRow(dato3);

        model.addRow(dato1);

    }

    private void cargarM5() {

        model.setRowCount(0);

        String titu[] = {"A","B","C","D","E"};

        String dato1[] = {"0.55","1.55","2.55","6.55","2.55"};

        String dato2[] = {"-3.55","4.55","-5.55","7.55","-5.55"};

        String dato3[] = {"5.55","-6.55","7.55","8.55","1.55"};

        String dato4[] = {"5.55","-6.55","7.55","8.55","10.55"};

        String dato5[] = {"-6.55","-6.55","7.55","8.55","1.55"};

        model.setColumnIdentifiers(titu);

        model.addRow(dato1);

        model.addRow(dato2);

        model.addRow(dato3);

        model.addRow(dato4);

        model.addRow(dato5);

    }

private void btnDeterActionPerformed(java.awt.event.ActionEvent evt) {       int i,j;

        double R;

        int N1 = model.getRowCount();

        double A[][]=new double[N1][N1];

        for(i=0;i<N1;i++) {

            for(j=0;j<N1;j++) {

                A[i][j] = Double.parseDouble(model.getValueAt(i, j).toString());

            }

        }

        R = Math.round(D.deterM(A, N1)*1000.0)/1000.0;

        lblR.setText(""+R);

    }                                        

private void cmbEActionPerformed(java.awt.event.ActionEvent evt) {   

    int op = cmbE.getSelectedIndex();

    switch (op){

        case 0: cargarM2(); break;

        case 1: cargarM3(); break;

        case 2: cargarM4(); break;

        case 3: cargarM5(); break;

    }

}  

download source code  

minuvasoft10@gmail.com   


                             


sábado, 27 de abril de 2024

Hallar las raices de Cualquier Ecuacion con Excel 365

 Se establece un intervalo de x de -20 a 20 para hallar los f(x) que cambian de signo, X aumenta en 1.

 

Se halla el cambio de signo de f(x) en los intervalos -1 a 0 y 1 a 2, como muestra la fig de arriba. 

Se halla el cambio de signo de f(x) en el intervalo -1 a 0,  el cual ocurre de -0.8 a -0.7, con X aumentando en 0.1, como muestra la fig de arriba.

Se halla el cambio de signo de f(x) en el intervalo -0.8 a -0.7 con X aumentando en 0.01 como muestra la fig de arriba, el cambio de signo se encuentra de -0.77 a -0.76.
Se halla el cambio de signo de f(x) en el intervalo -0.77 a -0.76, con X aumentando en 0.001, como muestra la fig. de arriba. una raiz seria X= -0.768
Para la segunda raiz se trabaja con el intervalo de 1 a 2, con X aumentando en 0.1, como muestra la fig. de abajo.
Se halla el cambio de signo de f(x) entre 1.6 y 1.7, como muestra la fig. de arriba.
Se halla el cambio de signo entre 1.67 y 1.68 con X aumentando en 0.001, 

Se encuentra la raiz X= 1.678

minuvasoft10@gmail.com - Miguel Nunez
download source code















martes, 16 de abril de 2024

Buscar por Codigo de Barras en Excel con Java Netbeans

 

import java.io.File;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import jxl.Sheet;
import jxl.Workbook;
public class frmBBC extends javax.swing.JFrame {
    DefaultTableModel modelo = new DefaultTableModel();
    public frmBBC() {
        initComponents();
        String titu[]={"Bar Code","Nombre","Precio"};
        modelo.setColumnIdentifiers(titu);
        tblPro.setModel(modelo);
    }
private void txtBuscarActionPerformed(java.awt.event.ActionEvent evt) {                                 String cad="";
        int op = 0;
        try{
            File f = new File("C:\\Users\\miky mouse\\OneDrive\\ejemplo7.xls");
            Workbook wb = Workbook.getWorkbook(f);
            Sheet[] hojas = wb.getSheets();
            String[] datos = new String[3];
            if (hojas != null)
            {  int filas = hojas[1].getRows();
                    for (int fila = 1; fila < filas; fila++)
                    {   cad = hojas[1].getCell(0, fila).getContents();
                        if (cad.contains(txtBuscar.getText())) 
                        {
                            datos[0] = hojas[1].getCell(0, fila).getContents();
                            datos[1] = hojas[1].getCell(1, fila).getContents();
                            datos[2] = hojas[1].getCell(2, fila).getContents();
                            modelo.addRow(datos);
                            op = 1;
                         }
                    }
             }
            if (op==0) { JOptionPane.showMessageDialog(null, "No tenemos el producto "+txtBuscar.getText()); }
            txtBuscar.setText(null);
            wb.close();
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e.toString());
        }    
    }   
 
minuvasoft10@gmail.com - Miguel Nunez


  


sábado, 13 de abril de 2024

Modificar Filas de una Tabla MySql con Java Netbeans

 




Tener agregado en libraries el conector mysql para java

import javax.swing.JOptionPane;
public class frmActualizar extends javax.swing.JFrame {
coneBD cn = new coneBD();
    public frmActualizar() {
        initComponents();
    }
private void txtBuscarActionPerformed(java.awt.event.ActionEvent evt) {                                  String cad = txtBuscar.getText();
        String SQL="select * from productos where barcode like '"+cad+"%';";
        int op=0;
        try{
            cn.Conectar();
            cn.st=cn.conec.createStatement();
            cn.rt=cn.st.executeQuery(SQL);
            while (cn.rt.next()){
                txtNom.setText(cn.rt.getString(2));
                txtPre.setText(cn.rt.getString(3));
                txtStock.setText(cn.rt.getString(4));
                txtIma.setText(cn.rt.getString(5));
                op=1;
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e.toString());
        }
        if (op==0) {
            JOptionPane.showMessageDialog(null, "No tenemos el producto "+cad);
        } 
    }   
private void btnGrabarActionPerformed(java.awt.event.ActionEvent evt) {                                String SQL2="update productos set Nombre='"+txtNom.getText()+"',Precio='";
        SQL2 += txtPre.getText()+"',Stock='"+txtStock.getText()+"',imagen='";
        SQL2 +=txtIma.getText()+"' where barcode='"+txtBuscar.getText()+"';";
        try{
            cn.Conectar();
            cn.st=cn.conec.createStatement();
            int p=cn.st.executeUpdate(SQL2);
            JOptionPane.showMessageDialog(null, "Registro Modificado");
        }catch(Exception e){
           JOptionPane.showMessageDialog(null, e.toString());
        }
 
Clase de conexion a base de datos coneBD.java
import java.sql.*;
import javax.swing.JOptionPane;
public class coneBD {
    public static PreparedStatement prest=null;
    public static CallableStatement cllst=null;
    public static Connection conec=null;
    public static Statement st=null;
    public static ResultSet rt=null;
    public static String usu;
    public static String contra;
    public static String host;
    public static String db;
    public void Conectar(){
        try{
            usu="root"; contra=""; host="localhost"; db="ventas";
            String url="jdbc:mysql://"+host+"/"+db;
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conec=DriverManager.getConnection(url,usu,contra);
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e.toString());
        }
    }
}
                                        download source code




miércoles, 3 de abril de 2024

Buscar por Codigo de Barras en Tabla MySql con Java Netbeans

 


import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
public class frmBuscarBC extends javax.swing.JFrame {
    coneBD cn=new coneBD();
    DefaultTableModel modelo=new DefaultTableModel();
    public frmBuscarBC() {
        initComponents();
        String titu[]={"IDProducto","Nombre","Precio","Stock"};
        modelo.setColumnIdentifiers(titu);
        tblPro.setModel(modelo);
        tblPro.getColumnModel().getColumn(1).setPreferredWidth(200);
    }
private void txtBuscarActionPerformed(java.awt.event.ActionEvent evt) {                                          
   String SQL="select * from productos where barcode like '"+txtBuscar.getText()+"%';";
   String datos[]=new String[4];
        int op=0;
        try{
            cn.Conectar();
            cn.st=cn.conec.createStatement();
            cn.rt=cn.st.executeQuery(SQL);
            while (cn.rt.next()){
                datos[0]=cn.rt.getString(1);
                datos[1]=cn.rt.getString(2);
                datos[2]=cn.rt.getString(3);
                datos[3]=cn.rt.getString(4);
                modelo.addRow(datos);
                op=1;
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e.toString());
        }
        if (op==0) {
            JOptionPane.showMessageDialog(null, "No tenemos el producto "+txtBuscar.getText());
        } else {
            txtBuscar.setText(null);
        }
    } 
Clase de conexion coneBD.java
import java.sql.*;
import javax.swing.JOptionPane;
public class coneBD {
    public static PreparedStatement prest=null;
    public static CallableStatement cllst=null;
    public static Connection conec=null;
    public static Statement st=null;
    public static ResultSet rt=null;
    public static String usu;
    public static String contra;
    public static String host;
    public static String db;
    public void Conectar(){
        try{
            usu="root"; contra=""; host="localhost"; db="ventas";
            String url="jdbc:mysql://"+host+"/"+db;
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conec=DriverManager.getConnection(url,usu,contra);
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e.toString());
        }
    }
}
Tener agregado a libraries el conector mysql para java.
download source code
                    
minuvasoft10@gmail.com






sábado, 30 de marzo de 2024

Insertar Filas en una Tabla MySql con Java Netbeans

 

Tener agregado a libraries el conector mysql para java.

import javax.swing.JOptionPane;
public class frmInsertar extends javax.swing.JFrame {
    coneBD cn=new coneBD();
    public frmInsertar() {
        initComponents();
    }
private void btnInsertarActionPerformed(java.awt.event.ActionEvent evt) {                int op=0;
    String sql="insert into productos values('"+txtBar.getText()+"','"+txtNom.getText()+"','"+txtPre.getText()+"','"+txtStock.getText()+"','"+txtImg.getText()+"');";
    try{
        cn.Conectar();
        cn.st=cn.conec.createStatement();
        int p=cn.st.executeUpdate(sql);
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e.toString());
        op=1;
    }
    if (op==0) {
        JOptionPane.showMessageDialog(null, "Registro Agregado");
    }
 }
private void txtBarActionPerformed(java.awt.event.ActionEvent evt) {                      JOptionPane.showMessageDialog(null, "Enter:"+txtBar.getText());
}
Clase de Conexion coneBD.java
import java.sql.*;
import javax.swing.JOptionPane;
public class coneBD {
    public static PreparedStatement prest=null;
    public static CallableStatement cllst=null;
    public static Connection conec=null;
    public static Statement st=null;
    public static ResultSet rt=null;
    public static String usu;
    public static String contra;
    public static String host;
    public static String db;
    public void Conectar(){
        try{
            usu="root"; contra=""; host="localhost"; db="ventas";
            String url="jdbc:mysql://"+host+"/"+db;
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conec=DriverManager.getConnection(url,usu,contra);
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e.toString());
        }
    }
}
download source code
minuvasoft10@gmail.com


 




Conectar a MySql con Java Netbeans mediante un Formulario

 Tener agregado en libraries el conector mysql. clase coneBD.java package pktForm12; import java.sql.*; import javax.swing.JOptionPane; publ...