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 Mensajes
Páginas: 1 ... 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 [308] 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 ... 432
3071  Programación / Programación C/C++ / Re: Consulta sobre programa C en: 15 Abril 2018, 03:13 am
Cuando usas más de 3-4 if..elseif seguidos, debes pensar en una solución algo más 'elegante', que a la par de ganar en claridad, es más fácil de mantener...

0 - De entrada usando un Switch, sería más claro.
1 - Pero mejor aún si usas unos arrays, en uno guardas los 'periodos', y en otro los pintores...
2 - En realidad sería mejor usar una estructura...

...pero vamos con arrays y en un futuro lo mejoras con alguna estructura...
Código:
Funcion Main
  Array de strings periodos(0 a x-1)
    periodos(0) = "Prehistorico"
    periodos(1) = "Egipcio"
    periodos(2) = "Renacimiento"
    periodos(3) = "Barroco"
    ... etc...

  Array de Strings pintores(0 a y-1)
    pintores(0) = "Leonardo"
    pintores(1) = "Michelangelo"
    ... etc...
    pintores(7) = "Bellini"
    pintores(8) = "Velázquez"
    pintores(9) = "Murillo"
    pintores(10) = "Caravaggio"
    ... etc...
 
  array de strings PintoresPeriodo(0 a x-1)  //relaciona los pintores con cada periodo
    pintoresPeriodo(0) = "-1,1"   // no contiene pintores, y la galeria es la 1.
    pintoresPeriodo(1) = "-1,1"  // no contiene pintores, la galeria es la 1.
    pintoresPeriodo(2) = "0,1,2,3,4,5,6,7" // Leonardo, Michelangelo... y Bellini pertencen al periodo 2
    pintoresPeriodo(3) = "8,9,10" // Velázquez, Murillo y Caravaggio, pertencen al periodo 3
    ... etc...

  Array de enteros galerias(0 a y-1)  // relaciona a cada pintor con una galeria.
    galerias(0) = 2   // Leonardo está en la galeria 2.
    galerias(1) = 2   // Michelangelo también está en la galeria 2.
    galerias(2) = 3   // Rafael está en la galeria 3.
    ... etc...

    galerias(7) = 6   // Bellini en la galería 6 (equivalente a la 5b, guardamos números en este array, pero se puede cambiar a array de strings, si es preciso poner 5b...
    galerias(8) = 7   // Velázquez en galeria 7
    galerias(9) = 7  // Murillo        "    "
    galerias(10) = 8  // Caravaggio, en la galeria 8
    ... ec...

   Llamada MostrarOpcionesAlUsuario
Fin funcion

Ahora la función que realiza todo el trabajo... muestra opciones, deja elegir al usuario, verifica valor correcto y muestra resultados.
Código:
Funcion MostrarOpcionesAlUsuario
     String repite
     entero prd, pnt, gal  // periodo, pintor
     buleano b

    Hacer
        Hacer
            Llamada imprimirPeriodos
            prd = PedirPeriodo("Elige un periodo... (teclea el número asociado al periodo)")
        Repetir mientras ((prd < 0) o (prd >= x))
        imprimir "Periodo elegido: " + periodos(prd)       
     
        Hacer
            b = llamada ImprimirPintores(prd)
            Si (b = TRUE)
                pnt = PedirPintor("Elige un pintor... (teclea el número asociado al pintor)")
                mostrarAlUsuario("...para el pintor " + pintores(pnt) + " del periodo " + periodos(prd)  + " La galería correspondiente es: " + galerias(pnt)
            sino
                pnt = 0 // para periodos sin pintores, ya se mostró la galería, no precisa un valor elegido.
            fin si
        Repetir mientras ((pnt < 0) o (pnt >= y))

        repite = PedirAlUsuario("¿ Desea elegir otra vez (S/N) ?")
    Repetir mientras repite = "s" o repite ="S"
Fin funcion


Borra la pantalla y muestra opción de elgir un periódo:
  Prehistórico    = 0
  Egipcio           = 1
  Renacimiento  = 2
  Barroco          = 3
  ...
Código:
Funcion imprimirPeriodos
    entero k
   
    Borrar pantalla
    bucle para k desde 0 hasta x-1
        imprimir periodos(k) + tabulador + " = " + (k)
    siguiente en bucle
fin funcion

Imprime la lista de pintores asociada al periodo elegido (que se recibe como parametro).
y devuelve un buleano. Si devuelve TRUE, indica que debe localizarse la galería asociada al pintor que se elija.
  Periodo elegido: Renacimiento
  Elige un pintor... (teclea el número asociado al pintor)
      Leonardo      = 0
      Michelangelo = 1
      ...
      Bellini           = 7
Código:
buleano = funcion ImprimirPintores(entero periodo)
    entero k, z
    array de enteros n()

    n = TomarCadaNumeroSeparadoPorUnaComaDe(pintoresPeriodo(periodo)
    z = ultimoIndiceEnArray(n)

    Si (n(0) =>0)
        Hacer
            imprimir tabulador + pintores(n(k)) + tabulador +  " = " + n(k)
            k +=1
        Repetir mientras (k<=z)
        Devolver TRUE
    Sino
        imprimir "el periodo " + periodos(periodo) + " no tiene pintores conocidos, la galeria es: " + galerias(n(1))
        devolver FALSE
    Fin si
fin funcion

Como puedes ver, lo hemos resuelto sin un mísero if...elseif... gana en claridad, y si la lista crece o cambia, basta modificar en main, los valores de 'x', 'y' y reasignar en sus respectivos arrays...
3072  Programación / Programación Visual Basic / Re: Mover al siguiente elemento igual en un listbox en: 14 Abril 2018, 21:03 pm
No.

Listview es mucho más complejo... de entrada sus elementos permanecen en la colección ListItems, luego la cantidad listcount, no es una propiedad al mismo nivel jerárquico... de hecho ni siquiera es una propiedad en listview:
Listbox1.Listcount
Listview1.ListItems.Count
...
Listbox.AddItem ("texto")
Listview1.ListItems.Add (,, "texto")

Hay que adaptarlo y para ello debes conocer en cierta profundidad el control. Si no lo conoces no tiene sentido usarlo, no es conforme usar cosas sin saber que se hace, jugando a 'rpobar a ver que pasa'...

USA la AYUDA, es muy completa, allí se describe a fondo cada control incluyendo el listview, tienes acceso a sus propiedades, métodos, eventos y con ejemplos de cada uno...
3073  Foros Generales / Noticias / Re: ForoCoches: vida, milagros y sombras del 'bar de internet' con un millón de .... en: 14 Abril 2018, 20:19 pm
Opino lo mismo que Elektro.

Solo añado, que el nombre del foro debiera ser más acorde con la realidad y cambiarlo a: ForoTrolls
...que lo reconozcan sin tapujos, son trolls...
3074  Foros Generales / Noticias / Re: Gravísimo: Rusia acaba de prohibir Telegram en: 14 Abril 2018, 20:09 pm
bien y desde Platón se reconoce al "estado" como un ente "agresivo y opresor", el cual le cediste tus derechos antes de nacer a cambio que este te protega y de beneficios a cambio, el cual se basa únicamente en poder y hará todo para mantenerlo. Gente como Rosseau te dirá que esto es en tu propio beneficio, que hay un contrato (el "contrato social") no escrito de por medio que de ser violada por una de las partes, todo el equilibrio se rompe... luego te dicen en la modernidad "el conocimiento es poder" y adivina que necesita el estado para mantener poder (y por qué desaparece la "vida privada" como se conocía)
Rousseau, ya lleva criando malvas, algún que otro siglo... la puja actual, no tiene nada que ver, con la de siglos pasados.

En el pasado el medio opresor supremo era la guerra, y en general se aplicaba contra los vecinos, hoy día es el estado policial y en general se aplica sobre los propios 'conciudadanos' (para el beneficio de unos pocos). Son situaciones bastante distintas, sobretodo porque en el pasado, el estado opresor tenía serias limitaciones basada en el número de gente-soldados. Hoy día con la tecnología, bastan pocos... por supuesto mientras sean pocas las ovejas que se escapen del redil, si lo intenta todo el rebaño, la historia cambia. ...de ahí la importancia de que la gente 'despierte'... pero la mayor parte de la gente vive 'drogada-borracha' con tonterías cotidianas, la moda, los famosos, el fúbbol... hasta con ideales políticos.
3075  Foros Generales / Noticias / Re: Pueden robar datos de tu PC a través de los cables de corriente en: 14 Abril 2018, 19:59 pm
A comienzos de siglo, precisamente había una gran expectación en que toda la red de internet, funcionara precisamente a través del flujo eléctrico... pero claro esto chocaba (al margen de la tecnología por superar para disponer de calidad), de entrada con los proveedores de internet, que básicamente pasarían de ser 'la banca que corta el bacalo' a directamente sobrar y ser un estorbo, y segundo con los sistemas de espionaje gubernamentales que son los principlaes espías por tales métodos.
...y así, con el paso del tiempo dicha tecnología se fue difuminando hasta quedar en un susurro... todo lo más que he vuelto a escuchar, es para 'disponer de internet en todo tu domicilio, conectando al enchufe'. Es decir usar la instalación eléctrica de tu casa para ampliar la señal... y tampoco conozco gente que haga uso de esta tecnología.
3076  Foros Generales / Noticias / Re: WhatsApp prohibirá el ingreso a menores de 16 años en: 14 Abril 2018, 19:44 pm
te puedo recordar los leaks hasta hoy? XD más de 100 millones de cuentas de diferentes servicios con documentos e incluso tarjetas de credito? XD
Para determinadas cuestiones, las credenciales son necesarias... si vas a comprar un producto, igual tienes que dar tus datos, es razonable.
...en cambio para jugar, o para charlar con 4 amigos, no le veo la obligación.

el mismo problema original... se la podrán saltar XD ... y el mayor de edad tendría que dar sus datos... y los del menor para demostrar que es su tutor XD
El mayor de edad, ya da sus datos, para tener la línea de teléfono... el menor, no tiene que dar, nada, a fin de cuentas el 'dueño' del terminal es el padre, madre, tutor en general, y simplemente instala, y configura la aplicación, al caso en esa configuración debiera haber una casilla que indicara: "será usado por un menor de 16 años", ya está. no precisa dar datos... Al contratar la línea de teléfono (wahtsapp, no fuinciona sin asociarse a un número de teléfono), tienes que dar tus datos reales a la compañía, la cual evidentemente, si eres menor de edad, te exige también un tutor (tu padre, madre, etc...), quizás esto sea algo diferente en según qué países, lo mismo que la mayoría de edad, pero básicamente es así en todo el mundo.

ok, no me parece mal, pueden tener problemas secundarios (como niñas nunca teniendo amigos varones XD pero cada quien que crie a  sus hijos como quiera)
mmm... es una cuestión básicamente cultural. En determinados países eso será así casi por legislación.
De todos modos si un padre es de ese tipo, de entrada ni le dejará tener un terminal, para eliminar esa posibilidad, ¿no crees?.


y allí se murió la interacción... "mira te pasé x fotos necesarias" "ahh no puedo verlas, tengo que esperar que mi papá las apruebe y siempre le da pereza y cierra la notificación... espera dejame buscar su telefono para aprobarlas" XD
En la medida en que el MENOR demuestre responsabilidad, considero (es de suponer) que sus padres, cofiarán más y no requerirá una supervisión contínua... Pero si a tí te parece que es mejor opción, que los menores de 16, no puedan tener whatsapp... pués listo.
3077  Programación / Programación Visual Basic / Re: Mover al siguiente elemento igual en un listbox en: 14 Abril 2018, 18:39 pm
Modificando algo tu propio código... pero mejor copia todo y pégalo (antes comenta todo ese código que tienes)


Código
  1. Private s_IndexActual  As Long
  2.  
  3.  
  4.  
  5. Private Sub BuscarPatron(ByRef lst As ListBox, ByRef Patron As String)
  6.    ' almacenamos el índice obtenido en una variable a nivel de módulo.
  7.    ' la búsqueda comenzará un índice más alla del actual...
  8.    ' convertimos patrona  amayúsculas antes de enviarlo a la función, así el bucle no necesita hacerlo en cada iteración.
  9.    s_IndexActual = IndexEnLista(lst, UCase$(Patron))
  10.    ' Si se halló, se hace ese ítem actual, si no;
  11.    '     se deselecciona (indice= -1), y en la próxima búsqueda comenzaría en: -1 + 1 = 0
  12.    lst.ListIndex = s_IndexActual
  13.  
  14.    Me.Caption = "Indice: " & CStr(s_IndexActual)
  15. End Sub
  16.  
  17. Private Function IndexEnLista(ByRef lst As ListBox, ByRef Patron As String) As Long
  18.    Dim k As Long
  19.  
  20.    On Error Resume Next
  21.  
  22.    ' Busca desde siguiente al actual hasta el final
  23.    For k = (s_IndexActual + 1) To lst.ListCount
  24.        If InStr(UCase$(lst.List(k)), Patron) Then
  25.            IndexEnLista = k
  26.            Exit Function
  27.        End If
  28.    Next
  29.    ' y si no se hallo en ese tramo, busca desde el comienzo hasta el actual.
  30.    For k = 0 To s_IndexActual
  31.        If InStr(UCase$(lst.List(k)), Patron) Then
  32.            IndexEnLista = k
  33.            Exit Function
  34.        End If
  35.    Next
  36.  
  37.    ' Si no se encuentra de ninguna manera, deselecciona la lista (valor -1)
  38.    IndexEnLista = -1
  39. End Function
  40.  
  41. Private Sub Command1_Click()
  42.    Call BuscarPatron(List1, Text1.Text)
  43. End Sub
  44.  
  45. Private Sub Form_Load()
  46.    List1.AddItem "MÉXICO" & " Pepe "
  47.    List1.AddItem "VENEZUELA" & " Jose"
  48.    List1.AddItem "ARGENTINA"
  49.    List1.AddItem "ESPAÑA"
  50.    List1.AddItem "GUATEMALA"
  51.    List1.AddItem "ARGENTINA"
  52.    List1.AddItem "CHILE"
  53. End Sub
  54.  
  55. Private Sub Text1_Change()
  56.    Call BuscarPatron(List1, Text1.Text)
  57.     'list1.text contiene el valor del ítem actualmente seleccionado, sin necesidad de saber su índice.
  58.    Label1.Caption = List1.Text
  59. End Sub
  60.  
En realidad, la búsqueda es sobre si "Contiene...", y quizás sería preferible que la función se limitara a "SiEmpiezaCon...", Tampoco es adecuado que solo con una letra, deba buscarse en el listado, quizás debiera exigirse un mínimo de dos... pero bueno ambas cosas ya debes valorarlo tú.

Para un listivew, depende de lo que quieras hacer... no cambia básicamente nada, (aparte del objeto en sí), o cambia todo, en cualquier caso el control Listview, dispone del método "FindItem", que permite buscar un texto completo o parcial, escribe el nombre del método y pulsa "F1" (Ayuda), lee y mira los ejemplos...

...antes intenta adaptar la solución que te dí al listview, si te satisfe, listo, si no, vuelve a preguntar pero más especificamente con lo que necesitas, ya que ese control es mucho más que un simple Listbox...



p.d.: Olvidaba lo de la tecla enter...

Para probarlo ,escribe 'e' y pulsa sucesivamente la tecla enter, como excepto Méjico ( en la É tildada), tienen una 'e', recorrerá todos losítems y volverá al inicio...
Código
  1. Private Sub Text1_KeyPress(KeyAscii As Integer)
  2.    If (Len(Text1.Text) > 0) Then
  3.        If KeyAscii = vbKeyReturn Then
  4.            Call BuscarPatron(List1, Text1.Text)
  5.        End If
  6.    End If
  7. End Sub
3078  Foros Generales / Noticias / Re: WhatsApp prohibirá el ingreso a menores de 16 años en: 13 Abril 2018, 18:12 pm
Creo que son los padres y los gobiernos, los primeros que deben velar por los menores.

Un programa no puede contar con un sistema férreo de verificar la edad de nadie, salvo que se exijan credencias auténticas, cosa que nadie en su sano juicio debería aceptar, para algo tan tonto como el simple entretenimiento.

Además, si a un menor le prohibes usar ese programa, acabará usando otro distinto, del que los padres ni tengan idea de cómo funciona, cómo se llama, a qué tiene acceso o cómo se maneja... al menos con whatssapp, los padres (una gran parte o la mayoría), lo usa y por tanto lo conoce de primera mano.

Creo que mejor que prohibir su uso, sería implementar algún tipo de restricciones... dedicados precisamente para menores. Por ejemplo:
- Pueden instalarlos, pero debe hacerlo un mayor de edad, quien a la sazón se considerará tutor del menor.
- El tutor, podrá restringir determinadas cuestiones como: supervisar la aceptación de 'nuevos amigos'.
- El tutor, podrá restringir el horario de uso del programa, fuera del cual (aunque se cambie la hora del sistema), no se le envían notificaciones, se acumulan para el siguiente tramo horario permitido.
- Imágenes o vídeos cuyo origen sea distinto de la propia cámara del terminal deban requerir la supervisión del tutor, para su descarga.

Solo con eso, creo que bastaría... la sola posibilidad de que el padre de un chaval pueda ver una imagen 'porno', que el envía otro... le hará desestimar de que se la envíen... por lo smismo, también desistirá de enviar una propia a nadie.
La lista de 'amigos' al ser revisada por el tutor, impedirá que 'extraños', pasen a ser 'colegas'... y por lo mismo, no habrá una lista de 2500 amigos... de los cuales, el 90% ni los conoce en persona.
3079  Foros Generales / Noticias / Re: Cómo girar la pantalla del ordenador en Windows en: 13 Abril 2018, 18:01 pm
es posible girar la pantalla del ordenador con los atajos de teclado Alt-Gr+flecha o Ctrl+Alt+flecha.
En XP, siempre ha sido así...
y en mi tablet-PC, sigue funcionando así, aparte que tiene un botón exclusivo para eso...
Entre los programas del fabricante (Fujitsu), se incluye su propio programa para el mismo propósito, lo mismo que los programas de la gráfica (Intel)... éste tal como se señala en el artículo, aunque en vez de '0 grados', pone 'normal'...
3080  Foros Generales / Noticias / Re: Gravísimo: Rusia acaba de prohibir Telegram en: 13 Abril 2018, 17:13 pm
La negación de la aplicación (de dejar acceder a las conversaciones de los usuarios de Telegram) se tradujo en un difícil juicio que finalmente falló a favor de los servicios de seguridad rusos: prohibirán Telegram.
EureKa... Al menos ha servido, para que los rusos, lo sepan claramente, sin dudas... que su gobierno les espía.
Las 2 únicas diferencias entre los gobiernos de derechas y de izquierdas respecto del espionaje de sus ciudadanos:
1 - Los gobiernos de izquierdas, lo admiten sin tapujos.
1 - Los gobiernos de derechas, insisnten en negarlo, aunque els pillen con los pantalones bajados y a punta de meterla.
2 - A los gobienros de izquierdas se la suda lo que digan sus ciudadanos. De hecho no les tienen en cuenta para nada.
2 - Los gobiernos de derechas, maquinan hasta lo indecible cualqueir estrategia que parezca alejarles del espionaje. Lo que tengan que decir sus ciudadanos importa y mucho, por ello, cualquier intento de manipulación, entra dentro del 'saco de posibilidades'...
Páginas: 1 ... 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 [308] 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 ... 432
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines