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ú

Mensajes - Kaxperday

#271
Programación C/C++ / Re: Duda acerca de macros
27 Octubre 2015, 11:50 AM
La verdad he estado un poco ocupado entre horas, pero lo que he acabado haciendo ha sido distribuir las macros entre los distintos headers para que así no haya macros en códigos que no se vayan a utilizar, lo malo que para cambiarlas tengo que ir de cabecera en cabecera.

Me he dado cuenta que extern no vale para nada:

extern int casa = 5;

Pues es lo mismo que decir

int casa = 5;

Y declararla como global en una cabecera, para usarla debes incluir su cabecera en el código, luego es lo mismo, que no poner extern, luego es useless.

Entonces las variables globales que si use en varios archivos tengo 2 opciones o copiarlas para cada header, o crear un header y añadir el header a los headers.

Ahora que lo pienso seguramente usando las directivas de preprocesador quizás podamos hacer que se añadan las que queramos dependiendo del header a las que las estemos añadiendo, es decir crear un header con variables globales compartidas:

header_global.h

Código (cpp) [Seleccionar]
#ifdef CASAS
#define  casa;
int const casita;
#else
...


Y en los headers que añadiría header_global.h, pondría #define CASAS  si quiero añadir casa y casita, y no poner nada si quiero añadir las demás por poner un ejemplo, aunque no se si valdrá para declarar variables globales en plan "const int casa", o solo macros con #define, que seguramente sea solo lo segundo, pero es algo que mejora la calidad del código en mi opinión hacerlo así.

Gracias y un saludo.
#272
Programación C/C++ / Re: Duda acerca de macros
26 Octubre 2015, 17:30 PM
En un archivo de cabecera no se deben implementar clases ni inicializar variables, solo se pueden declarar, es lo más correcto.

Partiendo de ahí, quería poner unas variables globales para todo el proyecto, las declaro en un archivo macro.h, luego voy a macro.cpp y las inicializo.

Luego si añado macro.h al main, ¿tendré el valor con las que las inicialice en macro.cpp?, esa es la pregunta.

De todas formas, me he dado cuenta de que lo estaba haciendo mal, porque había usado un archivo .h lleno de #define con cosas de configuración, lo correcto sería dividirlo para cada .h, tengo que cambiarlo.

Saludos.
#273
En los medios occidentales no hay nada que hable de esto, me pregunto si será verdad, RT parece afirmar que estados unidos destruyo la central térmica de Alepo y varios transformadores dejando sin luz a 2,5 millones de personas, en la capital del gobierno sirio de Al assad. Vergonzoso.

https://actualidad.rt.com/actualidad/189668-coalicion-eeuu-siria-medios
http://www.diario-octubre.com/?p=19802

Saludos.
#274
Programación C/C++ / Duda acerca de macros
26 Octubre 2015, 11:25 AM
Hola, tengo un archivo de cabecera donde defino numerosas macros para el proyecto, a partir de la directiva de preprocesador #define.

Pero para definir strings no puedo usar la directiva, por ello creo que es mejor usar "extern const string variable_global", pero en un archivo de cabecera no puedo inicializarla.

Entonces surge el problema.

Si la inicializo en otro archivo sea cual sea, quedará inicializada con ese  valor para todos los demás ¿no?.

Si en el main inicializo todas, o a partir de otra función, esa variable queda definida ya para todos los .cpp ¿no?

Saludos y gracias.

Edito: O poner en el archivo header las variables como:

Código (cpp) [Seleccionar]
extern const string str1;
extern const string str2;


Y en el .cpp poner:

Código (cpp) [Seleccionar]
extern const string str1 = "idudifu";
extern const string str2="difaodhfio";


Al compilar el proyecto y añadir el header en todos los .cpp estos podrán usar las macros ya inicializadas no?

Edito: O bueno siempre se puede usar la opción sencilla y mala, de declararlas directamente en el header como string o lo que sean e incluir el header para cada .cpp que lo necesite, en ese caso se compilarán para cada .cpp varias veces (supongo que #define hará lo mismo), pero sería mucho más sencillo.

He probado a declarar el extern y me ha dado 300 fallos not the way.
#275
Gracias por la respuestas.

Pero ahora la pregunta del millón, que no tiene que ver mucho con el tema pero vosotros sabréis, la idea era hacer un mitm e inyectar js que pasaran el contenido de los forms a el servidor local que hace el mitm. Perooo ¿si hay conexión https entre cliente y servidor entonces no podremos inyectar nuestro js malicioso no?, solo podremos detectar los paquetes http inyectarles el código y reenviarlos, pero si usan https todo lo que cargan incluido el html está cifrado entonces no podemos inyectar nuestro js, ¿no?.

Luego, primero habría que bypassear https si queremos inyectar js ¿no?.

Saludos y gracias.  :P :rolleyes:

Edito: PD ya decía yo que no podía ser tan fácil jajaja, vuelta al sslstrip.

Luego este vídeo es una farsa, pues solo funciona con HTTP  :-( :-( :-(, así todos sabemos XD

https://www.youtube.com/watch?v=0QT4YJn7oVI

Claro eso explicaría porque todos sus logins son de páginas HTTP  :-( :-( :-( XD
mail.com no es HTTPS  :-* :-*
#276
Ya probé a hacerlo y tampoco, por cierto gracias por el consejo de la consola, se me había pasado por alto, estaba ofuscado intentando hacerlo correr :$.

Por fin, ahora probaré lo de enviar datos, muchas gracias, y si no me vendría mal estudiar js antes de ponerme a hacer esto, pero es algo muy puntual, todavía no estoy interesado en aprenderlo :P

¿xml también necesita ser cargado como jquery?, perdonad la ignorancia en el tema XP

Saludos y gracias.

Bueno, visto que ambas funciones necesitan Jquery he encontrado esta, que no lo necesita:

Código (javascript) [Seleccionar]
function httpPost(cadena)
{
   var xmlHttp = new XMLHttpRequest();
   xmlHttp.open( "POST", "http://127.0.0.1", false );
   xmlHttp.send( cadena );
}


Me da error de que está en desuso, y fallo al cargar "http://127.0.0.1/", aunque el server está corriendo.

La adevertencia de que está en desuso usarlo asincronamente en el main, se arregla cambiando a true, el tercer parámetro del método open(), ahora simplemente me da error de "conection refused".

Saludos.

Edito: Working as charm!!

Gracias, ya editaré y explique porqué ahora funciona, lo conseguí hacer con XML, dejando de lado las funciones que pedían cargar jquery, Saludos!!

Entre otras cosas uno de mis errores fue conectar a 127.0.0.1, cuando el servidor lo tendía bindeado a la dirección local de la red.
#277

CitarPD: Los scripts siempre dejalos al final de <body> antes de </body>. Asi te aseguras que cargue toda la pagina y el DOM antes de cargar el javascript.

¿Te refieres solo a la llamada a la función declarada en el head no?

Si, es la primera ve que trabajaba con jquery y no lo sabía pero el problema va más allá de eso, por ejemplo, ¿porque no me va esto?.

Código (javascript) [Seleccionar]
<html>
<head>

<script type="text/javascript">

function hola(var hola)
{
alert(hola);
}
</script>
</head>
<body>

<h1>Hola!</h1>


<form>
   <input type="text" name="usuario" value="" />
   <button type="submit">Go</button>
</form>

<script type="text/javascript">
hola("holamudnooo");
</script>

</body>
</html>



No sale nada.
#278
Tienes razón drvy, lo acabo de cambiar y tampoco funciona :"""

Código (javascript) [Seleccionar]
<html>

<head>

<script type="text/javascript">

function sendText(var cadena)
{
alert(cadena);
var req = new XMLHttpRequest();
url = encodeURI("http://"+ "127.0.0.1" + "/cadena");
$("#selector").load(url);
}

</script>
</head>

<body>

<h1>hola!</h1>
<form>
   <input type="text" name="usuario" value="" />
   <button type="submit">Go</button>
</form>

<script type="text/javascript">
sendText("hola mundo");
</script>

</body>
</html>


No hay rastro de alert();

No será porque tengo que poner onload en el body de la función que quiero ejecutar?, porque ya no se que hacer, y no se mucho del tema de programación web, sorry XD
#279
¿Alguien me puede explicar porque esto no vaen chrome?:

Código (javascript) [Seleccionar]
<html>

<head>

<script type="text/javascript">

function hola()
{
alert("go");
}

</script>
</head>

<body>

<h1>hola!</h1>
<form>
   <input type="text" name="usuario" value="" />
   <button type="submit">Go</button>
</form>

<script type="text/javascript">
hola();
</script>

</body>
</html>


O no espera que si que va, va lo que le da la gana XD

Vale si lo anterior funciona, ¿porque esto no lo hace?

Código (javascript) [Seleccionar]
<html>

<head>

<script type="text/javascript">

function sendText(var cadena)
{
alert(cadena);
var req = new XMLHttpRequest();
url = encodeURI("http://"+ "127.0.0.1" + "/cadena);
$("#selector").load(url);
}

</script>
</head>

<body>

<h1>hola!</h1>
<form>
   <input type="text" name="usuario" value="" />
   <button type="submit">Go</button>
</form>

<script type="text/javascript">
sendText("hola mundo");
</script>

</body>
</html>


¿Porque no se ejecuta ni el alert()? :""""DD
#280
Buenas, gracias por las respuestas a ambos lo primero.

Lo estoy probando y no me llegan datos al servidor desconozco los motivos.

Tengo el servidor en C++ funcionando en la red local, he probado a conectarme con el movil y al poner la ip del ordenador en el navegador del movil el servidor del ordenador detecto la peticion HTTP del movil, luego el servidor funciona.

Pero sin embargo cuando corro el script de js para mandar datos a el servidor desde el navegador del ordenador, no llega ninguna petición HTTP, estudiaré el caso, mientras os dejo lo que tengo:

Código (javascript) [Seleccionar]

function sendReq(var cadena)
{
var req = new XMLHttpRequest();
req.
url = encodeURI("http://"+ "127.0.0.1" + "cadena);
$("#selector").load(url);
}

function sendAjax(var cadena)
{
$.ajax({
type:"GET",
url:"http://127.0.0.1/",
data:cadena,

success:function(html){
//tumetodo en caso de que sea correcto
console.log("El resultado ... " + html);
},
// no recuerdo el nombre de los parametros xD
error:function(parametro1,parametro2,parametro){
//encaso de que sea erroneo
}
});
}


Seguiré probando y estudiando estos lenguajes un poco, porque nunca los he estudiado más haya que para pruebas superficiales como esta XD.

Saludos.

Edito: Bueno me estoy poniendo un poco negro con el js, pues declaro una funcion en el head y en el body la ejecuto y pongo un alert al principio y no sale nada (no se ejecuta) luego la pego en el body la ejecuto y si funciona a veces no ojj, ahí va la cosa, no se si funciona porque no puedo ejecutar la funcion :"""D

Para que funcione tengo que ejecutar la funcion al final del body y ponerla entera no llamarla al head, sino ponerla entero en el body y llamarla tras declararla en el body en el mismo script XD