elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
Páginas: [1] 2 3 4
1  Programación / Desarrollo Web / [Ayuda] La mejor manera de encarar este sistema sin riesgo de BAN en: 1 Julio 2021, 22:45 pm
Buenas estoy haciendo un sistema en el cual necesito consumir la API de Binance atravez PHP.

El sistema va a ser usado por varias personas y el problema es que Binance tiene un limite de peticiones hechas atreves de una misma IP. Por lo que se me ocurrió hacer que esas consultas a la API de Binance, se hagan del lado del cliente y no del servidor.

Se hace toda la lógica previamente desde PHP y el cliente solo hara las peticiones correspondientes a Binance desde el navegador.

Pero surge otro problema que no se como resolverlo, en el cual es que a la hora de mandar las consultas al cliente desde el servidor, este recibirá también las Api Key y Secrey Key de Binance, por lo que podrá cambiarlas y así burlar la seguridad del sistema del lado del cliente.

Hay alguna forma de que esto se pueda evitar?

Lo único que se me ocurrió es hacerlo desde el lado del servidor, pero con ese problema de que todas las peticiones se hacen de una misma IP y con el riesgo de que la puedan banear.


Ahora me pregunto, como hacen todas esas Apps, para manejar miles y miles de usuarios simultáneos desde un mismo servidor, sin riesgo de ban?

Por ejemplo:
cryptohopper
bitsgap

Otra forma que se me ocurrió es cifrar las info que va a ser consumida desde el cliente. Pero lo descarte por que la desencriptación debe hacerse del lado del cliente de todas formas y en algún lugar debo guardar la llave. Cosa que alguien fácilmente puede ver el script generado de JS y obtener la llave.

Gracias desde ya.
2  Seguridad Informática / Hacking Wireless / ¿Cómo acceder a mi router sin contraseña? en: 21 Octubre 2020, 01:38 am
Buenas, tengo un router TP-LINK y lo que quiero lograr es que mi PC se conecte al mismo, así cambie la contraseña nuevamente.

Intente agregando mi dirección Mac al router y funciona. Pero el problema viene cuando cambio la contraseña, me tengo que volver a autenticar en el router.

En simples palabras lo que quiero lograr es, que nunca me pida contraseña para conectarme a mi router, así la cambie mil veces.

Hay alguna forma de configurar esto en un router TP-LINK?

gracias desde ya.
3  Programación / Java / [Ayuda]Problema al querer leer JSON hecho PHP desde Java en: 19 Octubre 2018, 02:37 am
Hola buenas, estoy intentando obtener un JSON desde PHP, que me devuelve el resultado de una consulta (SELECT) de una base de datos.

Estoy usando GSON, para convertir el JSON obtenido a un objeto en Java.

Mi problema esta en que no me deja crear los objeto y me devuelve un Excepción.
Nose si lo que me devuelve PHP me devuelve en un formato correcto para poder ser interpretado en GSON.

Lo que si al momento de ver el JSON en consola para ver lo que me devuelve, me pone una especie de punto al inicio y otro al final, cosa que si se los saco anda perfectamente, pero me gustaría saber cual puede ser el error y que puedo estar haciendo mal.

MI PHP es el siguiente:
Código
  1. <?php
  2. $servidor="localhost";
  3. $nombre_bd="test2";
  4. $username="root";
  5. $password="";
  6.  
  7. $conexion = mysql_connect($servidor, $username, $password) or die ("No se ha podido conectar al servidor de Base de datos");
  8.  
  9.  
  10. mysql_select_db($nombre_bd, $conexion) or die ("xD");
  11.  
  12. $sql = "SELECT * FROM usuario";
  13.  
  14. $result = mysql_query($sql, $conexion);
  15.  
  16. $array = array();
  17.  
  18. $i = 0;
  19.  
  20. while($row = mysql_fetch_array($result)) {
  21.  $array[$i] = $row;
  22.  $i ++;
  23. }
  24.  
  25. $json = json_encode($array, JSON_FORCE_OBJECT);
  26. echo $json;
  27. ?>&#65279;
  28.  

El Java de donde hago la petición:
Código
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package prueba.comsumir.webservice;
  7.  
  8. import com.google.gson.Gson;
  9. import java.io.BufferedReader;
  10. import java.io.IOException;
  11. import java.io.InputStreamReader;
  12. import java.net.URL;
  13. import java.net.URLConnection;
  14.  
  15. /**
  16.  *
  17.  * @author Pablo
  18.  */
  19. public class PruebaComsumirWebservice {
  20.  
  21.    /**
  22.      * @param args the command line arguments
  23.      */
  24.    public static void main(String[] args) {
  25.        Usuario usuario = new Usuario(1, "User1", "123");
  26.        System.out.println(usuario.toString());
  27.        URL url;
  28.        try {
  29.            // Creando un objeto URL
  30.            url = new URL("http://localhost:8080/Sitio%201/code.php");
  31.  
  32.            // Realizando la petición GET
  33.            URLConnection con = url.openConnection();
  34.  
  35.            // Leyendo el resultado
  36.            BufferedReader in = new BufferedReader(new InputStreamReader(
  37.                    con.getInputStream()));
  38.  
  39.            String linea;
  40.            String json = "";
  41.            while ((linea = in.readLine()) != null) {
  42.                System.out.println(linea);
  43.                json += linea;
  44.            }
  45.            //{"id":1,"usuario":"usuario1","contrasenia":"asd"}
  46.            Usuario usuario1 = new Gson().fromJson(json, Usuario.class);
  47.            System.out.println(usuario.getUsuario());
  48.  
  49.        } catch (IOException e) {
  50.            System.out.println(e.getMessage());
  51.        }
  52.    }
  53.  
  54.  

Y la clase Usuario:
Código
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package prueba.comsumir.webservice;
  7.  
  8. /**
  9.  *
  10.  * @author Pablo
  11.  */
  12. public class Usuario {
  13.    private int id;
  14.    private String usuario;
  15.    private String contrasenia;
  16.  
  17.    public Usuario(int id, String usuario, String contrasenia) {
  18.        this.id = id;
  19.        this.usuario = usuario;
  20.        this.contrasenia = contrasenia;
  21.    }
  22.  
  23.    public int getId() {
  24.        return id;
  25.    }
  26.  
  27.    public void setId(int id) {
  28.        this.id = id;
  29.    }
  30.  
  31.    public String getUsuario() {
  32.        return usuario;
  33.    }
  34.  
  35.    public void setUsuario(String usuario) {
  36.        this.usuario = usuario;
  37.    }
  38.  
  39.    public String getContrasenia() {
  40.        return contrasenia;
  41.    }
  42.  
  43.    public void setContrasenia(String contrasenia) {
  44.        this.contrasenia = contrasenia;
  45.    }
  46.  
  47.    @Override
  48.    public String toString() {
  49.        return String.format("id:%s, usuario:%s, contrasenia:%s", id, usuario, contrasenia);
  50.    }
  51. }
  52.  
  53.  

Cuando ejecuto el código desde Netbeans, me devuelve el siguiente JSON: y me da la siguiente Excepción:

{"0":{"0":"1","id":"1","1":"user1","usuario":"user1","2":"asd","contrasenia":"asd"},"1":{"0":"2","id":"2","1":"user2","usuario":"user2","2":"dsa","contrasenia":"dsa"}}
Exception in thread "main" com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 169 path $
   at com.google.gson.Gson.assertFullConsumption(Gson.java:855)
   at com.google.gson.Gson.fromJson(Gson.java:845)
   at com.google.gson.Gson.fromJson(Gson.java:793)
   at com.google.gson.Gson.fromJson(Gson.java:765)
   at prueba.comsumir.webservice.PruebaComsumirWebservice.main(PruebaComsumirWebservice.java:48)
Caused by: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 169 path $
   at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1567)
   at com.google.gson.stream.JsonReader.checkLenient(JsonReader.java:1416)
   at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:546)
   at com.google.gson.stream.JsonReader.peek(JsonReader.java:429)
   at com.google.gson.Gson.assertFullConsumption(Gson.java:851)
   ... 4 more
C:\Users\Pablo\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 1 second)


Un saludo y gracias desde ya.
4  Programación / Programación General / [Ayuda] Por que no anda esta función en Haskell en: 12 Marzo 2018, 17:29 pm
Hola buenos llevo rato haciendo un ejercicio de Haskell que no puedo lograr hacerlo.
En si el ejercicio creo que esta perfecto, pero Haskell no me lo toma y me da error.

Esto es lo que llevo:
Código
  1. pesoLiviano altura = max(0, (altura*100)-300)
  2. pesoPesado altura = min(300, altura*100)
  3.  
  4. pesoPino altura  = (pesoPesado altura + pesoLiviano altura) * 3
  5.  
  6. esPesoUtil peso = peso >= 400 && peso <= 1000
  7.  
  8. sirvePino  = esPesoUtil.pesoPino
  9.  

La lógica del codigo se que esta bien, en otros lenguajes lo hice bien, pero acá parece un error de sintaxis o algo asi:

Código:
pesoPino altura  = (pesoPesado altura + pesoLiviano altura) * 3

El error creo que esta cuando llamo al mismo parametro dentro de la funcion 2 veces, nose si sea eso:



Y este es el erro que me da:

Código:
Non type-variable argument
      in the constraint: Num ((t, t) -> (t, t))
    (Use FlexibleContexts to permit this)
    When checking that ‘pesoPino’ has the inferred type
      pesoPino :: forall t t1.
                  (Num t, Num t1, Num ((t, t1) -> (t, t1)), Ord t, Ord t1) =>
                  t1 -> (t, t1) -> (t, t1)
5  Programación / Java / [Ayuda]ListView no responde no detecta pulsaciones en: 10 Marzo 2017, 23:38 pm
Hola a todos tengo un problema con mi app, resulta que tengo 1 DrawerLayout con 1 listView lateral, que tiene 3 opciones, cada una al hacerle un click me carga un Fragment diferente en la pantalla central de mi Activity ocupando todo el espacio disponible.

El problema es que cuando cargo un fragment por primera vez, sea cual sea(Pulsando en el listView lateral), lo hace perfecto, pero luego al intentar cargar otro Fragment por segunda vez no puedo hacerlo, ya que el listView al darle click a otra opción este se vuelve a ocultar, y no puedo hacer el click para mostrar mi otro Fragment  :-\

Este es mi código del MainActivity:

Código
  1. package com.funcioneslineales2.funcioneslineales2;
  2.  
  3. import android.app.FragmentManager;
  4. import android.support.v4.app.FragmentActivity;
  5. import android.support.v4.app.FragmentTransaction;
  6. import android.support.v4.view.GravityCompat;
  7. import android.support.v4.widget.DrawerLayout;
  8. import android.support.v7.app.AlertDialog;
  9. import android.support.v7.app.AppCompatActivity;
  10. import android.os.Bundle;
  11. import android.view.View;
  12. import android.widget.AdapterView;
  13. import android.widget.ArrayAdapter;
  14. import android.widget.ListView;
  15. import android.widget.Toast;
  16.  
  17. public class MainActivity extends AppCompatActivity {
  18.  
  19.    ListView listView;
  20.  
  21.    @Override
  22.    protected void onCreate(Bundle savedInstanceState) {
  23.        super.onCreate(savedInstanceState);
  24.        setContentView(R.layout.activity_main);
  25.  
  26.  
  27.        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.asd);
  28.        drawer.closeDrawer(GravityCompat.START);
  29.        String[] opciones = {"Pendiente y ordenada", "Ecuación punto pendiente", "Pasa por (x1,y1) y (x2,y2)"};
  30.  
  31.        listView = (ListView) findViewById(R.id.listView);
  32.        ArrayAdapter<String> adapterListView = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, opciones);
  33.        listView.setAdapter(adapterListView);
  34.        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  35.            @Override
  36.            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  37.                if(position == 0) {
  38.                    setFragment(0);
  39.                }
  40.                if(position == 1) {
  41.                    setFragment(1);
  42.                }
  43.                if(position == 2) {
  44.                    setFragment(1);
  45.                }
  46.            }
  47.        });
  48.  
  49.    }
  50.  
  51.    public void setFragment(int position) {
  52.        android.support.v4.app.FragmentManager fragmentManager;
  53.        FragmentTransaction fragmentTransaction;
  54.        switch (position) {
  55.            case 0:
  56.                fragmentManager = getSupportFragmentManager();
  57.                fragmentTransaction = fragmentManager.beginTransaction();
  58.                FuncionLinealPendienteOrdenada funcionLinealPendienteOrdenada = new FuncionLinealPendienteOrdenada();
  59.                fragmentTransaction.replace(R.id.asd, funcionLinealPendienteOrdenada);
  60.                fragmentTransaction.commit();
  61.                break;
  62.            case 1:
  63.                fragmentManager = getSupportFragmentManager();
  64.                fragmentTransaction = fragmentManager.beginTransaction();
  65.                FuncionLinealPendiente1Punto funcionLinealPendiente1Punto = new FuncionLinealPendiente1Punto();
  66.                fragmentTransaction.replace(R.id.asd, funcionLinealPendiente1Punto);
  67.                fragmentTransaction.commit();
  68.                break;
  69.        }
  70.    }
  71. }
  72.  
  73.  

Y este es el Layout del MainActivity:

Código
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.    xmlns:tools="http://schemas.android.com/tools"
  4.    android:layout_width="match_parent"
  5.    android:layout_height="match_parent"
  6.    tools:context="com.funcioneslineales2.funcioneslineales2.MainActivity"
  7.    android:id="@+id/asd">
  8.  
  9.    <include
  10.        android:layout_width="wrap_content"
  11.        android:layout_height="wrap_content"
  12.        layout="@layout/drawer_layout"
  13.        android:layout_gravity="start"/>
  14. </android.support.v4.widget.DrawerLayout>
  15.  
  16.  

Layout cabezera:

Código
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.    android:orientation="vertical" android:layout_width="match_parent"
  4.    android:layout_height="wrap_content"
  5.    android:background="#92ea17">
  6.  
  7.    <ImageView
  8.        android:layout_width="wrap_content"
  9.        android:layout_height="wrap_content"
  10.        android:id="@+id/imageView"
  11.        android:layout_alignParentTop="true"
  12.        android:layout_alignParentLeft="true"
  13.        android:layout_alignParentStart="true"
  14.        android:src="@android:drawable/sym_def_app_icon"
  15.        android:padding="20dp"/>
  16.  
  17.    <TextView
  18.        android:layout_width="wrap_content"
  19.        android:layout_height="wrap_content"
  20.        android:textAppearance="?android:attr/textAppearanceLarge"
  21.        android:text="Funciones lineales"
  22.        android:id="@+id/textView"
  23.        android:layout_centerVertical="true"
  24.        android:layout_toRightOf="@+id/imageView"
  25.        android:layout_toEndOf="@+id/imageView"
  26.        android:textStyle="bold"
  27.        android:layout_marginLeft="10dp" />
  28. </RelativeLayout>
  29.  

Layout del ListView:

Código
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.    android:orientation="vertical" android:layout_width="match_parent"
  4.    android:layout_height="match_parent">
  5.  
  6.    <ListView
  7.        android:layout_width="wrap_content"
  8.        android:layout_height="match_parent"
  9.        android:id="@+id/listView"
  10.        android:layout_alignParentTop="true"
  11.        android:layout_alignParentLeft="true"
  12.        android:layout_alignParentStart="true" />
  13. </RelativeLayout>
  14.  

Y el layout DrawerLayout(Donde uno la cabezera y el listview):

Código
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.    android:orientation="vertical" android:layout_width="match_parent"
  4.    android:layout_height="match_parent"
  5.    android:background="#cfc4c4">
  6.  
  7.    <include
  8.        android:layout_width="match_parent"
  9.        android:layout_height="wrap_content"
  10.        layout="@layout/cabezera"
  11.        android:layout_alignParentTop="true"
  12.        android:layout_alignParentLeft="true"
  13.        android:layout_alignParentStart="true"
  14.        android:id="@+id/include" />
  15.  
  16.    <include
  17.        android:layout_width="wrap_content"
  18.        android:layout_height="wrap_content"
  19.        layout="@layout/lista_drawer"
  20.        android:layout_below="@+id/include"
  21.        android:layout_alignParentLeft="true"
  22.        android:layout_alignParentStart="true" />
  23. </RelativeLayout>
  24.  

Y las clases de los fragments:

Código
  1. import android.os.Bundle;
  2. import android.support.v4.app.Fragment;
  3. import android.support.v7.app.AlertDialog;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.Button;
  8. import android.widget.EditText;
  9.  
  10. import java.util.zip.Inflater;
  11.  
  12.  
  13. /**
  14.  * A simple {@link Fragment} subclass.
  15.  */
  16. public class FuncionLinealPendienteOrdenada extends Fragment {
  17.  
  18.  
  19.    EditText etPendiente, etOrdenadaAlOrigen;
  20.    Button btnCalcular;
  21.    public FuncionLinealPendienteOrdenada() {
  22.        // Required empty public constructor
  23.    }
  24.  
  25.  
  26.    @Override
  27.    public View onCreateView(LayoutInflater inflater, ViewGroup container,
  28.                             Bundle savedInstanceState) {
  29.        // Inflate the layout for this fragment
  30.  
  31.        View view = inflater.inflate(R.layout.fragment_funcion_lineal_pendiente_ordenada, container, false);
  32.        etPendiente = (EditText)view.findViewById(R.id.editText);
  33.        etOrdenadaAlOrigen = (EditText)view.findViewById(R.id.editText2);
  34.        btnCalcular = (Button)view.findViewById(R.id.button);
  35.        btnCalcular.setOnClickListener(new View.OnClickListener() {
  36.            @Override
  37.            public void onClick(View view) {
  38.                calcularPuntos();
  39.            }
  40.        });
  41.  
  42.        return view;
  43.    }
  44.  
  45.    public void calcularPuntos() {
  46.        AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
  47.        builder.setTitle("Resultado");
  48.        builder.setMessage(new FuncionLineal().calcularPuntos2(Double.parseDouble(etPendiente.getText().toString()), Double.parseDouble(etOrdenadaAlOrigen.getText().toString())));
  49.        builder.setPositiveButton("OK",null);
  50.        builder.create();
  51.        builder.show();
  52.    }
  53.  
  54. }
  55.  
  56.  


Código
  1. import android.os.Bundle;
  2. import android.support.v4.app.Fragment;
  3. import android.support.v7.app.AlertDialog;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.Button;
  8. import android.widget.EditText;
  9.  
  10.  
  11. /**
  12.  * A simple {@link Fragment} subclass.
  13.  */
  14. public class FuncionLinealPendiente1Punto extends Fragment {
  15.  
  16.    EditText etPendiente, x1, y1;
  17.    Button btnCalcular;
  18.    public FuncionLinealPendiente1Punto() {
  19.        // Required empty public constructor
  20.    }
  21.  
  22.  
  23.    @Override
  24.    public View onCreateView(LayoutInflater inflater, ViewGroup container,
  25.                             Bundle savedInstanceState) {
  26.        // Inflate the layout for this fragment
  27.        View view = inflater.inflate(R.layout.fragment_funcion_lineal_pendiente1_punto, container, false);
  28.        etPendiente = (EditText)view.findViewById(R.id.editText3);
  29.        x1 = (EditText)view.findViewById(R.id.editText4);
  30.        y1 = (EditText)view.findViewById(R.id.editText5);
  31.        btnCalcular = (Button)view.findViewById(R.id.button2);
  32.        btnCalcular.setOnClickListener(new View.OnClickListener() {
  33.            @Override
  34.            public void onClick(View view) {
  35.                calcularPuntos();
  36.            }
  37.        });
  38.  
  39.        return view;
  40.    }
  41.  
  42.    public void calcularPuntos() {
  43.        AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
  44.        builder.setTitle("Resultado");
  45.        builder.setMessage(new FuncionLineal().calcularPuntosSinOrdenada(Double.parseDouble(etPendiente.getText().toString()), Double.parseDouble(x1.getText().toString()), Double.parseDouble(y1.getText().toString())));
  46.        builder.setPositiveButton("OK",null);
  47.        builder.create();
  48.        builder.show();
  49.    }
  50.  
  51. }
  52.  
  53.  

Gracias de antemano.
6  Programación / Desarrollo Web / ¿Como pasar parámetros de "JS" al "action" de la etiqueta form? en: 24 Enero 2017, 03:53 am
Hola a todos, ¿como puedo pasar parametros de una funcion javascript al parametro "action" la etiqueta form de la siguiente linea de código?:

Código
  1. <form method="POST" action="javascript:editarPost();">
  2.  
  3. </form>
  4.  

Ya intente de estas formas:
Código
  1. <form method="POST" action="javascript:editarPost();">
  2.  
  3. </form>
  4.  

Código
  1. <form method="POST" action="editarPost();">
  2.  
  3. </form>
  4.  

Código
  1. <form method="POST" action="editarPost()">
  2.  
  3. </form>
  4.  

Pero ninguna me sirve, el codigo javascript es el siguiente, el cual funciona perfectamente, ya lo he probado:

Código
  1. <script type="text/javascript">
  2.  
  3. function editarPost() {
  4. tituloPost = "<?php echo $_GET['titulo']; ?>";
  5.  
  6. palabras = tituloPost.split(" ");
  7. cadenaLista = "";
  8. for (var i = 0; i < palabras.length; i++) {
  9. cadenaLista += palabras[i]+"%20";
  10. }
  11. pagina = "editarPost.php?titulo="+cadenaLista;
  12. return pagina;
  13. }
  14.  
  15. </script>
  16.  
Este código js esta al principio de las etiquetas body.

Esto me funciona perfecto con el onClick, pero con el action no me sirve, y si o si lo necesito con ese parámetro, con el onClick no me sirve, alguna sugerencia?
7  Programación / Java / Como hacer que mi programa aparezca en la lista de programas de Windows en: 18 Octubre 2016, 17:03 pm
Hola gente, tengo una duda, ¿Cómo puedo hacer para que mi programa echo en Java, salga en la lista de programas instalados en Windows?

Alguna clase que me permita hacer esto?

Gracias desde ya.
8  Programación / Java / Hay forma de comprobar la pulsación de teclas en un determinado momento? en: 19 Julio 2016, 23:24 pm
En otros lenguajes de programación se puede hacer.

Por ejemplo, así se vería en Unity(C#):

while(true) {
     if (Input.GetKeyDown(KeyCode.W)){x+=1}
}

Un ciclo que se ejecuta a velocidad de maquina y en cada ejecución la función se fija si tal tecla esta presionada o no, esto me vendría de perlas para un juego que haga una comprobación cada frame antes de hacer algo, y no estar usando el KeyListener de Java, ya que se ejecuta a otros velocidades, y me hace desastres dentro del juego.
Habra alguna forma de regular la velocidad de chequeo de teclas o alguna función para saber si hay alguna tecla presionada o no?

Muchas gracias desde ya.



RESUMIENDO:
QUIERO LOGRAR HACER ALGO COMO ESTO:
Código
  1. if(keypressed("W") == true){
  2.      //CODE
  3. }

Sin tener que usar el KeyListener.
9  Programación / Programación C/C++ / Pequeña duda sobre punteros en: 13 Diciembre 2015, 19:37 pm
Se que si yo hago esto:
Código
  1. char *cadena = "Hola";
Se reserva una determinada cantidad de bytes en alguna parte de la memoria, en este caso, 4 bytes, por que son 4 caracteres.

Pero si ahora yo hago esto:
Código
  1. char *cadena = "Sol";
Se reservara 3 bytes mas para esta cadena, y acá mi pregunta:
¿Que pasa con los otros 4 bytes que reserve para la cadena "Hola", se reemplaza por estos?
Supongamos que se reemplaza, entonces, quedaría un byte libre, con la letra "a", ¿como haría para liberar ese espacio inútil? Ya que esta cadena solo ocupa 3 letras y sobraría 1, que había reservado anteriormente.
Espero me haya dado a explicar.

Mil gracias y espero me disculpen por molestar tanto, estoy estudiando C++ y me surgieron un montón de dudas y no las encontré en la web  :-\
10  Programación / Programación C/C++ / ¿Como cambiar un puntero de caracteres desde otra función? en: 12 Diciembre 2015, 15:39 pm
Quiero conseguir cambiar el valor de un puntero de char mediante una función, pasandole por parámetro un puntero, pero no funciona, la función no me cambia el valor.


Esto es lo que tengo echo:
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void hacerIgualAChauMundo(char *cadena) {
  6.    cadena = "Chau mundo";
  7. }
  8.  
  9. int main() {
  10.    char *cadena = "Hola mundo";
  11.  
  12.    hacerIgualAChauMundo(cadena);
  13.  
  14.    cout << cadena << endl;
  15.  
  16.    return 0;
  17. }
  18.  

Agradecería si me echan una mano.
Páginas: [1] 2 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines