Respuesta de endPoint se regresa con doble valor usando slim framework

¡Buenas!

Tengo el siguiente endPoint que me regresa el siguiente resultado. ¿Por que regresa repetidos los valores?

Realmente no tengo idea en eque momento se asignan los parametros de la respuesta que aparecen enumerados de 0 al 4, yo esperaba solamente los parametros con palabras.

La ruta funciona, me permite loguearme bien, pero no entiendo de donde vienen esos valores.

Agradezco cualquier ayuda de antemano.

<?php use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ResponseInterface as Response;  $  app -> post('/api/login', function(Request $  request, Response $  response){    $  nombre = $  request -> getParam('Nombre');   $  password = $  request -> getParam('Contrasena');   $  contrasena = md5(base64_encode($  password));        try{         $  db = new db();         $  db = $  db -> conectar();          $  consulta = "SELECT usuario.IdUsuario, usuario.Nombre, usuario.FkCat_TipoUsuario,         usuario.FkCat_Estatus_Usuario, cat_tipousuario.TipoUsuario         FROM usuario         INNER JOIN cat_tipousuario on usuario.FkCat_TipoUsuario = cat_tipousuario.IdTipoUsuario         WHERE usuario.Nombre = :Nombre         AND usuario.Contrasena = :Contrasena";          $  auth = $  db->prepare($  consulta);          $  auth->bindParam(':Nombre', $  nombre);         $  auth->bindParam(':Contrasena', $  contrasena);         $  auth->execute();         $  rows=$  auth->rowCount();          if($  rows > 0){             $  responseData['status'] = 1;           $  responseData['response'] = $  auth->fetchAll();             // $  responseData['response'] = $  auth->fetchAll();         }else{             $  responseData['status'] = 0;             $  responseData['msg'] = 'Usuario o contraseña incorrectos.';         }          return $  this->response->withJson($  responseData, 200);      } catch (PDOException $  e) {       echo '{"error": {"text": '.$  e -> getMessage().'}';     }  });  ?> 

introducir la descripción de la imagen aquí

CUPS Error – Canon MF633cdw printing beyond (doble) of the requested number

I installed CUPS on Linux Mint 19. x and after installing the printer via Cups, two things happened: (1) The printer remains installed in CUPS even though I have reinstalled Mint on my notebook, did not need to reinstall, is already there fixed. If I try to reinstall 2 printers appear the same on the system. (2) When I send a file to print, it multiduplicates the number of pages requested, example: if I request 2 copies of the file, I receive 4; If I ask 4, I receive 16 and so on. I already tried reinstalling CUPS, I deleted and reinstalled the printer, I already reseted the printer and nothing solves! Please help!

tkinter label – se lanzan los dos eventos, click y doble click a la vez

#!/usr/bin/env python # -*- coding: utf-8 -*-  import sys import tkinter as tk from tkinter import ttk, font  class   Intento1(tk.Frame):     def __init__(self, master, *args, **kwargs):         super().__init__(master, *args, **kwargs)          labeltop = tk.Label(master, text= "Etiqueta superior", background = "red")         labeltop.grid(row=0, column=0)          labeltop.bind("<Button-1>", self.callLabelTop)         labeltop.bind("<Double-Button-1>", self.callLabelTopDouble)          self.quitButton = tk.Button(master, text="quit", command=self.quit)         self.quitButton.grid(row=1, column=0)      def callLabelTop(self, event):         print("Intento1: Single click in TopLabel")      def callLabelTopDouble(self, event):         print("Intento1: Double click in TopLabel")   if __name__ == "__main__":       print(sys.version)     root = tk.Tk()      app = Intento1(root)     root.progID = sys.argv[0] + " --> "                  # recoge nombre del programa     root.title(root.progID + 'Sample application')     root.mainloop() 

Cuando hago double click en la etiqueta, se me lanzan, a la vez, los eventos de single click y doble click.

¿Que estoy haciendo mal o que omito? ¿Es el comportamiento standard?

El interface de stackoverflow me pide que añada mas detalles, para dejarme publicar. Creo que con lo descrito es suficiente, ¿no?

Is NumberForm doble rounding numbers?

A number like 0.644696875 is represented internally as 0.6446968749999…:

N[FromDigits[RealDigits[0.644696875, 2], 2], $  MachinePrecision] (* 0.6446968749999999 *) 

So if I ask NumberForm to print this number with 8 decimals, I would expect it to be 0.64469687 and not 0.64469688 because the digit after the 87 is a 4 which is less than 5. But it is not what we get with NumberForm:

NumberForm[0.644696875, {8, 8}] (* 0.64469688 *) 

So it looks like we have here two round operations when only one was requested:

  • First Rounding: From 0.6446968749999999 to 0.644696875
  • Second Rounding: From 0.644696875 to 0.64469688

I found this while comparing to Python, which doesn’t double round. This leads to a result which I believe is correct:

ExternalEvaluate["Python", "'{:.8f}'.format(0.644696875)"] (* 0.64469687 *) 

Also notice that this floating point number is stored in the same way in both systems:

Divide @@ ExternalEvaluate["Python", "0.644696875.as_integer_ratio()"] == FromDigits[RealDigits[0.644696875, 2], 2] (* True *) 

Is Mathematica double rounding? Can this be avoided while still using machine numbers?

Motivation: I’m working on making a hash on an array of floating point numbers. This calculation should be the same from Mathematica and from Python. For this I need to be able to produce the same string representation of numbers in both system. This has proven more challenging than expected.

Desencadenar la tecla ENTER después de doble clic a celda en Grid

De antemano buen día a todos; recurro por una duda que tengo y espero y agradezco me puedan ayudar. La aplicación que tengo cuenta con un GRID y un TEXTBOX. La pequeña aplicación solicita un código de producto en el TEXTBOXy al dar enter lo envía al GRID, sin embargo la primera columna del GRID contiene los códigos de productos alternos que tiene el código principal, pero requiero que al dar doble clic a la primera columna me envíe el código al TEXTBOX y en automático me debe enviar un ENTER sin necesidad de recurrir al teclado. Lo que me falta es que se desencadene el ENTER, he buscado ejemplos pero no me han funcionado. Aquí mi cpodigo:

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)     {         if (dataGridView1.Columns[e.ColumnIndex].Name == "Clave")         {             txtClaveProducto.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();             //SendKeys.Send("{ENTER}");         }     } 

Para que me funcione tengo que posicionarme al fin del último carácter del TEXTBOX para que me de la información. Ya tengo la aplicación adaptada para que al dar enter envíe la información al GRID, lo que me falta es que se desencadene el ENTER. Gracias por su valioso apoyo. Saludos

hacer Strcpy o una copia hacia un puntero doble con los datos de un tipo String

Hola tengo el problema que me han dejado realizar una pequeña modificación a un código pero esta me decía que solo sustituyera las variables de tipo “Char *” y ponerla en tipo “string” el problema es que en una parte del código este usa “Char **” y este intenta hacer una copia con strcpy para que los “Char **” tengan la misma información de los que ahora son tipo “String” el problema es mas que todo de sintaxis ya que no se como podria solucionar este problema sin modificar los que actualmente siguen siendo “Char **” y seguir usando “string” en los que antes eran “char *” y si he problado hacerlo como si de una cadena string se tratase “string=string” pero no funcionan.

Dejaré el código del las libreria de mi clase y de donde se encuentra el problema.

#ifndef _PARTICIPANTE_H_ #define _PARTICIPANTE_H_ #include <string> using namespace std; class CParticipante { private: //Datos miembros     string nombre;     string apellido;     char sexo; //masculino o femenino     string lugar_nacimiento; //ciudad y pais     string pais_residencia;     string doc_identidad; //cedula, carnet, pasaporte     string telefono; //(505)311-4012     string e_mail;  public:     //funciones miembros publicas     CParticipante();     CParticipante(string, string, char, string, string, string, string, string);     ~CParticipante();     CParticipante(const CParticipante&);     CParticipante& operator=(const CParticipante&);     void SetParticipante(string, string, char, string, string, string, string, string);     //recibe 8 parametros y los almacena en las variables correspondientes     //al objeto que recibe el mensaje     void GetParticipante(char**, char**, string, char**, char**, char**, char**, char**) const;     //obtener un participante, permite el acceso a los datos del objeto que recibe el mensaje };  bool Verificar_Documento(string); //verifica si el doc_identidad es correcto  bool Verificar_Telefono(string); //verifica si el telefono es correcto  bool Verificar_Correo(string); //verifica si el correo es correcto  void EscribirParticipante(const CParticipante&);  int Menu();  #endif  void CParticipante::GetParticipante(char** nom, char** apell, string sex, char** lugar, char** pais, char** doc, char** tel, char** correo) const {     //Asignar memoria a los datos a retornar     *nom = new char[nombre.length() + 1];     *apell = new char[apellido.length() + 1];     *lugar = new char[lugar_nacimiento.length() + 1];     *pais = new char[pais_residencia.length() + 1];     *doc = new char[doc_identidad.length() + 1];     *correo = new char[e_mail.length() + 1];     *tel = new char[telefono.length() + 1];      //Copiar los valores de los datos miembros del objeto a las variables a retornar      strcpy(*nom, nombre);      strcpy(*apell, apellido);      sex = sexo;      strcpy(*lugar, lugar_nacimiento);      strcpy(*pais, pais_residencia);      strcpy(*doc, doc_identidad);      strcpy(*tel, telefono);      strcpy(*correo, e_mail); } 

Swing-Component en JTable, por algun motivo desaparece con doble click.Por favor ayudenme a renderizar esta tabla

public class TablaVenderProducto extends JTable {

private Class[] columnTypes = new Class[] { String.class, Object.class, Double.class, Double.class, java.lang.Object.class }; private boolean[] columnEditables = new boolean[] { true, true, true, true, true };   private JTextField nombreProducto=new JTextField(); private JSpinner cantidadAV=new JSpinner(); private JButton delete=new JButton("x"); private Object[] fila=new Object[]{ nombreProducto, cantidadAV, null, null, delete };  private DefaultTableModel model=new DefaultTableModel(new Object[][] {      { nombreProducto, cantidadAV, null, null, delete },     },         new String[] { "Producto", "No a Vender", "Precio U", "Total", "" }) {      public Class getColumnClass(int columnIndex) {         return columnTypes[columnIndex];     }      public boolean isCellEditable(int row, int column) {         return columnEditables[column];     } };  public TablaVenderProducto() {     // TODO Auto-generated constructor stub      setRowSelectionAllowed(false);     setModel(model);      setDefaultRenderer(Object.class,new Render());     getColumnModel().getColumn(0).setPreferredWidth(213);     getColumnModel().getColumn(1).setPreferredWidth(52);     getColumnModel().getColumn(2).setPreferredWidth(50);     getColumnModel().getColumn(3).setPreferredWidth(50);     getColumnModel().getColumn(4).setPreferredWidth(20);  } 

class Render extends DefaultTableCellRenderer{

@Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,         boolean hasFocus, int row, int column) {      if (value instanceof JTextField) {         JTextField tField = (JTextField) value;         return tField;     }     if (value instanceof JButton) {         JButton btn = (JButton) value;         return btn;     }     if (value instanceof JSpinner) {         JSpinner spin = (JSpinner) value;         return spin;     }      return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); 

}