java – Como faço para adicionar dinamicamente população e cidade em um MAP e depois resgatar a população pelo nome da cidade?

O usuário informa a cidade e a população que serão salvos em um Map<String,Integer>, em seguida obtém a população informando a cidade.

public class Question3 {

    public static void main(String() args) {

        
        List<Cidades> listCidades = new ArrayList<Cidades>();
        
        Map<String, List<Cidades>> mapcidades = new HashMap<String, List<Cidades>>();
        
        int escolha = JOptionPane.showConfirmDialog(null,"Deseja cadastrar cidade e população");
        
        if (escolha == 0) { 
            
            String cidade = JOptionPane.showInputDialog("Qual cidade");
            String populacao = JOptionPane.showInputDialog("Qual populaçao");
            
            listCidades.add(cidade);
            mapcidades.put(populacao, listCidades );
            
        }

        
        for (Cidades cidades2 : listCidades) {
            mapcidades.get(mapcidades);
        }

    }
}

¿Cómo contar registros duplicados y, al mismo tiempo, poder imprimir otros datos en PHP y MYSQL?

Tengo el siguiente registro en mi tabla logtrama:

id_logtrama    fechaHora    idCliente    idEquipo
    1          2021-04-18       20          8
    2          2021-04-18       20          8
    3          2021-04-18       20          8
    4          2021-04-18       20          1
    5          2021-04-18       4           4

Y, en mi tabla equipo lo siguiente:

idEquipo    idCliente     tipo
    1          20        Alarm1
    2          1         Alarm2
    3          2         Alarm3
    8          20        Alarm4

Ahora, a través de mi consulta, imprimo resultados que coinciden con las condiciones dadas y, sin repetidos:

$stmt = $con->prepare("SELECT l.id_logtrama,
                                    l.fechaHora,
                                    l.idCliente,
                                    l.idEquipo,
                                    l.statusGlobal
                                FROM logtrama l
                                JOIN equipo e
                                    ON l.idEquipo=e.idEquipo
                                    AND l.idCliente=e.idCliente
                                JOIN
                                    (SELECT MAX(t.id_logtrama) id_logtrama,
                                        COUNT(*) totals
                                    FROM logtrama t
                                    JOIN equipo e
                                        ON e.idEquipo = t.idEquipo
                                        AND e.idCliente = t.idCliente
                                    GROUP BY t.idcliente, t.idequipo) c
                                    ON c.id_logtrama = l.id_logtrama
                                WHERE DATE(fechaHora)=?");
$stmt->bind_param("s", $date_day);

En otras palabras, ya no me imprimirá los duplicados:

    1          2021-04-18       20          8
    2          2021-04-18       20          8
    3          2021-04-18       20          8
    4          2021-04-18       20          1

obtendré el siguiente resultado:

    3          2021-04-18       20          8
    4          2021-04-18       20          1

Ya en PHP sería:

    while ($stmt->fetch()) {
        echo 'ID logtrama: '.$id_logtrama.' Fecha: '.$fechaHora.' ID cliente: '.$pag_idCliente.' ID equipo: '.$pag_idEquipo.'';
    }

Salida:

ID logtrama: 3 Fecha: 2021-04-18 ID cliente: 20 ID equipo: 8
ID logtrama: 4 Fecha: 2021-04-18 ID cliente: 20 ID equipo: 1 

Hasta ahora todo bien, pero necesito también poder imprimir los repetidos, por ejemplo:

    1          2021-04-18       20          8
    2          2021-04-18       20          8
    3          2021-04-18       20          8
    4          2021-04-18       20          1

Se puede ver 1, 2, 3 tienen datos repetidos, entonces como puedo tener la siguiente salida de datos:

ID logtrama: 3 Fecha: 2021-04-18 ID cliente: 20 ID equipo: 8 Total de registro repetidos: (3)
ID logtrama: 4 Fecha: 2021-04-18 ID cliente: 20 ID equipo: 1 Total de registro repetidos: (1)



ID logtrama: 3 Fecha: 2021-04-18 ID cliente: 20 ID equipo: 8 

En la misma consulta que condiciones debo emplear para poder imprimir lo que deseo lograr.

Como faço para adicionar um evento a uma tecla física no android?

Por exemplo, quando declaro um botão no arquivo xml, posso usar o método onClick para acionar o seu comportamento. Mas como fazer isso através de uma tecla física? Quando eu clicar no botão voltar, ou volume, por exemplo.

java – Como inserir Spinner em bottomsheet?

Estou fazendo um código em Java para android para colocar um Spinner no bottom sheet, mas por algum motivo ele não funciona

private BottomSheetDialog bottomSheet
            bottomSheetDialog = new BottomSheetDialog(SelectAccountActivity.this,R.style.BottomSheetBank);
            View sheetView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.bottom_sheet_layout,
                    findViewById(R.id.bank_sheet));
            bottomSheetDialog.setContentView(sheetView);

            View spinnerView = getLayoutInflater().inflate(R.layout.bottom_sheet_layout, null);
            Spinner spinner = (Spinner) spinnerView.findViewById(R.id.spinnerBank);
            ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                    R.array.type_account, android.R.layout.simple_spinner_item);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(adapter);
            bottomSheetDialog.show();
      ```
   

javascript – ¿Cómo resaltar un texto en concreto dentro de un TextArea?

Tengo un formulario con un textArea en el que tengo pensado que la gente pueda nombrar a otras personas mediante un @, entonces había pensado en hacer una validación del texto conforme se va escribiendo en el textArea, de tal forma que cuando un usuario escriba el @, el método de validación lo detecte y lo pinte de un color en concreto.

Lo que he probado es mediante una expresión regular, ese texto cumpla las condiciones para ser remarcado, y modifico el la palabra poniéndole una etiqueta con la clase que me interesa.

El método es el siguiente:

commentToSendFormatter(comment: string): string{
      let words = comment.split(" ");
      let finalString = "";
      words.forEach(word => {
        if (word.charAt(0) === "@" && word.length > 1) {
          let match = word.match(keys.ctrl_instagram_pattern);
          let lastCharacters = word.replace(match!(0), "").replace("@", "");
          finalString += `<p class="txt-red">@${match!(0)}</p>${lastCharacters} `
        } else {
          finalString += word;
        }
      });
      comment = finalString;
    return comment;
  }

Después, le quiero dar al text area el valor de ese comentario final, pero si por ejemplo pongo Hola @Maricarmen, lo que me sale en el textArea es Hola <p class="txt-red">Maricarmen</p>.

He probado a usar lo siguiente:

$("#comment").val(--texto modificado--)

Y el resultado es el anteriormente mencionado. También he probado a usar:

$("#comment").html(--texto modificado--)

Dado que le estoy insertando un texto con etiquetas de HTML, pero no funciona.

¿Cómo puedo lograr esto?

javascript – Como colocar bordes a una fila secundaria en Datatables

Estoy haciendo uso de la librería de JQuery Datatables y con ella estoy construyendo unas filas secundarias en la que deseo mostrar información cargada desde un procedimiento almacenado por medio de una llamada a AJAX, el problema que estoy presentando es que las filas secundarias o filas hijas (child row) según la documentación oficial de Datatables así la llaman, es que en ellas no se ven los bordes como se ven en la fila padre (parent row), el siguiente es un ejemplo de como se ve la fila padre a comparación de la fila hija:

introducir la descripción de la imagen aquí

Si se fija la fila padre contiene sus respectivos bordes, pero la fila hija no los contiene.

El codigo con el cual construyo mi tabla es el siguiente:

Index.php

<!doctype html>
<html lang="es">

<head>
    <title></title>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">    
    <link rel="stylesheet" href="libraries/css/estilos.css" type="text/css">
    <link rel="stylesheet" type="text/css" href="libraries/datatables/dataTables.bootstrap.min.css">
    <script src="https://es.stackoverflow.com/libraries/js/jquery-1.12.3.min.js"></script>
    <script src="libraries/datatables/jquery.dataTables.min.js"></script>
    <script src="libraries/datatables/dataTables.bootstrap.min.js"></script>
    <script src="Javascript.js"></script>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>  
    <link href="https://cdn.datatables.net/1.10.24/css/jquery.dataTables.min.css" rel="stylesheet"/>    
   <link href="https://cdn.datatables.net/1.10.24/css/dataTables.bootstrap.min.css" rel="stylesheet"/>
   <link href="https://cdn.datatables.net/fixedheader/3.1.8/css/fixedHeader.bootstrap.min.css" rel="stylesheet"/>
     <script src="https://cdn.datatables.net/1.10.24/js/jquery.dataTables.min.js"></script>
     <script src= "https://cdn.datatables.net/1.10.24/js/dataTables.bootstrap.min.js"></script> 
   <script src="https://cdn.datatables.net/responsive/2.2.7/js/dataTables.responsive.min.js"></script>
   <script src="https://cdn.datatables.net/fixedheader/3.1.8/js/dataTables.fixedHeader.min.js"></script>

    <script src="https://cdn.datatables.net/plug-ins/1.10.7/integration/bootstrap/3/dataTables.bootstrap.js"></script>
    
    <link rel="icon" type="image/png" href="libraries/img/icon.png" />
</head>

<body>
    <div class="cuerpo">
        <div class="dividir menu">
            <div class="centrar-vertical">
                <img src="libraries/img/logo.jpg" width="200" height="40" alt="Test" class="img-responsive">
            </div>
            <div class="alinear-derecha centrar-vertical">              
                <button id="logout-btn" class="btn btn-default">Cerrar Sesión</button>
            </div>
        </div>
        <div id="tablaDatatable">  
        <table id="example" class="table table-striped table-bordered dt-responsive nowrap" cellspacing="0" width="100%">
            <thead>
                <tr>  
                    <th></th>                
                    <th>Orden de compra</th>
                    <th>Fecha de Orden de Compra</th>
                    <th>TipoMoneda</th>
                    <th>Estado</th>      
                </tr>              
            </thead>
        </table>        
        </div>
    </div>
    
</body>
</html>

El siguiente es la funcion Javascript con el cual creo mi fila secundaria y la llamada a AJAX para cargar los datos:

Javascript.js

/* Formatting function for row details - modify as you need */
function format(d) {
    // `d` is the original data object for the row
    console.log(d);
    
    return '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px">' +
        '<tr>' +      
        '<td><strong>Fecha de Recepción: </strong></td>' + '<td><strong>No. Factura:<strong></td>' +  '<td><strong>Codigo Art:<strong></td>' +  '<td><strong>Descripcion Art:</strong></td>' + 
        '<td><strong>Cant:</strong></td>' + '<td><strong>Precio:</strong></td>' + '<td><strong>IVA:</strong></td>' + '<td><strong>Lote:</strong></td>' + '<td><strong>Configuración:</strong></td>' +
        '<td><strong>Pte. de Entrega:</strong></td>' +  '<td><strong>Pedido:</strong></td>' + '<td><strong>Recibido:</strong></td>' +
        '</tr>' +
        '<tr>' +
        '<td>' + d.FechaFactura + '</td>' + '<td>' + d.Factura + '</td>' + '<td>' + d.Codigo + '</td>' +  '<td>' + d.Descripcion_Articulo + '</td>' +
        '<td>' + d.Cantidad + '</td>' + '<td>' + d.Precio + '</td>' + '<td>' + d.Iva + '</td>' + '<td>' + d.Lote + '</td>' + '<td>' + d.Configuracion + '</td>' +
        '<td>' + d.PendienteEntrega + '</td>' +  '<td>' + d.Pedido + '</td>' + '<td>' + d.Recibido + '</td>' + '<td>' + 
        '</tr>' +    
        '</table>';     
}

$(document).ready(function () {
    $('#example').dataTable( {
        responsive : true,
         ajax : {
             "type": 'POST',
             "url" : 'test.php',  
             "dataType": 'JSON',             
             "cache": false,
             "data": {
                 'param' : 1,   
               
             },
         },
         language : {
            "lengthMenu": "Mostrar _MENU_ registros",
            "zeroRecords": "No se encontró nada",
            "info": "Mostrando del _START_ al _END_ de un total de _TOTAL_",
            "infoEmpty": "No hay registros",
            "emptyTable": "No hay datos para mostrar",
            "loadingRecords": "Cargando...",
            "processing": "Procesando...",
            "search": "Buscar:",
            "infoFiltered": "(filtrado de un total de _MAX_ registros)",
            "paginate": {
                "first": "Primera",
                "last": "Última",
                "next": "Siguiente",
                "previous": "Anterior"
            }
         },    
         columns: (          
             {
                 "className":      'details-control',
                 "orderable":      false,
                 "data":           null,
                 "defaultContent": ''
             },
             { "data" : "OrdenCompra" },
             { "data" : "FechaOrdenCompra" },
             { "data" : "TipoMoneda" },
             { "data" : "Estatus" }                  
        ),
         order : ((1, 'desc'))
    } );

    
    // Add event listener for opening and closing details
    $('#example').on('click', 'td.details-control', function () {
        var tr = $(this).closest('tr');
        var row = $('#example').DataTable().row(tr);

        if (row.child.isShown()) {
            // This row is already open - close it
            row.child.hide();
            tr.removeClass('shown');
        }
        else {
            // Open this row
            row.child(format(row.data())).show();
            tr.addClass('shown');
        }
    });

});

No se si no estoy cargando correctamente las librerías adecuadas o me hace falta hacer uso de alguna clase en especifico de Datatables.

Como esconder os caracteres em uma InputBox em c#

boa tarde!

estou criando uma aplicação em C# e estou usando InputBox…
assim…

Interaction.InputBox(“Digite sua senha”, “Atenção !!!”);

ela cria uma “MessageBox” para o usuario entrar com uma senha, porém não estou conseguindo mascarar essa senha com o caractere *

estou usando “using Microsoft.VisualBasic;”

se alguém conseguir me ajudar eu agradeço!

Cómo contar las palabras que son iguales que la primera palabra en C

Necesito realizar este programa pero no consigo acabarlo.

Tengo que, dada una frase que el usuario me introduce por pantalla, contar cuántas palabras son iguales que al primera palabra (en cuanto a longitud se refiere).

Debo de utilizar strlen y strcmp.

#include<stdio.h>
#include <string.h>

void countWords(char arr());

void main() {
    char arr(300);
    countWords();   
}

void countWords(char arr()) {
    int count = 0;
        int i, j;
        
        printf("Introduce un string: n");

        for(i = 0; i < arr(i) != ''; i++) {
            scanf("%s", &arr(i));
        }

        for(j = 0; j < strlen(arr); j++) {
            if (strcmp(arr(0), arr(i)) == 0) {
                // Son iguales
                count ++;
            }
        }
        
        printf ("There are %d words that are the same as the first word: ", count);
}

¿Alguien me echa un cable? ¡Gracias de antemano y feliz sábado!

html – Como usar PHP en WordPress

me gustaría usar php en un bloque html en WordPress. En un bloque html en una pagina de wordpress, cuando se accione le botón “submit” debería llamar el archivo php, como si trabajara en un localhost, es decir, si lo ejecuto fuera del wordpress. He creado un code snippet pero no se como indicar que se ejecute al accionar el submit. Alguna idea?

Lo que he intentado es usar un action indicando el archivo php que esta en la misma ruta del wordpress, pero al enviar el formulario, deberia redireccionarme y realizar una entrada en la base de datos, pero lo que hace es mostrar un error de pagina no encontrada.