QT Creator es uno de los mejores IDE para c++ en especial cuando se trata de crear formularios, maneja todos los controles como cuadro de texto, botones, Table, combos box, listas, conexion a base de datos, generacion de archivos pdf, archivos de texto, tiene otros temas como qt network, es excelente.
File mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <cmath>
#include <QDateTime>
#include <QTimer>
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowTitle("Simulacion de Recibo");
QStringList titu;
ui->tblPro->setColumnCount(4);
titu<<"Producto"<<"Precio_U"<<"Cantidad"<<"Importe";
ui->tblPro->setHorizontalHeaderLabels(titu);
ui->tblPro->setColumnWidth(0,150);
cargar_combo();
cargar_cli();
setHora();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::setHora()
{
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(cargar_fecha()));
timer->start(1000);
}
void MainWindow::on_btnAdd_clicked()
{
//ui->txtPrecio->setText(ui->txtNombre->text());
ui->tblPro->insertRow(ui->tblPro->rowCount());
ui->tblPro->setItem(ui->tblPro->rowCount()-1,0,new QTableWidgetItem(ui->cmbPro->currentText()));
ui->tblPro->setItem(ui->tblPro->rowCount()-1,1,new QTableWidgetItem(ui->txtPrecio->text()));
ui->tblPro->setItem(ui->tblPro->rowCount()-1,2,new QTableWidgetItem(ui->txtCan->text()));
calTot();
}
void MainWindow::cargar_combo()
{
ui->cmbPro->addItem("PlayStation 4");
ui->cmbPro->addItem("Laptop Dell i7");
ui->cmbPro->addItem("Hard disk 1Tb");
ui->cmbPro->addItem("TV 60 LED Sony");
ui->cmbPro->addItem("Laptop Apple i7");
ui->cmbPro->addItem("Samsung Galaxy S6");
}
void MainWindow::calTot()
{
double imp;
double precio;
double can;
double S=0;
double tax=0;
double total=0;
int i;
for(i=0;i<ui->tblPro->rowCount();i++){
precio=ui->tblPro->item(i,1)->text().toDouble();
//precio=ui->tblPro->takeItem(i,1)->text().toDouble();
can=ui->tblPro->item(i,2)->text().toDouble();
imp=precio*can;
ui->tblPro->setItem(i,3,new QTableWidgetItem(QString::number(imp)));
S=S+imp;
S=redo(S);
tax=0.09*S;
tax=redo(tax);
total=1.09*S;
total=redo(total);
ui->lblSub->setText(QString::number(S));
ui->lblTax->setText(QString::number(tax));
ui->lblTotal->setText(QString::number(total));
}
}
double MainWindow::redo(double n)
{
n=n*100;
n=round(n);
n=n/100;
return n;
}
void MainWindow::cargar_cli()
{
ui->cmbCli->addItem("Miguel Nunez Varillas");
ui->cmbCli->addItem("Rosa Castro");
ui->cmbCli->addItem("Soila Monge");
ui->cmbCli->addItem("Luis Salvatierra");
ui->cmbCli->addItem("Alberto Lozano");
ui->cmbCli->addItem("Fernando Garcia");
ui->cmbCli->addItem("Julio Ortiz Jason");
}
void MainWindow::cargar_fecha()
{
QDateTime tiempo2=QDateTime();
ui->lblFecha->setText(tiempo2.currentDateTime().toString());
QString h=QString::number(tiempo2.currentDateTime().time().hour());
QString m=QString::number(tiempo2.currentDateTime().time().minute());
QString s=QString::number(tiempo2.currentDateTime().time().second());
ui->lblRelog->setText(h+":"+m+":"+s);
}
void MainWindow::on_cmbPro_currentIndexChanged(const QString &arg1)
{ QString cad;
switch (ui->cmbPro->currentIndex()) {
case 1:cad="500";break;
case 2:cad="89";break;
case 3:cad="700";break;
case 4:cad="800";break;
case 5:cad="200";break;
default:cad="220";
break;
}
ui->txtPrecio->setText(cad);
ui->txtCan->setText("1");
}
void MainWindow::on_btnDel_clicked()
{ QMessageBox mensa;
if (ui->tblPro->currentRow()>-1){
ui->tblPro->removeRow(ui->tblPro->currentRow());
}else{
mensa.setText("Seleccione una fila");
mensa.exec();
}
}
martes, 1 de septiembre de 2015
jueves, 6 de agosto de 2015
sábado, 2 de mayo de 2015
viernes, 1 de mayo de 2015
sábado, 24 de enero de 2015
Metodo de Newton - Metodos Numericos con Java
package pktNewton;
import javax.swing.table.DefaultTableModel;
public class frmNewton extends javax.swing.JFrame {
DefaultTableModel modelo=new DefaultTableModel();
public frmNewton() {
initComponents();
tblCoe.setModel(modelo);
tblCoe.setVisible(false);
}
private void btnGenActionPerformed(java.awt.event.ActionEvent evt) {
int i;
int n=Integer.parseInt(txtN.getText());
String titu[]=new String[n+1];
String dato[]=new String[n+1];
for(i=0;i<=n;i++){ titu[i]="X^"+(n-i); dato[i]="1"; }
tblCoe.setVisible(true);
modelo.setColumnIdentifiers(titu);
modelo.addRow(dato);
}
private double df(double x0){
double n=Double.parseDouble(txtN.getText());
double s=0;
for(int i=0;i<modelo.getColumnCount();i++){
if ((n-i)!=0){
s=s+(n-i)*Double.parseDouble(modelo.getValueAt(0, i).toString())*Math.pow(x0,n-1-i);
}
}
return s;
}
private double f(double x0){
double n=Double.parseDouble(txtN.getText());
double s=0;
for(int i=0;i<modelo.getColumnCount();i++){
s=s+Double.parseDouble(modelo.getValueAt(0, i).toString())*Math.pow(x0, n-i);
}
return s;
}
private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {
double x0,x1;
double error=1,e=0.01;
double n=6,i=0;
if (mayor()+menor()==0){ x0=mayor();
}else{ x0=(mayor()+menor())/2; }
while (error>=e || i==n){
x1=x0-f(x0)/df(x0);
i=i+1;
error=Math.abs((x1-x0)/x1);
txtR.setText(txtR.getText()+"iteraccion="+i+"\n"+"x1="+x1+"\n"+"f(x1)="+f(x1)+"\n");
if (f(x1)==0){ txtR.setText(txtR.getText()+"Raiz="+x1+"\n"); break; }
x0=x1;
}
lblF.setText("f(x0):"+f(x0)+" mayor:"+mayor()+" menor:"+menor()+" x0="+x0+" df(x0)="+df(x0));
}
private double mayor(){
double may;
may=Double.parseDouble(modelo.getValueAt(0, 0).toString());
for(int i=1;i<modelo.getColumnCount();i++){
if (Double.parseDouble(modelo.getValueAt(0, i).toString())>may){
may=Double.parseDouble(modelo.getValueAt(0, i).toString());
}
}
return may;
}
private double menor(){
double men;
men=Double.parseDouble(modelo.getValueAt(0, 0).toString());
for(int i=1;i<modelo.getColumnCount();i++){
if (Double.parseDouble(modelo.getValueAt(0, i).toString())<men){
men=Double.parseDouble(modelo.getValueAt(0, i).toString());
}
}
return men;
}
El programa calcula una raiz del polinomio ingresado en la tabla, se ingresan los coheficientes.
el metodo f evalua un valor x0, el metodo df evalua un valor en la derivada del polinomio, el metodo mayor calcula el coheficiente mayor del polinomio, el metodo menor calcula el coheficiente menor del polinomio.
Se realizan Proyectos de Programacion de Computadoras en Java, Visual Basic, SQL, MySql.
e-mail: minuvasoft10@gmail.com
import javax.swing.table.DefaultTableModel;
public class frmNewton extends javax.swing.JFrame {
DefaultTableModel modelo=new DefaultTableModel();
public frmNewton() {
initComponents();
tblCoe.setModel(modelo);
tblCoe.setVisible(false);
}
private void btnGenActionPerformed(java.awt.event.ActionEvent evt) {
int i;
int n=Integer.parseInt(txtN.getText());
String titu[]=new String[n+1];
String dato[]=new String[n+1];
for(i=0;i<=n;i++){ titu[i]="X^"+(n-i); dato[i]="1"; }
tblCoe.setVisible(true);
modelo.setColumnIdentifiers(titu);
modelo.addRow(dato);
}
private double df(double x0){
double n=Double.parseDouble(txtN.getText());
double s=0;
for(int i=0;i<modelo.getColumnCount();i++){
if ((n-i)!=0){
s=s+(n-i)*Double.parseDouble(modelo.getValueAt(0, i).toString())*Math.pow(x0,n-1-i);
}
}
return s;
}
private double f(double x0){
double n=Double.parseDouble(txtN.getText());
double s=0;
for(int i=0;i<modelo.getColumnCount();i++){
s=s+Double.parseDouble(modelo.getValueAt(0, i).toString())*Math.pow(x0, n-i);
}
return s;
}
private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {
double x0,x1;
double error=1,e=0.01;
double n=6,i=0;
if (mayor()+menor()==0){ x0=mayor();
}else{ x0=(mayor()+menor())/2; }
while (error>=e || i==n){
x1=x0-f(x0)/df(x0);
i=i+1;
error=Math.abs((x1-x0)/x1);
txtR.setText(txtR.getText()+"iteraccion="+i+"\n"+"x1="+x1+"\n"+"f(x1)="+f(x1)+"\n");
if (f(x1)==0){ txtR.setText(txtR.getText()+"Raiz="+x1+"\n"); break; }
x0=x1;
}
lblF.setText("f(x0):"+f(x0)+" mayor:"+mayor()+" menor:"+menor()+" x0="+x0+" df(x0)="+df(x0));
}
private double mayor(){
double may;
may=Double.parseDouble(modelo.getValueAt(0, 0).toString());
for(int i=1;i<modelo.getColumnCount();i++){
if (Double.parseDouble(modelo.getValueAt(0, i).toString())>may){
may=Double.parseDouble(modelo.getValueAt(0, i).toString());
}
}
return may;
}
private double menor(){
double men;
men=Double.parseDouble(modelo.getValueAt(0, 0).toString());
for(int i=1;i<modelo.getColumnCount();i++){
if (Double.parseDouble(modelo.getValueAt(0, i).toString())<men){
men=Double.parseDouble(modelo.getValueAt(0, i).toString());
}
}
return men;
}
El programa calcula una raiz del polinomio ingresado en la tabla, se ingresan los coheficientes.
el metodo f evalua un valor x0, el metodo df evalua un valor en la derivada del polinomio, el metodo mayor calcula el coheficiente mayor del polinomio, el metodo menor calcula el coheficiente menor del polinomio.
Se realizan Proyectos de Programacion de Computadoras en Java, Visual Basic, SQL, MySql.
e-mail: minuvasoft10@gmail.com
jueves, 1 de enero de 2015
Mysql Select 3 tables inner join
Se tiene las siguientes tablas
inner join lineas as l on o.N_L = l.N_L
inner join actividad as a on a.id_Activi = o.N_O
where o.N_L = 73760 order by o.N_O
-- El objetivo es seleccionar campos de las tres tablas, relacionados por su llave primaria y foranea.
Se realizan Proyectos de Programacion por Internet minuvasoft10@gmail.com
Miguel Nunez
lineas
ordentrabajo
actividad
select o.N_O, o.fecha, l.N_L, l.Origen, l.Fin, a.programa from ordentrabajo as o inner join lineas as l on o.N_L = l.N_L
inner join actividad as a on a.id_Activi = o.N_O
where o.N_L = 73760 order by o.N_O
-- El objetivo es seleccionar campos de las tres tablas, relacionados por su llave primaria y foranea.
Se realizan Proyectos de Programacion por Internet minuvasoft10@gmail.com
Miguel Nunez
sábado, 6 de diciembre de 2014
Oracle PL/SQL - Create table, Primary key, Foreign key, Insert into, select dos tablas
A continuacion se crean tablas con llave primaria y llaves foraneas y se hacen consultas a dos tablas con select. Tambien ingresar filas con insert into.
-- crear tabla
create table productos
( idProducto varchar2(6) not null,
descripcion varchar2(30) not null,
precio_uni number(6),
stock number(5)
);
-- creacion de primary key
alter table productos add constraint pk_productos primary key (idProducto);
create table factura_detalle
(idFactura varchar2(7) not null,
idProducto varchar2(6) not null,
cantidad number(3),
importe number(7)
);
-- creacion de primary key y foreign key
alter table factura_detalle add constraint pk_factura_detalle primary key (idFactura);
alter table factura_detalle add constraint fk_factura_detalle foreign key (idProducto) references productos (idProducto);
-- Insert into
insert into productos values("PRO100","Celular Samsung Galaxy S4",100,24);
insert into productos values("PRO102","Mouse HP wifi",15,23);
insert into productos values("PRO104","Tinta Epson 200 c",8.5,22);
insert into factura_detalle values("FAC1001","PRO100",2,200);
insert into factura_detalle values("FAC1002","PRO102",2,30);
insert into factura_detalle values("FAC1004","PRO104",3,25.5);
-- Generar un listado de ventas por producto
select p.descripcion, sum(f.cantidad) as Ventas
from factura_detalle as f
inner join productos as p
on p.idproducto=f.idproducto
group by p.nombre
e-mail: minuvasoft10@gmail.com
-- crear tabla
create table productos
( idProducto varchar2(6) not null,
descripcion varchar2(30) not null,
precio_uni number(6),
stock number(5)
);
-- creacion de primary key
alter table productos add constraint pk_productos primary key (idProducto);
create table factura_detalle
(idFactura varchar2(7) not null,
idProducto varchar2(6) not null,
cantidad number(3),
importe number(7)
);
-- creacion de primary key y foreign key
alter table factura_detalle add constraint pk_factura_detalle primary key (idFactura);
alter table factura_detalle add constraint fk_factura_detalle foreign key (idProducto) references productos (idProducto);
-- Insert into
insert into productos values("PRO100","Celular Samsung Galaxy S4",100,24);
insert into productos values("PRO102","Mouse HP wifi",15,23);
insert into productos values("PRO104","Tinta Epson 200 c",8.5,22);
insert into factura_detalle values("FAC1001","PRO100",2,200);
insert into factura_detalle values("FAC1002","PRO102",2,30);
insert into factura_detalle values("FAC1004","PRO104",3,25.5);
-- Generar un listado de ventas por producto
select p.descripcion, sum(f.cantidad) as Ventas
from factura_detalle as f
inner join productos as p
on p.idproducto=f.idproducto
group by p.nombre
e-mail: minuvasoft10@gmail.com
Suscribirse a:
Entradas (Atom)
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...
-
Despues de instalar la libreria MySQL para Visual Studio. Se tiene una data base ventas y una tabla tutorials el cual tiene un campo imagen...
-
Basicamente se realiza botones de navegacion como primero, siguiente, anterior, ultimo de una tabla Mysql con Java Netbeans. Ademas se na...
-
Tener agregado en libraries el conector mysql. clase coneBD.java package pktForm12; import java.sql.*; import javax.swing.JOptionPane; publ...

















