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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 [325] 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 ... 431
3241  Programación / Programación General / Re: Ayuda sobre este comando CMD en: 29 Enero 2018, 00:46 am
El comando netstat, como su nombre sugiere "net"=red, "stat"=estadísticas, te ofrece información sobre los programas que actualmente tienen conexión a red de TU equipo (PC).

Para ver que EQUIPOS estás conectados a tu red, debes acceder al router en tu red y en alguna pestaña, encontrarás alguna opción subficha... que muestra los dispositivos actualmente conectados al router (PCs, móviles, impresoras, Tv, etc...), las IP asiganadas a cada uno (en ese preciso instante), sus MACs, etc... la información a mostrar dependerá del modelo del router...
3242  Foros Generales / Noticias / Re: Por qué no debes comprar portátiles baratos con Windows en: 27 Enero 2018, 16:05 pm
El título es inapropiado.

Decir "Por qué no debes comprar..." de forma tan rotunda, no es aceptable, hubiera sido preferible un titulo somo: "Lo que te puedes encontrar si compras..."

En estas webs, con tal de atraer visitas, ya empeizan a hacer como en los periódicos amarillistas... "todo vale, con tal de sumar visitas..."
3243  Foros Generales / Noticias / Re: Ahora también se está minando criptomoneda mientras vemos vídeos desde YouTube en: 27 Enero 2018, 15:59 pm
...es el problema del javascript... es como darle la llave de tu casa a cualquiera que dice venir "a hacer no se qué", sin más seguridad... que confiar en su 'palabra'.
3244  Programación / .NET (C#, VB.NET, ASP) / Re: creacion y manipulacion dinamica de objetos en: 26 Enero 2018, 22:25 pm
El modo consola viene bien para ir aprendiendo sin entrar en las complicaciones del lenguaje (te deja hacer cosas sin un dominio total), pero más allá de eso, no le veo mucho sentido.

Si quieres porgramar de forma seria deja el modo consola para los principiantes... o para los linuxeros, que parece que les encanta pasarse la vida escibiendo comandos, memorizando parámetros y perdiendo tiempo en probar a ver si... me sale.
3245  Programación / Programación General / Re: Migrar programa de VB6 en: 26 Enero 2018, 22:16 pm
Es una pregunta muy genérica, para abordarla en detalle.
Si no logras mejor rendimiento, a buen seguro es poque traduces línea por línea, a su equivalente en NET, y no debe ser así.

En general recuerdo que para vb2003 y vb2005 había un asistente de importación, que entre otras cosas te daba sugerencias que en efecto servían para optimizarlo. Aunque los mejores resultados se obtienen refactorizando el código para NET y para ello debes haber adquirido cierto dominio de NET, o al menos saber qué tienes a disposición para solucionar qué problemas.

Si tienes cuestiones concretas pregunta...
3246  Programación / Programación C/C++ / Re: rompecabezas imposible en: 26 Enero 2018, 15:52 pm
Los números aleatorios debes elegirlos entre el rango 1-8... así no te saldrá nunca el 9.

Para evitar que los números salgan repetidos una y otra vez, procede de esta manera:

Primeor se meten en la 'bolsa' los números que se van a rifar:
Código:
Array de enteros = funcion RellenarArray(entero cantidad, entero Inicio)
    entero k
    array de enteros Ar

    bucle para k desde Inicio a (Cantidad + Inicio)
        Ar(k) = k 
    fin bucle
fin funcion

Y luego se barajan, así el reparto es aleatorio:

Código:
funcion Barajar(Array de enteros Ar, entero Cantidad)
    entero i, j, k

    Bucle para k desde cantidad-1 hasta 1 retrocediendo
        j = random(ente 0 y k)
        i = Ar(j)
        Ar(j) = Ar(k)
        Ar(k) = i
fin bucle


Con cada nueva partida, tu harás dos llamadas, antes que nada:
Código:
   Ar = Rellenararray(8, 1)
   Barajar(Ar, 8)
   //....colocar en sus casillas
3247  Informática / Hardware / Re: Especificaciones de PC en: 26 Enero 2018, 03:44 am
PC para crear vídeos y páginas webs.
Te sobra...

A ver si va a suceder que llevamos 20 años creando vídeos y páginas web, con los "tostadores" que teníamos años atrás, y ahora no vamos a ser capaz con equipos entre 10 y 100 veces más potentes que aquellos...
3248  Programación / .NET (C#, VB.NET, ASP) / Re: creacion y manipulacion dinamica de objetos en: 26 Enero 2018, 01:47 am
Hablas de 'objetos', 'todos ellos', luego tienes necesidad de una colección. Cada uno tendrá un índice asignado, tanto en la colección como en correspondencia con la interfaz. Y como hay varios y quieres mover uno, estamos hablando de 'uno seleccionado', el 'acutal', luego en tu colección sería conforme mantener una referencia al actual. ...y ese será el que se mueva.

Al hacer click sobre uno lo seleccionas, y :
Código:
coleccion de personaje s_Personajes
entero      s_IxActual
personaje s_PjActual


funcion Ventana_click(x,y )
     // dadas unas cordenadas de click, devolver el índice dle personaje. Devolver -1 si no hay personaje
     entero indice = IndicePersonajeEnCordenadas(x,y)

    Si (indice>=0) luego
        Si (indice <> s_IxActual ) luego
             s_PjActual.Grafico.QuitFoco  // el que era actualmente selccionado, pierde el foco
             s_IxActual = indice
             s_PjActual = s_Personajes(s_IxActual) //seleccionar como actual el personaje cuyo índice se ha seleccionado.
             s_PjActual.Grafico.SetFoco  // dibuja bajo él una sombra para indicar que es el seleccionado actualmente (algo visual).
        fin si
    fin si
fin funcion

Al pulsar el teclado, las flechas de dirección moverían el gráfico asociado al personaje... se supone que tienes un sprite y por cada plsación tu decides si cambia un solo frame o varios o según el caso...
Código:
funcion teclado_Up(entero key)
    Si (s_IxActual >= 0) luego  // si hay algún personaje seleccionado
        Seleccionar key
            caso KeyUp
                s_PjActual.Grafico.Subir
                pararseleccion // break
            caso KeyDown
                s_PjActual.Grafico.Bajar
                pararseleccion //break
            caso KeyRight
                s_PjActual.Grafico.Avanza // a derecha
                pararseleccion
            caso keyLeft
                s_PjActual.Grafico.Retrocede // a izqierda
                pararseleccion
            caso keyHome
                s_PjActual.Grafico.GoToHome // regresa al inicio
                pararseleccion
            caso .... etc...
                // ...
        fin seleccion
    fin si
fin funcion

También podría haber momentos o acciones en los que todos se muevan o solo algunos... si son solo algunos decide cuantos y cuales al azar... y o bien los mueves hacia una dirección específica desde la actual donde están (persiguen), o bien siguen la ruta que llevan (deambulan)
Código:
// Cuantos: decide cuantos se mueven: -1=todos. 0=todos excepto seleccionado.
// Cuales: Solo se aplica cuando todos >0, e indica si se eligen al azar, si los que cumplan cierta condición, etc... un valor enumerado podría dar mucho de sí (por ejemplo si los hay de colores, o definidos por 'una característica', por ejemplo 'jinetes', 'arqueros', 'lanceros', etc...
// Adonde: indica si el movimiento es de persecución (se dirigen hacia las cordenadas x,y desde su ubicación actual, o deambulan (cada uno avanza en la dirección que lleva.
// X,Y: Dirección hacia la que se mueven, si 'adonde' =true (esto es, persiguen)
funcion MoverVarios(entero cuantos, enum cuales, buleano adonde, x,y)
    nueva coleccion personajes p

  
    Si (cuantos <= 0) luego   // todos o casi todos.    
        p = s_Personajes    
        Si (cuantos = 0 ) luego  // menos el seleccionado
           p.eliminar(s_IxActual)
        fin si
    sino // algunos
        nueva coleccion s = s_Personajes.CopiaTodo
        entero k = s.Count -1
        personaje j
        entero i, n

        Seleccionar cuales
             caso 0 // random                
                 bucle para i desde 1 a cuantos
                     n = random(entre 0 y k)
                     j = s.Item(n) // personaje elegido al azar.
                     p.Add(j)  // se añade a la nueva colección
                      // no queremos elegirlo de nuevo, luego lo eliminamos (de la colección intermedia copia de la original, ojo copia, no referencia).
                     s.Delete(n)
                     k -=1
                 fin bucle
             caso 13 // arqueros
                 Hacer mientras (n <> cuantos) y (i<= k)                                      
                     Si (s.Item(i).Tipo = ARQUERO luego)  // personaje elegido .
                         p.Add(s.Item(i))  // se añade a la nueva colección                    
                         n +=1
                     fin si                    
                     i +=1                    
                 Repetir
            caso ... etc...
                //...
        fin Seleccion
    fin si

    // ahora que se tiene la colección de los que se han de mover, toca moverlos
    Si (adonde = PERSECUCION) luego
        Por cada j en s  // por cada 'j' personaje en la colección 's'
            AcercarHacia( j.Grafico.x , jGrafico.y , x, y)
            j.Grafico.Dibujar  // en su posicion x,y actual
        Siguiente
    sino // DEAMBULAN
        Por cada j en s  // por cada 'j' personaje en la colección 's'
            j.Grafico.x += j.Grafico.Dirx    // DirX= -1, 0 ó +1
            j.Grafico.y += j.Grafico.Diry   // DirY= -1, 0 ó +1
            j.Grafico.Dibujar // en su posicion x,y actual
        Siguiente
    fin si
fin funcion

Mueve un poco acercándose hacia el objetivo...
En realidad aquí no se mueve, solo se calcula la posición adonde moverse
Código:
funcion AcercarHacia(desdeX, desdeY, haciaX, haciaY)
    Si (desdeX > haciaX) luego
         desdeX -=1
    sino
         desdeX +=1
    fin si

   Si (desdeY > haciaY) luego
         desdeY -=1
    sino
         desdeY +=1
    fin si
fin funcion
3249  Programación / .NET (C#, VB.NET, ASP) / Re: Que tipo es una ruta para guardar en sql en: 26 Enero 2018, 01:21 am
Las rutas tienen un largo máximo específico, tanto para la ruta de carpetas como para el nombre de 260 caracteres.
Ahora bien, es posible aterar ese límite, recurriendo a 'trucos', pero deja el cntenido inaccesible, usando la propia ruta completa.

Recientemente Mocosoft, decidió modificar dicho límite, pero aunque se modifique tampoco veo la necesidad de que alcance los 4.000 caracteres que propones, duplícalo a lo sumo: 520, pero sólo si haces uso de esas rutas largas, si no déjalo en 260 o ligeramente mayor si añades alguna cadena a la ruta, en fin 300 caracteres debería servirte de sobra.

Mocosoft, recomienda no usar los tipos: "ntext", "text" e "image", porque piensan eliminarlos en un futuro no lejano.

Recuerda que números de caracteres y número de bytes para alojar una cadena puede variar, así char y varchar, se usan generalmente para textos no unicode, y el mínimo de caracteres es 1 (no admite una cadena vacía) al igual que nChar y nVarchar.
En tu caso yo usaría nChar(300)

Para profundizar en el tema (mejor lees la propia documentación de Mocosoft sobre los tipos):
https://docs.microsoft.com/es-es/sql/t-sql/data-types/data-types-transact-sql
Por lo cual quizás te convenga más 
3250  Programación / .NET (C#, VB.NET, ASP) / Re: Timer detiene depuración para agregar datos a bd en: 25 Enero 2018, 22:35 pm
Si solo quiero guardar las direcciones de archivos que el boton Button1 busca, de ahi el timer es de guardar las direcciones que encontró el buscador y enlisto el label 7 es como el ID y el label 1 la ruta ejemplo D:\carpeta\archivo.txt los demas label son label que lleno con otro contenido, todo va bien y se ejecuta bien pero llega el momento que se detiene la depuración.

Bien, pero tenemos que seguir jugando a adivinar qué pasa, insisto:
... ¿Tanto cuesta poner el error que marca el stacktrace????...
Ya te decía, que sin más detalles no se puede saber que está pasando. Por imaginar, sin detalles lo úniico aventurado señalar es que los datos estén fuera de rango... una cadena vacía donde se espera contenido, un valor numérico dentro de unos límites (si es un byte, que no reciba un entero, etc... incluso si el valor no está acotado en el campo: >20 y < 150 por ejemplo, si el campo está así definido y un valor fuera dle rango, genera un error.

¿Puedes añadir líneas de código de depurración, para controlar las variables implicadas, y ver si tienen el valor que debieran tener?. Depurar es eso... verificar que cada variable contiene el valor que correponde al estado actual y si para ello hay que añadir líneas de control se añaden hasta capturar el error.

¿Por qué no añades un mísero Try...catch (en la línea que dices que falla)? y devuelves la excepción resultante.

Es que no pones ni lo mínimo, que sería el contenido de cada uno de esos labels en el momento del fallo... ...en fín tu pretendes que adivinemos donde tienes un error sin más.


Voy a tomarme la molestia de revisar tu código, a pesar de que es algo a evitar cuando uno no hace lo correcto, dar detalles...

Selecciono el siguiente fragmento de código  (del timer) y me centro sólo en él:
(por cierto, la función de evento del timer, no tiene su correspondiente 'end sub', asumo que sólo es un problema de copy-paste en el foro).

Bien, como tú dices que funciona durante un momento y luego falla, y observo que vas borrando ítems de un listbox, después de insertar los datos, aunque quede vacío, lo controlas antes, luego ahí no hay error...
Solo veo que 'label1' contiene el contenido actual del primer ítem del listbox
Y que el label7, lleva una cuenta (una cuenta fea de llevar, convertir a número y luego a texto, etc.. ese label sería mejor estar soportado en una función o propiedad, como sigue:
Código
  1. private p_cuenta as int32
  2. private function SumaCuenta as string
  3.    p_Cuenta +=1
  4.    return  p_Cuenta.toString
  5. end function

Luego haría falta una línea adicional para controlar la situación... modifica como señalo...

Código
  1. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  2.        Dim k As Int32
  3.  
  4.        k = listbox1.items.Count
  5.        If (k > 0) Then
  6.            label6.text = k.ToString
  7.            Label1.Text = ListBox1.Items.Item(0)
  8.  
  9.            label7.text = SumaCuenta
  10.  
  11.            Try
  12.  
  13.                DatosTableAdapter.Insert(Label7.Text, Label1.Text, Label3.Text, Label4.Text, Label5.Text)
  14.                ListBox1.Items.Remove(0)
  15.            Catch ex As Exception
  16.                MessageBox.Show(ex.StackTrace) ' mínimo ex.message
  17.            End Try
  18.        Else
  19.            '...
  20.        End If
  21.    End Sub

Luego ejecuta (paso a paso al llegar al evento del timer) y cuando salte el error, copia el texto del mensaje que salga y pégalo por aquí, a ver si se aclara algo...

Mejor opción es que hagas copia del proyecto, elimina lo que no sea necesario o no te parezca prudente revelar (pero que pueda ejecutarse hasta ahí), y a ver si se puede hacer algo más que adivinar...


Bien acabo de ver el mensaje último (éste lo tenía editado y me tuive que marchar y ahora al volver lo he enviado).
La imagen es clara, como se asume, una conversión de tipos forzada.... tu usas labels que son strings, y alguno de ellas se espera un tipo de datos de otro tipo, que no puede ser convertido, implícitamente, debe hacerse su 'cast' preciso.
...pero ves que en la misma imagen te pone: 'copiar detalles al portapapeles'?... pués eso es lo que hay que hacer y pegar aquí, junto con el código (solo hiciste esta última parte).
Si pones el cursosr sobre el 'guioncito rojo' (al final dle texto), y pinchas en él, te sugiere cambios, tal que si sabes lo que estás haciendo sabrás si en efecto, "vaya se me pasó", o dirás. "Ni P... idea"... si no lo resuelves pon el stacktrace entero...
Páginas: 1 ... 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 [325] 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 ... 431
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines