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ú

Temas - d91

#1
Hola a todos, estoy tratando de auditar el incremento del stock del inventario al realizar una compra, pero no he logrado asignar la variable del where del cursor, al parecer en mysql no se pueden pasar variables como parametros a los cursores. Ya que cuando activo el cursor la variable v_producto esta vacia.

Código (sql) [Seleccionar]

CREATE TRIGGER Compra_Producto AFTER INSERT ON `detalle_compra` FOR EACH ROW
                BEGIN
                    DECLARE v_stock int;
                    DECLARE v_cantidad int;
                    DECLARE v_total int;
                    DECLARE v_producto bigint;

                    DECLARE cursor_compra CURSOR FOR
                        SELECT stock from inventario where producto_id = v_producto;

                    set @v_producto = NEW.producto_id;
                    set @v_cantidad = NEW.cantidad;

                    OPEN cursor_compra;

                    LOOP
                        FETCH cursor_compra INTO v_stock;
                    END LOOP;

                    CLOSE cursor_compra;

                    set @v_total = v_stock + v_cantidad;
                   
                    UPDATE inventario set stock = v_total where producto_id = v_producto;

                END

#2
Bases de Datos / Agregar predicados en consulta SQL
17 Septiembre 2018, 17:38 PM
Hola, estoy tratando de hacer una consulta, la cuál debe traer los alumnos insolventes, ya construi una consulta pero solo me trae los que hayan pagado por lo menos un mes, pero necesito los registros de quienes no hayan pagado hasta cierto mes y tambien los que no hayan pagado ningun solo mes o sea que los que no tengan una fila en la tabla pago, agradezo de antemano su orientación y les dejo la estructura que tengo:

Código (sql) [Seleccionar]

//TABLA Alumno
id
nombres
apellidos
dni

//TABLA Pago
id
monto
mes_id
alumno_id
ciclo_escolar

SELECT
pago.alumno_id,
alumno.dni,
alumno.telefono
FROM
pago JOIN alumno
ON pago.alumno_id = alumno.id
WHERE pago.ciclo_escolar = 2018
GROUP BY
pago.alumno_id,
alumno.dni,
alumno.telefono
HAVING MAX(pago.mes_id) < 9
#3
Hola, estoy trabajando con Laravel y el Calendario de Google, y necesito determinar el codigo de error que me viene en la excepción ya sea de autorizacion o de escritura, ya se como obtenerlo (debugeando), y cuando hago un IF para preguntar por el codigo de error; me lanza el error TRY NOT GET OBJECT PROPERTY cuando intento acceder a la propiedad donde esta el codigo, les dejo el codigo de como lo obtengo y que obtengo:

Código (php) [Seleccionar]
dd($exception->getMessage());
Código (javascript) [Seleccionar]

"""
{\n
"error": {\n
  "errors": [\n
   {\n
    "domain": "global",\n
    "reason": "authError",\n
    "message": "Invalid Credentials",\n
    "locationType": "header",\n
    "location": "Authorization"\n
   }\n
  ],\n
  "code": 401,\n
  "message": "Invalid Credentials"\n
}\n
}\n
"""


y tambien lo puedo obtener asi:
Código (php) [Seleccionar]
dd($exception->getErrors());
Código (javascript) [Seleccionar]

array:1 [▼
  0 => array:5 [▼
    "domain" => "global"
    "reason" => "authError"
    "message" => "Invalid Credentials"
    "locationType" => "header"
    "location" => "Authorization"
  ]
]


solo que con este ultimo no obtengo el codigo de error, solo la razon y a este si puedo acceder, estoy usando GuzzleHttp para la peticion, pero raramente no es un json serializado lo que obtengo de error en la Api de Google
#4
Hola, tengo una tarea de quitar / poner permisos a archivos asi como lo hace chmod(), pero el usuario me dira cuales quitara / pondra, entonces estoy buscando una forma de almacenar los diversos codigos para pasarselo a chmod() segun me los diga el usuario (ya intente meter los codigos en un arreglo pero me lanza errores y como cadena no funciona), alguien me puede brindar una idea o tenga algun algoritmo
Código (cpp) [Seleccionar]

#include <stdio.h>
#include <sys/stat.h>
#include <iostream>
#include <sys/types.h>

using namespace std;

int main(int argc, char *argv[]){

int resultado;

char archivo[100];

//char permisos[100] = "S_IWOTH | S_IROTH";

cout<<"\nIngrese nombre del archivo: ";
cin>>archivo;

//resultado = chmod(archivo, permisos);

resultado = chmod(archivo, S_IWOTH | S_IROTH);

cout<<"\nResultado: "<<resultado<<"\n";

return 0;

}
#5
Hola a todos, estoy en un curso de sistemas operativos y como proyecto final me dejaron la implementacion de administracion de cuentas y control de seguridad, me dejaron a mi criterio usar OPEN SUSE, GENTOO, WINDOWS SERVER, con servicios de directorios Microsoft Active Directory, Sun Java System Directory Server, Open DS, OpenLDAP, Open Directory, pero no se por donde empezar o que herramientas para servicios de directorio usar, el enunciado dice asi:

Usuarios no pueden cambiar claves a las previamente utilizadas.
Las claves deben tener un minimo de 12 caracteres
Varios intentos de login producira bloqueo de la cuenta por un periodod de 15 minutos
Restringir la navegacion por internet cuando sean cuentas de administrador
Permitir crear 2 usuarios con las restricciones anteriores uno con derechos de adminstrador (A) y otro regular (B)
Usuario A tendra acceso completo a un recurso (archivo en un direcorio en una ubicacion de red)
Usuario B no tendra ningun tipo de permiso sobre el mismo archivo
Usuario A no tendra acceso a internet
Los dos usuarios tendran su propio espacio personal privado para guardar documentos

SUPOSICIONES:
Las computadoras estan conectadas a una red clase A no subneteada. Existe un servidor DHCP y DNS
Existe al menos un servidor de archivos y de servicios de directorio. El acceso a recursos se realiza desde una maquina cliente
El grupo utilizar MAC, DAC o RBAC segun sea conveniente para la aplicacion de permisos


agradezco de antemano su orientacion
#6
Hola a todos, estoy tratando de detectar el evento de cierre de un JDialog desde un JFrame padre, pero no lo he logrado. Aunque el verdadero fin es tratar de acceder al UI del JFrame padre desde el JDialog hijo desde otro hilo pero no he podido. Les dejo el trozo de codigo talvez alguien me pueda ayudar
Código (java) [Seleccionar]

final Toolkit toolkit = Toolkit.getDefaultToolkit();
        final Dimension screenSize = toolkit.getScreenSize();
       
        FinalizadoJDialog finalizadoTask = new FinalizadoJDialog(this, true);
       
        final int x = (screenSize.width - finalizadoTask.getWidth()) / 2;
        final int y = (screenSize.height - finalizadoTask.getHeight()) / 2;
        finalizadoTask.setLocation(x,y);
        finalizadoTask.setVisible(true);
       
        finalizadoTask.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosed(WindowEvent e) {
                System.out.println("Closed");
                super.windowClosed(e); //To change body of generated methods, choose Tools | Templates.
               
            }

            @Override
            public void windowClosing(WindowEvent e) {
                System.out.println("Closing");
                super.windowClosing(e); //To change body of generated methods, choose Tools | Templates.
               
            }
           
        });


#7
Hola, estoy construyendo un webapi que solo funcionara como un tunel para las llamadas desde el cliente, quien le enviara un json, a la vez el webapi lo unico que hara sera llamar al StoredProcedure que esta en Oracle y pasarle sus parametros, pero el json viene demasiado anidado y por lo menos en Oracle he pensado hacer un tipo de dato personalizado (coleccion), pero no se como desmenuzar este array en el web api y pasarselo al StoredProcedure, alguien me puede dar una idea, el json  me llega asi:(lo convertire a array)
Código (json) [Seleccionar]

{
"pedido": {
"key": "value",
"key2": "value2",
"detallepedigo": [{
"key": "value",
"key2": "value2",
"especificacion": [{
"key": "value",
"key2": "value2",
"subespecificacion": [{ "key": "value","key2": "value2" },
 { "key": "value","key2": "value2" }]
},
{
"key": "value",
"key2": "value2",
"subespecificacion": [{ "key": "value", "key2": "value2" },
 { "key": "value", "key2": "value2" }]
}
]
},
{
"key": "value",
"key2": "value2",
"especificacion": [{
"key": "value",
"key2": "value2",
"subespecificacion": [{ "key": "value", "key2": "value2" },
 { "key": "value", "key2": "value2" }]
},
{
"key": "value",
"key2": "value2",
"subespecificacion": [{ "key": "value", "key2": "value2" },
 { "key": "value", "key2": "value2" }]
}
]
}
]
}
}
#8
PHP / Ayuda para construir un json desde array
6 Noviembre 2017, 04:54 AM
Hola estoy trajando con yii2, y necesito construir un json, a partir de algunos select dinamicos que voy alcanzando en cascada, pero al llegar al segundo for ya no me inserta el array correspondiente aunque las consultas si las va haciendo ya que he debugeado un poco alguien me podria ayudar: (donde esta el var_dump, ya no me agrega otro array)
Código (php) [Seleccionar]

$cuestionario = (new \yii\db\Query())
                    ->select(['*'])
                    ->from('CUESTIONARIOS')
                    ->where(['ID_CUESTIONARIO' => $id])
                    ->all();

    foreach ($cuestionario as $key => $value) {

        $data = array($key => $value);
    }

                          // var_dump($cuestionario['ID_CUESTIONARIO']);
                      //die();
     $area = (new \yii\db\Query())
                      ->select(['*'])
                      ->from('AREAS')
                      ->where(['ID_CUESTIONARIO' =>$cuestionario[0]['ID_CUESTIONARIO']])
                      ->all();

                   
      /* obtenemos ahora las subareas de cada area*/                     

     for ($i=0; $i < count($area); $i++) {

          $data[0]['AREAS'] =  $area[$i];
           
                        $subarea = (new \yii\db\Query())
                          ->select(['*'])
                          ->from('SUB_AREAS')
                          ->where(['ID_AREA' => $area[$i]['ID_AREA']])
                          ->all();


        /* Obtenemos ahora las preguntas de cada subarea*/

                    for ($j=0; $j < count($subarea); $j++) {

                          $data[0]['AREAS'][$i]['SUBAREAS'] = $subarea[$j];

                          $preg = (new \yii\db\Query())
                            ->select(['*'])
                            ->from('PREGUNTAS')
                            ->where(['ID_SUB_AREA' => $subarea[$j]['ID_SUB_AREA']])
                            ->all();

                                    var_dump( $data[0]['AREAS'][$i]['SUBAREAS']);die();

        /*Obtenemos ahora las respuestas de cada pregunta */

                            for ($s=0; $s < count($preg); $s++) {
                                 
                                    $data[0]['AREAS'][$i]['SUBAREAS'][$j]['PREGUNTAS'] = $preg[$s];


                                    $resp = (new \yii\db\Query())
                                        ->select(['*'])
                                        ->from('RESPUESTAS')
                                        ->where(['ID_PREGUNTA' => $preg[$s]['ID_PREGUNTA']])
                                        ->all();

        /*Por ultimo agregamos las respuesta a cada pregunta */
                                        for ($x=0; $x < count($resp) ; $x++) {
                                             
                                              $data[0]['AREAS'][$i]['SUBAREAS'][$j]['PREGUNTAS'][$s]['RESPUESTA'] = $resp[$x];                     
                                        }                             
                              }
                    }
       }

       return Json::encode($data);
#9
Hola, he estado buscando una forma de solucionar una relacion entre 3 tablas, tengo un DEPARTAMENTO donde trabaja EMPLEADO supervisa PROYECTO, pero puede ser que un proyecto no tenga empleados y solo este asignado a un departamento, entonces un DEPARTAMENTO tiene asignado muchos PROYECTOS, mi duda es en el diseño logico, debo crear una tabla adicional para "tiene asignado muchos PROYECTOS" o como jalo el ID del departamento a la tabla PROYECTO cuando no tiene empleados asignados y esta tabla PROYECTO necesariamente pide el ID del empleado? gracias de antemano por su ayuda:)
#10
PHP / Reescribir url mod_rewrite
18 Febrero 2017, 16:16 PM
Hola estoy tratando de implementar las url amigables, ya active el mod_rewrite del servidor pero simplemente me da error 500

el htaccess me quedo asi:
Código (cpp) [Seleccionar]

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ /?c=$1&a=$2&id=$3 [L]


mi modelo de front controller lo tengo asi:
Código (php) [Seleccionar]

<?php
require_once 'controller/alumno.controller.php';

// Ruta del proyecto, cambiala por la ruta que vas a usar
define'RUTA_HTTP''http://' $_SERVER['HTTP_HOST'] . '' );

// Todo esta lógica hara el papel de un FrontController
if(!isset($_REQUEST['c'])){
    
$controller = new AlumnoController();
    
$controller->Index();    
} else {
    
    
// Obtenemos el controlador que queremos cargar
    
$controller $_REQUEST['c'] . 'Controller';
    
$accion     = isset($_REQUEST['a']) ? $_REQUEST['a'] : 'Index';
    
    
    
// Instanciamos el controlador
    
$controller = new $controller();
    
    
// Llama la accion
    
call_user_func( array( $controller$accion ) );
}

un ejemplo de como se llama a una url es asi:
Código (php) [Seleccionar]

http://www.misitio.com/?c=Alumno&a=Crud&id=3

esa url si funciona pero al escribir las reglas en el modo rewrite y tratar de escribir algo  asi me envio error 500
Código (php) [Seleccionar]

http://www.misitio.com/Alumno/Crud/3.html
#11
Hola, tal vez creo que no estoy en el foro apropiado, pero he estado intentado llenar un arreglo javascript a partir de una respuesta json, que a la vez fue retornado por una consulta mysql-php necesito llenar la parte de categories:
Código (php) [Seleccionar]

$result = mysqli_query($db,$queryItems);
if($result){

while ($datos = mysqli_fetch_array($result)) {
$respuesta[] = array(
'Item' => $datos["Producto"]
);
}

print_r(json_encode($respuesta));
}

Y aqui el codigo javascript
Código (javascript) [Seleccionar]

$(document).on("ready",function(){
    $.ajax({
        type: "json",
        method: "POST",
        url: "./controllers/BI_getListItem.php"
        }).done(function(info){
                Highcharts.chart('container2', {
                    chart: {
                        type: 'bar'
                    },
                    title: {
                        text: 'Comportamiento del movimiento de productos'
                    },
                    subtitle: {
                        text: ''
                    },
                    xAxis: {
                       //aqui necesito llenar las categorias con la respuesta json
                        categories: ['Cuadernos 100 Hojas Norma', 'America', 'Asia', 'Europe', 'Oceania'],
                       
                        title: {
                            text: null
                        }
                    },
#12
Hola, estoy tratando de crear un trigger para auditar el inventario a partir de las compras en una base de datos de MYSQL 5.7, (solo he trabajado PL sql y T-sql) pero me genera un error al compilar, esto en la sección de declaracion de variables, ya intente de muchas formas pero no me resulta, no se si me alguien pueda orientar para lograr correr el codigo
Código (sql) [Seleccionar]

CREATE TRIGGER Audit_Compra_Trigger
AFTER INSERT ON compra_detalle
FOR EACH ROW
BEGIN
DECLARE var_CurrentStock INTEGER;
DECLARE var_producto INTEGER;
DECLARE var_CurrentPrice DECIMAL(5,2);
DECLARE cur_Datos Cursor for Select CostoActual, Stock
from Inventario Where Producto_Id = var_producto;
SET var_producto = New.Producto_Id;

OPEN cur_Datos;
FETCH cur_Datos INTO var_CurrentPrice, var_CurrentStock;
CLOSE cur_Datos;

SET var_CurrentStock = var_CurrentStock + New.Cantidad;

Update Inventario
set CostoAnterior = var_CurrentPrice,
CostoActual = New.PrecioCosto,
PrecioSugerido = New.PrecioSugerido,
Stock = var_CurrentStock
Where Producto_Id = var_producto;
END

#13
PHP / Dar formato decimal a input
17 Octubre 2016, 15:57 PM
Hola, trato de mostrar el total en un textbox, pero a veces el resultado a veces es decimal y a veces da entero Como puedo dar formato a este textbox para que al ser entero me muestre parte decimal como .00
Código (php) [Seleccionar]

$compraTotal = 0.0;

$compraTotal = $compraTotal + ($arrays["Costo"] * $arrays["Cantidad"]);

<input type="text" class="form-control" value="<?php echo $compraTotal;?>" placeholder="" aria-describedby="basic-addon1" name="cantidad" style="font-size:24px; text-align: right">
#14
Hola, estoy haciendo practica con formularios modales, presiono el boton correspondiente y se muestra el formulario modal, pero ahora quiero tener este formulario modal en otro archivo y hacerlo dinamico de manera que si por GET o por POST llega cierto valor, o se muestra modal o se muestra normal, pero si me redirecciona pero no muestra el formulario, entonces mi duda es:
El formulario modal siempre deberá estar en la misma pagina desde donde se llama?
#15
PHP / administrar error 404
12 Octubre 2016, 14:42 PM
Hola, estoy trabajando con xampp y he estado buscando como administrar el error ¡Objeto no localizado! error 404, cuando alguien intenta escribir directamente sobre la url una direccion no valida, debo de aclarar que no estoy usando ningun framework y no se si se pueda sobrescribir algo para que yo pueda redirigir a una pagina de informacion
#16
PHP / Como recorrer un array de objetos
6 Octubre 2016, 16:07 PM
Hola intento crear un array de objetos pero no se como recorrerlo cuando ya lo he llenado tal vez alguien me pueda ayudar aqui el codigo
Código (php) [Seleccionar]

$sql = "select Id_producto, Id_proveedor, Id_tipo, nombre from producto where Id_producto = '{$id}'";
    $select = mysqli_query($db,$sql);
    $array = mysqli_fetch_array($select);

    $objeto = new Producto();
       $objeto->setIdProducto($array["Id_producto"]);
       $objeto->setIdProveedor($array["Id_proveedor"]);
       $objeto->setIdTipo($array["Id_tipo"]);
       $objeto->setNombre($array["nombre"]);

    if(empty($canasta)){
        $canasta[0] = $objeto;
        $cont = count($canasta);
        //$_SESSION["cont"] = count($_SESSION["Canasta"]) + 1;
      }
      else
      {
        $i = $cont;
        $canasta[$i] = $objeto;
        $cont++;
        //$i = $_SESSION["cont"];
        //$_SESSION["Canasta"][$i] = serialize($objeto);
        //$_SESSION["cont"] = $i + 1;
      }

con el var_dump muestra que si se esta llenando pero no se como hacerlo con for / foreach


Ahora lo intento de esta manera:
Código (php) [Seleccionar]

$sql = "select Id_producto, Id_proveedor, Id_tipo, nombre from producto where Id_producto = '{$id}'";
    $select = mysqli_query($db,$sql);
    $array = mysqli_fetch_array($select);

    $objeto = new Producto();
       $objeto->setIdProducto($array["Id_producto"]);
       $objeto->setIdProveedor($array["Id_proveedor"]);
       $objeto->setIdTipo($array["Id_tipo"]);
       $objeto->setNombre($array["nombre"]);

    if(!isset($_SESSION["Canasta"])){
        $_SESSION["Canasta"][0] = $objeto;
        $_SESSION["cont"] = count($_SESSION["Canasta"]) + 1;
       
      }
      else
      {
        $i = $_SESSION["cont"];
        $_SESSION["Canasta"][$i] = $objeto;
        $_SESSION["cont"] = $i + 1;
      }


pero en la segunda iteracion me lanza una excepcion __PHP_incomplete_CLASS al visualizarlo ocn var_dump

MOD: No hacer doble post.
#17
Hola a todos, estoy tratando de crear un arreglo de objectos a partir de una clase, pero este arreglo debe ser unico, debo agregar y quitar filas, pero no se como instanciar un arreglo unico de dicha clase
apenas e iniciado y ya me frize aqui:
El arreglo debe contener filas de este objeto:
Código (php) [Seleccionar]

<?php 
 class 
DetalleCompra{
private $_idCompra;
private $_idProducto;
private $_costo;
private $_cantidad;
private $_idKardex;
private $_descripcion;

public function __construct($idCompra$idProducto$costo$cantidad$idKardex$descripcion)
{
this->_idCompra $idCompra;
this->_idProducto $idProducto;
this->_costo $costo;
this->_cantidad $cantidad;
this->_idKardex $idKardex;
this->_descripcion $descripcion;
}

public function getIdCompra(){return this->_idCompra;}
public function getIdProducto(){return this->_idProducto;}
public function getCosto(){return this->_costo;}
public function getCantidad(){return this->_cantidad;}
public function getIdKardex(){return this->_idKardex;}
public function getDescripcion(){return this->_descripcion;}
}
 
?>


y la clase estatica me la imagino algo asi:
Código (php) [Seleccionar]

<?php 
class 
Canasta
{
private static Canasta $_instance[] = null;

public static function Instance()
{
if($_instance == null)
{
_instance = new array(); //aqui deberia de instanciar la clase DetalleCompra
return this->_instance;
}else
{
return this->_instance;
}
}
}
 
?>


Encontre un ejemplo en java pero como el lenguaje no es igual solo me sirve de guia:
Código (java) [Seleccionar]

public class DocumentacionEnBlanco extends Documentacion{
    private static DocumentacionEnBlanco _instance = null;
   
    private DocumentacionEnBlanco(){
        documentos = new ArrayList<Documento>();
    }
    public static DocumentacionEnBlanco Instance(){
        if(_instance == null){
            _instance = new DocumentacionEnBlanco();
        }
        return _instance;
    }
    public void incluye(Documento doc){
        documentos.add(doc);
    }
    public void excluye(Documento doc){
        documentos.remove(doc);
    }
}
#18
Hola, estoy intentado llenar un select por medio de una consulta, pero a pesar de que obtengo varias filas con la consulta solo me muestra una en el select, alguien podria orientarme que es lo que estoy haciendo mal:
Código (php) [Seleccionar]

     <?php
$sql "select id_proveedor as clave, nombre from proveedor";
$result mysqli_query($db$sql);
$totalRows mysqli_num_rows($result);
$row_result mysqli_fetch_assoc($result);
      
?>

                         <div class="form-group">
      <div class="col-lg-5">
Proveedor: <select name="role" class="form-control">
<?php
  $cont 1;
  do{
?>

        <option value="<?php echo $row_result['clave']?>">
   <?php 
    echo $row_result['nombre'];
    ?>

</option>
<?php
  $cont++;
} while ($cont $totalRows); 
?>


</select>
</div>
</div>
#19
PHP / Duda con implementacion mvc
16 Agosto 2016, 15:25 PM
Hola a todos, he realizado varias practicas de php, pero nunca he implementado un patron estructurado siempre ha sido etiquetas php entre etiquetas html, haciendo consultas directas, ahora necesito ordenar un poco mas, he logrado implementar mvc en otros lenguajes, pero estos tienen code behind en sus etiquetas o inyector de vistas(android), por lo que ahora en php no se por donde empezar a implementar MVC, no se si deba hacer uso de un Framework o alguien me pueda proporcionar algun tutorial para ordenar mi codigo, gracias de antemano.
#20
Hola a todos, estoy tratando de agregar a mi proyecto un lector de codigo de barras, he hecho pruebas y veo que funciona como un teclado que lee y escribe el codigo, pero no se como hacer para que escriba el codigo en un textbox especifico, tal vez tenga un snippet que me pueda sugerir para agregarlo
#21
hola, estuve leyendo algunos tutoriales android y los segui para hacer una aplicacion, cada vez que presiono un boton me aparece un texto, ya funciona solo que al abrir la aplicacion me aparece en el textView el texto que tenia en la vista de diseño de la aplicacion, por lo que ahora quisiera que alguien me ayudara para que al abrir la aplicacion me aparezca la primera cita que esta guardada en un arreglo dentro de la aplicacion, Donde debo mover?
Código (java) [Seleccionar]

public class MainActivity extends ActionBarActivity {

    private Button mBotonCita;
    private TextView mTextoCita;
    private TextView mTextoAutor;


    private static final String TAG = MainActivity.class.getName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mBotonCita = (Button) findViewById(R.id.btnCita);
        mTextoCita = (TextView) findViewById(R.id.txtCita);
        mTextoAutor = (TextView) findViewById(R.id.txtAutor);

        mBotonCita.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //Log.d("TAG","El boton ha sido presionado");
                try {
                    switch (v.getId()) {
                        case R.id.btnCita:
                            nuevaFrase();
                            break;
                        default:
                            break;
                    }
                }catch(Exception e){Log.d("TAG","Error: "+e);}
            }
        });

    }



    public void nuevaFrase(){
        generadorCitas generaCita = new generadorCitas();
        Cita nuevaCita = generaCita.obtenerCitaAleatoria();

            mTextoCita.setText(nuevaCita.getTexto());
             mTextoCita.setTextColor(nuevaCita.getColor());
                mTextoAutor.setText(nuevaCita.getAutor());
                mTextoAutor.setTextColor(nuevaCita.getColor());
        mBotonCita.setBackgroundColor(nuevaCita.getColor());

    }


aqui el xml
Código (xml) [Seleccionar]

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Esta sera una cita de alguien"
        android:id="@+id/txtCita"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:textSize="24sp"
        android:textColor="#ff2d90ce"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Autor"
        android:id="@+id/txtAutor"
        android:layout_below="@+id/txtCita"
        android:layout_alignRight="@+id/txtCita"
        android:layout_alignEnd="@+id/txtCita"
        android:textColor="#ff2d90ce"
        android:textSize="24sp" />

#22
Java / ayuda para tokenizar una ecuacion
19 Abril 2016, 19:09 PM
hola, tengo que insertar en una matriz mxn los coeficientes de dos ecuaciones, pero tengo que ingresarlos con sus respectivo signo (positivo o negativo) ya logre tokenizar cada una de la ecuaciones poniendo de condición el ";". Y tal vez alguien me puede ayudar con alguna idea para tokenizar cada termino de la ecuación y tomar el coeficiente porque no puedo poner varias condiciones en la tokenizacion por ejemplo  tokens = new StringTokenizer(datos,"x","y","=",";");
Código (java) [Seleccionar]



      La entrada:
       x + y = 5;
      2x - 5y = 4;


String datos;
        StringTokenizer  tokens;
        int ndatos;
        try{
        datos = textArea.getText();
        tokens = new StringTokenizer(datos,";");
        ndatos = tokens.countTokens();
       
        while(tokens.hasMoreTokens()){
            String str=tokens.nextToken();
       
            System.out.println(str);
       
        }
        }catch(Exception ex){
                JOptionPane.showMessageDialog(null,ex);
        }

#23
hola a todos, tengo una pequeña base de datos en Access y le coloque una contraaeña a los modulos en visual basic pero olvide la contraseña y ahora no se como hacer para desbloquearla y poder  ver y modificar el código que tiene adentro
#24
hola todos, tengo  un user control, este ultimo lo muestro en un panel de un form (visula express 2012 desktop), el user control tiene textbox, listbox..., la instancia del user control:
Código (csharp) [Seleccionar]

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using RNUcodigo;
using RNUDataAccess;
using RNUEntities;

namespace UI
{
    public partial class UCnuevoUsuario : UserControl
    {
        private static UCnuevoUsuario _Instance;

        public static UCnuevoUsuario Instance
        {

            get
            {
                if (_Instance == null)
                    _Instance = new UCnuevoUsuario();
                return _Instance;
            }//get
        }//instanciando el userContol


        public UCnuevoUsuario()
        {
            InitializeComponent();
        }


lo muestro en el panel del form principal asi:

Código (csharp) [Seleccionar]

private void agregarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!panel1.Controls.Contains(UCnuevoUsuario.Instance))
            {
                panel1.Controls.Add(UCnuevoUsuario.Instance);
                UCnuevoUsuario.Instance.Dock = DockStyle.Fill;
                UCnuevoUsuario.Instance.BringToFront();
               
            }//if
            else {
                UCnuevoUsuario.Instance.BringToFront();
            }//else
        }


y lo remuevo del panel asi:

Código (csharp) [Seleccionar]

private void btnsalir_Click(object sender, EventArgs e)
        {
            this.Parent.Controls.Remove(this);
        }


pero cuando lo vuelvo a abrir me aparece con los datos que le había ingresado anteriormente, habrá otra opción de destruirlo sin ponerle a cada textbox.text = "" del usercontrol, para que no me aparezca lleno cuando vuelva a llamarlo?
#25
hola, estoy tratando de validar un nombre de persona con una expresión regular pero solo he logrado validar un nombre y no encuentro como repetir esta validación ya sea con un + o un * y agregarle el  espacio en blanco
Código (csharp) [Seleccionar]

c#
string nombre = "Juan Alvarez";

string expresion = "^[A-Z][a-z]+$";
#26
hola a todos, estoy usando una version express de vs2012 framework 4.5 y necesito utilizar un reporte local, como estoy en una version express, agregue las dll respectivas para poder  utilizar el reportviewer en este caso la v10.0, agregue un dataset con sus respectivas tablas que necesito,  y tuve que agregar unas lineas en el designer.cs del formulario para que aparezca el reportviewer, pero no encuentro como crear el informe para enlazarlo al reportviewer, ya que no se si por ser version express al reportviewer no le aparace la pestaña de tareas de control donde se diseña el informe y su origen de datos, no si exista una forma manual de hacerlo pues no me aparece el asistente
#27
hola a todos, tengo una pequeña tarea para registrar los datos de algunos recibos de pago, los meses de pago es de enero a diciembre, el recibo se genera según lleguen a pagar los servicios correspondientes, pero para generar el recibo debo obtener el mes que correspondería pagar, asi también los meses que estan atrasados de pago, o sea mi problema seria de como realizar los select o estructurar de otra forma las tablas
Código (cpp) [Seleccionar]

                          Recibo
-----------------------------------------------------------
  No_recibo  |    Dni   |  Monto |     Id_mes     |     Age   |
-----------------------------------------------------------
      1            222        50            10          2015 |
      2            222        50            11          2015 |
-----------------------------------------------------------
                  Mes
------------------------------------
  Id_mes   |         Nombre         |
------------------------------------   
       1                  Enero           
       2                Febrero           
       3                Marzo             
       4                Abril               
       5                 Mayo             
       6                 Junio             
       7                 Julio             
       8               Agosto             
       9            Septiembre         
      10             Octubre           
      11            Noviembre         
      12             Diciembre         
------------------------------------


#28
hola, anteriormente hice una pequeña aplicación que accedia a una base de datos, utilice VS2012 y mi pc tiene Windows 7 32bits, la empaquete en un .exe y lo probe, en mi maquina corrió bien y todo, y pensé que en cualquier maquina de 32 bits iba a funcionar, después intente instalarlo en una maquina con Windows 8 32 bits, instaló pero al abrir la aplicación dejaba de funcionar y se cerraba y casi solo funciona en Windows 7 aunque en algunas da problemas porque se congela y se cierra, aunque este instalado la versión del Framework necesaria en este caso la 4.5, he googleado un poco y ahora me doy cuenta que la configuración por defecto que tiene es la Any CPU, y veo que puedo elegir directamente entre x32 y x64, pero no se si de esta manera podre estar seguro que mi aplicación correrá correctamente en cualquier maquina al instalarla, agradezco la orientación para configurar bien mis aplicaciones
#29
hola, en una entrada anterior de  como hacer funcionar un gif en un picture box necesitaba hacer funcionar un gif al hacer una consulta, despues de buscar un poco mas me encontre con el background worker, entonces ahora realizo la consulta, se muestra el gif pero la consulta me debe llenar un textbox (la consulta se realiza bien),  pero al acceder a este textbox me da el error de ("Se intento tener acceso al control txtid desde un subproceso distinto al que lo creó")
Código (csharp) [Seleccionar]

private void btncodigo_Click(object sender, EventArgs e)
        {
            if (backgroundWorker1.IsBusy != true)
            {
                this.pictureBox1.Visible = true;
                this.btncodigo.Enabled = false;
                backgroundWorker1.RunWorkerAsync();
            }
            //generarNuevoCodigo();
        }

        void generarNuevoCodigo() {
            manzanaDA codigo = new manzanaDA();
            DataTable dt;
            try
            {
               // btncodigo.Visible = false;
                //pictureBox1.Visible = true;
                dt = codigo.cargar("sp_codigo_manzana").Tables[0];
                Codigos nuevo = new Codigos();
                txtid.Text = nuevo.generaCodigo(dt);  //aqui me da la excepcion

            }//try
            catch (Exception ex)
            {
                //throw new Exception("Error " + ex.Message);
            }//catch
            finally {
               // pictureBox1.Visible = false;
                //btncodigo.Visible = true;
            }//finally

        }

        private void txtdescrip_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == Convert.ToChar(Keys.Enter)) {
                btnguardar.Select();
                btnguardar.Focus();
            }
        }

        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            generarNuevoCodigo();
        }

        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Cancelled == true)
            {
                this.btncodigo.Enabled = true;
                this.pictureBox1.Visible = false;
            }
            else if (e.Error != null)
            {
                this.btncodigo.Enabled = true;
                this.pictureBox1.Visible = false;
            }
            else
            {
                this.btncodigo.Enabled = true;
                this.pictureBox1.Visible = false;
            }
        }//void generar nuevo codigo


todos los controles los creo en tiempo de diseño y no se como manejarlos haciendo nuevos hilos durante la ejecucion
#30
hola, estoy tratando de mostrar un gif en un picturebox cuando realizo una consulta y esta a veces tarda un poco, después de leer un poco, dispuse hacer esto
Código (csharp) [Seleccionar]

try
            {
                btncodigo.Visible = false;
                pictureBox1.Visible = true;
                dt = codigo.cargar("sp_codigo").Tables[0];
                Codigos nuevo = new Codigos();
                txtid.Text = nuevo.generaCodigo(dt);  //generado nuevo codigo en la dll codigo

            }//try
            catch (Exception ex)
            {
                //throw new Exception("Error " + ex.Message);
            }//catch
            finally {
                pictureBox1.Visible = false;
                btncodigo.Visible = true;
            }//finally

este picture Box contiene un gif que lo desactivo al cargar el formulario pero aunque la consulta tarde un poco no se muestra, Cómo podría mostrar una imagen de carga o espera al realizar una consulta a una base de datos? estoy con VS2012 for desktop
#31
hola, tengo un datagridview y le agregue un checkbox a cada fila para poder seleccionarlo y después necesito verificar si esta seleccionado, si esta seleccionado debo obtener el valor de la celda 2 de esta fila y mostrarlo en un mensaje, pero no se como poner el índice de la fila que estoy recorriendo cuando la sentencia entra en el ciclo if
Código (csharp) [Seleccionar]

foreach (DataGridViewRow row in gridservicio.Rows) {
                        chk = (DataGridViewCheckBoxCell)row.Cells[3];
                        if (chk.Selected == true) {
                            MessageBox.Show("" + gridservicio.Rows[row].Cells[2].Value);
                        }
                    }//foreach
#32
hola a todos, en una aplicación que estoy construyendo tengo un formulario para llenar los datos de un usuario, pero como característica adicional este usuario puede escoger entre 3 servicios, estos los tengo con checkboxs para que elija los que quiera, pero puede suceder que el administrador del sistema agregue un nuevo servicio y entonces sean 4 servicios, Es posible crear estos checkbox en tiempo de ejecución, para cuando en la base de datos exista un nuevo servicio aparezca en el formulario o simplemente debo crear otro formulario donde asigne los servicios uno a uno para no modificar la App en caso existan nuevos servicios disponibles? estoy trabajando VS for desktop...
#33
hola a todos, estoy tratando actualizar los datos de un empleado pero necesito mostrar en un combobox el tipo de empleado del cual ya esta registrado, con la consulta lleno un datatable y de esa manera voy llenando los campos necesarios pero no se como hacer para que en el combobox aparezca ya por defecto el valor del tipo de empleado que traía la consulta
Código (csharp) [Seleccionar]

public void cargarCampos(DataTable dt) {
            int inicio;
            casaDA mostrar = new casaDA();
            Codigos f = new Codigos();
            txtcodigo.Text = f.formatoCodigo(dt.Rows[0].ItemArray[0].ToString());
            txtdireccion.Text = dt.Rows[0].ItemArray[2].ToString();
           
            tipo = Convert.ToInt32(dt.Rows[0].ItemArray[1].ToString()); //aquí esta el tipo de empleado
            try
            {
                cmbtipo.DataSource = mostrar.cargar("carga_tipos").Tables[0];
                cmbtipo.ValueMember = "Codigo";
                cmbtipo.DisplayMember = "Tipo";
            }//try
            catch (Exception ex)
            {
                MessageBox.Show("Error en la peticion " + ex.Message + " Intentelo nuevamente");
            }//catch()
        }
#34
hola a todos, estoy iniciando ahora con sql server y necesito hacer un procedimiento almacenado que cuente el total de las filas de una tabla, pero según he leído en sql server no contamos con los cursores implícitos:
Código (sql) [Seleccionar]

select count(*) into contador from empleados;

y no se como se haría con los explicitos, porque de estar vacia la tabla no se realiza ningún movimiento en el contador y de existir filas solo haría una instrucción de count(*)
Código (sql) [Seleccionar]

declare @var int
declare contador cursor for
select count(No_empleado) from empleado

begin
OPEN contador
fetch contador into @var
 print @var
end


tampoco existe un tipo de dato igual a las  filas y sus columnas resultantes del cursor
cont contador%rowtype, sino que debo de declarar cada una de las columnas posibles que devolvera

#35
hola a todos, estoy modelando tablas de una base de datos de un residencial, donde el inquilino tendra su codigo  según la manzana y la casa donde residirá
por ejemplo:
Código (cpp) [Seleccionar]

tbl_manzana

No.   |     Literal    |
1     |        A        |
2     |        B        |


tbl_ casa

No_casa   |    ID _Manzana   |
1            |            1            |
2            |            1            |
3            |            2            |


entonces cuando se asigna un inquilino a una casa el id del inquilino seria por ejemplo  A-01, este inquilino hace pagos mensuales y a veces se atrasa y tiene que desalojar, pero por los pagos que hace no se puede borrar solo darse de baja, pero al llegar otro inquilino y asignarse a la misma casa donde estuvo el anterior el id tendría que ser siempre A-01, por lo que no podría usar este id como llave primaria y usaría el DNI de la persona pero este es de 13 caracteres y tendría que usar un varchar para su tipo de dato, por lo que deseo que me ayuden con ideas para usar un id de menor longitud
#36
hola a todos, necesito crear un procedimiento almacenado para visualizar el estado de la memoria en Oracle, pero el select para poder ver esto solo funciona dentro de un bloque anónimo (declare) y no dentro de un procedimiento almacenado porque el error dice: tabla o vista no existe, por lo que necesito saber si hay otra consulta en la que pueda ver el estado de la memoria en Oracle y insertar este select para llamarlo  en un procedimiento almacenado

Código (sql) [Seleccionar]


create or replace procedure memoria     
as
CURSOR reporte is
select POOL as espacio, NAME as nombre, BYTES as tam from v$sgastat;
auxiliar reporte%ROWTYPE;
begin
for auxiliar In reporte loop
  dbms_output.put_line(auxiliar.espacio||' '||auxiliar.nombre||' '||auxiliar.tam);
end loop;
end;

--Error(3,8): PLS-00341: declaration of cursor 'REPORTE' is incomplete or malformed

--Error(4,62): PL/SQL: ORA-00942: table or view does not exist
#37
hola a todos, estoy tratando de registrar en un log, la cantidad de filas afectadas al truncar una tabla, pero la única forma que he encontrado es haciendo un  select count antes de la operación, el dbms es Oracle y no se si habrá otra forma para hacerlo con un trigger
#38
Desarrollo Web / como hacer if responsive jquery/css
22 Noviembre 2015, 13:41 PM
hola, elabore un pequeño menú HTML responsive, y con jquery hago la animación del menú cuando el max-with es de 800px, pero cuando maximizo la pagina los menus siguen haciendo uso del jquery, o sea que al dar click sobre el menú aparece pero yo desearía que al quitar el enfoque se volviera a ocultar, o simplemente no hiciera caso al click, porque solo es necesario cuando la pantalla es mas pequeña, pero no se si con un if puedo decir if(width<=800) o algo asi para que cuando la pagina este maximizada o mayor a 800px no  haga caso a este bloque javascript
Código (javascript) [Seleccionar]

$(document).ready(main);

var contador = 1;

function main() {
    $('.menu_bar').click(function () {
        if (contador == 1) {
            $('.navmenu').animate({
                left: '0'               //aquí le digo que aparezca
            }//animate
                );
            contador = 0;
        }//if
        else {
            contador = 1;
            $('.navmenu').animate({
                left: '-100%'   //aquí le digo que desaparezca
            }//animate
                );
           
        }//else
    });//menu_bar
   
    $('.submenu').click(function () {
        $(this).children('.children').slideToggle();   //aquí muestra el submenu
    });//submenu
}
#39
Bases de Datos / reporte al truncar tabla
18 Noviembre 2015, 17:04 PM
hola a todos, estoy truncando tablas en Oracle con procedimientos almacenados pero tambien necesito que despues de truncar tener el reporte de cuantas filas se truncaron para ingresarlo a la bitacora, row count solo me toma fila a fila para intentar hacer el insert a la bitacora y haciendo un trigger el for each statament tambien me toma fila a fila (truncate es operacion ddl)
Código (sql) [Seleccionar]

create or replace procedure truncar_tabla(
tabla varchar2
)
is
begin
 
   execute immediate 'truncate table '||tabla;
   --sql%rowcount
end;
#40
.NET (C#, VB.NET, ASP) / ayuda con datareader
11 Noviembre 2015, 03:56 AM
hola a todos, estoy teniendo un problema a al momento de manipular un datareader para llenar un grid que le he dado formato con anterioridad  la función donde lo lleno trabaja bien porque depurando puedo ver los datos que trae pero al intentar leer para llenar la lista me da el error:   Operación no válida dado el estado actual del objeto.
aquí lleno
Código (csharp) [Seleccionar]

public OracleDataReader busquedaDinamica(string spName, string patron)
        {
            conexion a = new conexion();

            try
            {
                using (OracleConnection conectar = a.ayudar())
                {
                   
                   
                    OracleCommand cmd = new OracleCommand(spName, conectar);
                   
                    OracleParameter param1 = new OracleParameter("ResCursor", OracleDbType.RefCursor);
                    param1.Direction = ParameterDirection.Output;
                    cmd.Parameters.Add(param1);

                    OracleParameter param2 = new OracleParameter("patron", OracleDbType.Varchar2);
                    param2.Value = patron;
                    cmd.Parameters.Add(param2);

                    cmd.CommandType = CommandType.StoredProcedure;

                    conectar.Open();
                    OracleDataReader dr = cmd.ExecuteReader();
                    return dr;
                }//using 1

            }//try
            catch (Exception ex)
            {
                throw new ArgumentException("Error " + ex);
            }//catch


y en este recibo e intento recorrer para llenar la lista

Código (csharp) [Seleccionar]


public List<clsventaServicio> ventaServicio(string spName)
        {

            List<clsventaServicio> objeto = new List<clsventaServicio>();

            con = new conexion();
            OracleDataReader lector;
            lector = con.llenarGrid(spName);

            while (lector.Read())//aqui al intentar leer me da error
            {       //error:   Operacion no vlida dado el estado actual del objeto.

                clsventaServicio lista = new clsventaServicio();
                lista.clave = lector[0].ToString();
                lista.servicio = lector[1].ToString();
                lista.precio  = lector[2].ToString();

                objeto.Add(lista);

            }//while
            return objeto;

        }//public lista<ventaproducto>
#41
Bases de Datos / ayuda con select y group by
9 Noviembre 2015, 13:31 PM
hola a todos, estoy tratando seleccionar las ventas del dia en Oracle pero no me funciona si trato de mostrar la suma por cada vendedor en la clausula grupo by
Código (sql) [Seleccionar]

select T.nombreempleado from vendedor P JOIN cat_empleado T ON T.idempleado = P.empleado group by P.empleado

el problema esta al agregarle el group by y cuando quiero ver la suma por cada vendedor también me da problemas de esta forma
Código (sql) [Seleccionar]

select T.nombreempleado, sum(P.monto)total from vendedor P JOIN cat_empleado T ON T.idempleado = P.empleado group by P.empleado

y por ultimo necesitaría filtrar por fecha
Código (sql) [Seleccionar]

select T.nombreempleado sum(P.monto)total from vendedor P JOIN cat_empleado T ON T.idempleado = P.empleado where P.fecha = '09/11/2015' group by p.empleado

agradezco la orientancion que me puedan dar
#42
hola a todos, necesito saber como crear una imagen iso autoarrancable en Windows, pero en este iso van los archivos para instalar openSuse en una maquina virtual, es que descomprimi el iso original los archivos están sueltos y y no tiene esa configuración y por eso no bootea, ya intente haciendo una imagen booteable como lo hacia para hacer arrancable xp, w7 pero este no funciona asi quiza
#43
hola, deseo saber si hay algun compilador para correr en openSuse  mis archivos .cpp de c++, es solo para demostracion
#44
Bases de Datos / existe trigger al truncar registro
6 Noviembre 2015, 14:05 PM
hola  a todos, necesito saber si es posible crear un trigger para las tablas para cuando se truncan los registros, necesito tener en bitacora una sola linea que me indique las filas afectadas, probe haciendo uno con for each statement pero siempre me registra como si fuera for each row y tambien veo que no hay un predicado aparte de insert, update o delete, el truncado el trigger lo toma como un bucle de delete
Código (sql) [Seleccionar]


CREATE TRIGGER TRUNCAR
  AFTER DELETE ON TAB_EMPLEADO
  FOR EACH STATEMENT
  DECLARE
  BEGIN
// no se si puedo usar sql%rowcount para saber cuantas filas fueron afectadas
  INSERT INTO BITACORA VALUES(sysdate,user,'TAB_EMPLEADO');
END;
#45
Bases de Datos / problema con insert dinamico
4 Noviembre 2015, 20:00 PM
hola a todos, necesito truncar tablas (funciona bien) pero también guardar filas afectadas, fecha etc., pero el insert es dinamico y me da el error ORA-00917 missing comma; ya intente poner apostrofos y mostrarlo con el dbms_output pero no he logrado hacer la inserción
Código (sql) [Seleccionar]


for c_tab in c_tablas loop
execute immediate ' truncate table '||c_tab.table_name;
cont:= sql%rowcount;

execute immediate ' insert into bitacora (OPERACION,VALORES,NOMBRE_TABLA,FECHA_HORA,USUARIO)'||'
                    values('||'truncado'||','||'filas borradas '||cont||','||c_tab.table_name||','||
                      sysdate||','||user||')';
end loop;