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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18
91  Programación / .NET (C#, VB.NET, ASP) / Re: Obtener un valor variante en: 23 Mayo 2014, 17:51 pm
Buenas #Aitor,

¿podrías aportar algo más de información? Entiendo que quieres generar un registro de una misma variable guardando en el mismo los valores variables que ha ido tomando dicha variable. Lo importante es el escenario presentado, como tu dices, una página web, por lo que tendrás que parsear via HTML la sección donde resida tu variable, de esta manera conseguiras obtener su contenido.

Un saludo!

Hola kub0x, gracias por responder, al principio también imagine que necesitaría sacar el código fuente y empezar a parsear, entonces cree un tema sobre como parsear en vb.net

http://foro.elhacker.net/net/parsear_codigo_html_en_vbnet-t414419.0.html

Por desgracia, desde que lo cree solo recibí esa respuesta que puedes apreciar, no encontré información en español y yo para el inglés soy un desastre.

Fue entonces cuando trabajando con WebBrowser, me fije que podía buscar parte de lo que se mostraba en la pagina y en función de si lo encontró o no realizar una acción u otra.

Código
  1. If (WebBrowser1.DocumentText.Contains("Ejemplo")) Then
  2. MsgBox("Se encontró")
  3. Else
  4. MsgBox("No se encontró")
  5. End If

Siguiendo la lógica que de Browser podía encontrar strings, se me ocurrio buscar un string y en dónde se encuentra el número al azar, usar comodines como en PHP cuando parseas.

Código
  1. preg_match_all('<b>Ejemplo de parsear, este numero es variante (.*) </b>', $ejemplo, $ejemplo1);

Obviamente el (.*) no funciona en vb.net, asique leí sobre comodines, pero no encontraba nada sobre si ese comodín podía almacenar el valor que sustituye.

Código
  1. Dim ejemplo As String = "Ejemplo del T?ma"

  • ? - un caracter.

Pero como ya mencioné, no encontré nada sobre almacenar ese comodín en una variable, y lo máximo que encontré es comparar con el operador Like que solo me devuelve un boleano.

De modo que estoy hecho un poco lío, pero poder explicarme mejor así.

Un saludo y gracias.
92  Programación / .NET (C#, VB.NET, ASP) / Obtener un valor variante en: 23 Mayo 2014, 12:02 pm
Bueno, la idea es saber si hay alguna forma de obtener un valor que está variando continuamente, y almacenar dicho valor en una variable.

Dejo un ejemplo:



En este caso valor_variante tiene un 24F, pero ese valor está variando constantemente, la idea es almacenarlo en una nueva variable llamada Obtener.

A simples ojos la idea es algo cómo.

Código
  1.        Dim valor_variante As String = "24F"
  2.        Dim ejemplo As String = "Esto sería un valor variante " & valor_variante
  3.  
  4.  
  5.        'Obtener el valor variante (?)
  6.        Dim obtener As String = valor_variante

Pero por desgracia los datos los estoy cogiendo de una página.

Me explico mejor

Código
  1. <?php echo 'Esto seria un valor variante ' . rand(0, 100)  ?>



He mirado sobre comodines en Vb.net, pero no ha terminado de servirme porque con 'like' solo me devuelve un boleano (true or false) y mi intención no es comparar dos strings, si no que yo quiero que me devuelva el valor que se encuentra ahí.

Otra forma sería con arrays, pero yo no puedo saber cuántos digitos va a tener el número, en este caso es el azar y el ejemplo es con números. (0 a 9, un digito), (10 a 99, dos digitos), (100, tres digitos), al ser al azar no puedo asumir que la posición vaya a ser siempre de 2 posiciones (qué sería lo más normal).

Si alguien puede ayudarme, gracias.
93  Programación / Scripting / Re: Dudas en aprendizaje python en: 13 Mayo 2014, 10:54 am
Código:
No se si antes de meterme en python debo tener alguna teoría básica de algoritmia o algo así, python es mi primer lenguaje de programación, y me gustaria tener una buena base para poder hacer proyectos grandes.

Desde mi punto de vista yo creo que se trata más de 'logística'. Fibonacci es muy simple y solo es tener una variable auxiliar e ir sumando en cada ciclo el número anterior.

(Quizá estoy metiendo la pata, pues nunca me interesé en python, pero al menos en c++ y en la mayoría de nivel alto se hace así)

Yo creo que solo tienes que darle un poco más al coco, o que sé yo, buscar un lenguaje que te guste más. (Pero creo que esto último no será el problema)

No obstante, te dejo este link, ya que estás hablando de la secuencia de fibonacci.
http://www.minidosis.org/#/actividades/Cpp.Secuencias.Fibonacci.vid

Es para c++, pero Pau Fernandez a mi forma de 'entender', explica muy bien y creo que lo importante no está en el lenguaje (en este caso python), si no entender qué es la secuencia y como funciona... y yo creo que aunque la explicación este orientada a c++, lo vas a entender para python.

Ya nos contarás como te fue, y a darle al coco.

Saludos!
94  Programación / .NET (C#, VB.NET, ASP) / Parsear código HTML en Vb.net en: 12 Mayo 2014, 18:08 pm
Hola buenas, acostumbrado de PHP y su forma de parsear código.

Código
  1. preg_match_all('<b>Ejemplo de parsear, este numero es variante (.*) </b>', $ejemplo, $ejemplo1);

con el (.*) se obtenia el valor que se encontraba ahí. No encuentro una manera eficiente de hacerlo en VB.net

Mejor dicho no encuentro nada de información sobre cómo hacerlo en Vb.net, y la única solución que encuentro es haciéndolo de forma muy absurda.

Código
  1. Dim valor as integer = InStr(codigo_html.Text, "<b>Ejemplo de parsear, este numero es variante")

y a partir de ahí guardar la última posición en un entero (valor) y recorrer un for hasta que encuentre un "<" y salga de éste, como digo, me parece muy ineficiente y absurda.

¿Existe alguna 'mejor' forma, más cómoda de parsear?
95  Programación / .NET (C#, VB.NET, ASP) / VB.Net Mysql remoto. en: 10 Mayo 2014, 11:20 am
Hola, estaba probando Mysql con Vb.net y en localhost funcionaba sin problema, el caso es que a la hora de usar una base de datos que tengo yo en internet alojada en un host, el programa no se conecta con la base de datos.

He estado leyendo y al parecer es debido a que el host no permite Mysql de forma remota, o de aplicaciones externas.

Entonces mi pregunta es, hay alguna alternativa?

Mi intención es crear un logeo que pueda administrar desde mi ordenador. Por ejemplo, dos personas tienen el programa y en mi base de datos desde mi pc añado dos usuarios para esas dos personas.

Hay algún host que permita el uso de aplicaciones externas?

Un saludo y gracias.
96  Seguridad Informática / Hacking / Re: Crear rastreador de codigo? en: 7 Mayo 2014, 16:46 pm
Si sabes un poco de PHP puedes hacerlo con la librería cURL, hace tiempo yo estuve probando el hacer esto en formularios de prueba, y tuve que estar preguntando en este mismo foro.

Aquí te dejo los temas que puedan interesarte y que por aquel entonces creé.

http://foro.elhacker.net/php/fuerza_bruta_metodo_post_php-t405890.0.html;msg1908669#msg1908669

Y aunque los siguientes enlaces no tengan nada que ver con lo que preguntas, si lo tiene con dicha libreria quizá así te orientas un poco mejor.

http://foro.elhacker.net/php/problemas_con_curl-t406339.0.html;msg1910400#msg1910400

http://foro.elhacker.net/php/curl_para_https_problemas_con_ssl-t406413.0.html;msg1910661#msg1910661

cURL es una libreria muy divertida para crear bots.

Un saludo.
97  Programación / Programación C/C++ / Re: C++ argumentos en el main. en: 7 Mayo 2014, 16:32 pm
Ahora sí lo entendí, no me había quedado claro que argc es el número de argumentos, y me estaba volviendo loco pues no sabia como el bucle sabia que tenía que terminar cuando se acabasen los argumentos.

Ahora todo encaja xD!

Muchísimas gracias a los dos ;P doy el tema como resuelto.

Saludos!
98  Programación / Programación C/C++ / Re: C++ argumentos en el main. en: 7 Mayo 2014, 15:06 pm
Matarme por favor, lamento incordiar tanto.

Ahora no entiendo esto:
Código
  1. int max;
  2. if ( argc > MAXSTRINGS )
  3.  max = MAXSTRINGS;
  4. else
  5.  max = argc - 1;


Entiendo la primera condicion pero no si no se cumple, entiendo que si el numero de argumentos supera a los 100, max tendrá 100 argumentos y no leerá el 101.

Pero no entiendo:

Código
  1.  max = argc - 1;

Por qué el numero de argumentos -1? >_<

y referente a lo que me cuentas rir3760, el código tiene punteros? lo digo por el *p aún no estudié eso.


Código:
El nombre de este se almacena en argv[0] y los argumentos de la linea de comandos son las palabras que siguen y se acceden con argv[ 1 ] .. argv[argc - 1] (argv[argc] es NULL).

?? Me vuelvo a perder en lo de argv[argc - 1], por qué no seguir la lógica y argv[ 2 ]

Lamento molestar tanto de verdad xD...
99  Programación / Programación C/C++ / Re: C++ argumentos en el main. en: 7 Mayo 2014, 14:07 pm
No he terminado de comprender el motivo por el cual usas la cabecera de entrada salida de C++ y luego usas las funciones de C en vez de cin y cout.

Código
  1. for(int it = 0; it < 100; it++) {

Estás presuponiendo que te van a pasar 100 palabras... y eso no tiene que ser cierto... el número viene dado por argc, no puedes pasar de esa cantidad.

Es decir, lo que viene siendo...

Código
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. const int MAXSTRINGS = 100;
  7.  
  8. char transformar_caracter(char letra)
  9. {
  10.  if ( letra%2 )
  11.    letra--;
  12.  else
  13.    letra++;
  14.  
  15.  return letra;
  16. }
  17.  
  18. int main(int argc, char **argv )
  19. {
  20.  if(argc < 2)
  21.    return 0;
  22.  
  23.  string frase[ MAXSTRINGS ];
  24.  
  25.  int max = ( argc > MAXSTRINGS ) ? MAXSTRINGS : argc - 1;
  26.  for(int it = 0; it < max; it++)
  27.  {
  28.    frase[it] = argv[ it + 1];
  29.  
  30.    int tam = frase[it].size();
  31.  
  32.    for(int i=0; i<tam; i++)
  33.      cout << transformar_caracter(frase[it][i]);
  34.    cout << "\t"; // Lo he puesto para separar cada palabra
  35.  }
  36.  
  37.  cout << endl;
  38.  return 0;
  39. }

el array "frase" lo he mantenido porque imagino que tu idea es usarlo en cambios futuros... ahora mismo no sería necesario. Yo personalmente hubiese usado un contenedor en vez de un array "crudo", pero así también funciona.

Hola gracias por responder, funciona pero no entiendo como >_<

En principio no entiendo esta linea.

Código
  1. int max = ( argc > MAXSTRINGS ) ? MAXSTRINGS : argc - 1;

Y luego no termino de entender, por qué el programa no explota si la idea de

Código
  1. const int MAXSTRINGS = 100;
  2. string frase[ MAXSTRINGS ];

Es la misma idea qué:
Código
  1. string frase[100];

100  Programación / Programación C/C++ / Re: C++ argumentos en el main. en: 7 Mayo 2014, 05:47 am
no entiendo... si ya capturas el mensaje por consola, entonces para que quieres el getline?

Supongo que me expliqué mal. Lo que digo es que si lo hago sin argumentos con el getline capturo toda la linea y funciona sin problema, pero mi intencion es hacerlo desde el terminal.

al no usar getline, solo captura UN UNICO string, de forma que si en la consola escribo:

Ruta/Programa Hola que tal

La consola me devuelve el Hola modificado pero ignora todo lo que hay después del espacio.

Espero haberme explicado ahora mejor >_<

Intenté solucionarlo con

Código
  1. int main(int argc, char *argv[]){
  2.    if(argc < 2){
  3.            return false;
  4.    }
  5.    int argumento = 1;
  6.    string frase[100];
  7.  
  8.    for(int it = 0; it < 101; it++) {
  9.        frase[it] = argv[argumento];
  10.        argumento++;
  11.  
  12.    int tam = frase[it].size();
  13.  
  14.  
  15.    for(int i=0; i<tam; i++){
  16.    cout << transformar_caracter(frase[it][i]);
  17.        }
  18.    }
  19. }

Funciona pero el programa revienta y da un error de windows xD...

EDITO

Finalmente se me ocurrió hacer lo tipico de "Secuencias con centinela", y salir del programa cuando el usuario escriba una palabra en particular, en este caso !stop, en este caso me aseguro que si el string tiene una tabla de 100, y se usan 90, el for no recorra a la 91 y windows tire error, aún así me parece muuuy chapuza y me gustaría que alguien me pudiese dar una mejor solución.

Aquí dejo el código por si a alguien le interesa.

Código
  1. int main(int argc, char *argv[]){
  2.    if(argc < 2){
  3.            return false;
  4.    }
  5.    int argumento = 1;
  6.    string frase[100];
  7.  
  8.    for(int it = 0; it < 100; it++) {
  9.        frase[it] = argv[argumento];
  10.        argumento++;
  11.  
  12.        if(frase[it] == "!stop"){return false;}
  13.  
  14.    int tam = frase[it].size();
  15.  
  16.  
  17.    for(int i=0; i<tam; i++){
  18.    cout << transformar_caracter(frase[it][i]);
  19.        }
  20.    }
  21. }

Saludos!
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines