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 - Eleкtro

#2681
Hola. ¿Cual es la razón que te ha llevado a publicar una pregunta sobre C#, en el foro de Visual Basic 6? :-\

Bueno, una forma de hacer lo que pides en caso de que quieras preservar los elementos del array original sin modificar, sería desarrollar una función genérica para iterarlo de la siguiente manera:

Código (csharp) [Seleccionar]
/// ----------------------------------------------------------------------------------------------------
/// <summary>
/// Replaces the duplicated items in the source collection using the specified value.
/// </summary>
/// ----------------------------------------------------------------------------------------------------
/// <typeparam name="T">
/// The type of the items in te collection.
/// </typeparam>
///
/// <param name="collection">
/// The source collection.
/// </param>
///
/// <param name="value">
/// The value that will be used to replace duplicated items.
/// </param>
/// ----------------------------------------------------------------------------------------------------
/// <returns>
/// The resulting <see cref="IEnumerable&lt;T&gt;"/>.
/// </returns>
/// ----------------------------------------------------------------------------------------------------
public static IEnumerable<T> ReplaceDuplicates<T>(T[] collection, T value) {

   HashSet<T> hset = new HashSet<T>();

   foreach(T item in collection) {
       if (hset.Add(item)) {
           yield return item;
       } else {
           yield return value;
       }
   }
   
}


Modo de empleo:
Código (csharp) [Seleccionar]
int[] arr = { 10, 4, 9, 11, 4, 7, 10, 30, 11, 10 };
int[] newArr = ReplaceDuplicates<int>(arr, 0).ToArray();

Console.WriteLine(string.Join(", ", newArr));


Resultado de ejecución:
Cita de: Visual Studio's Debug Window Output10, 4, 9, 11, 0, 7, 0, 30, 0, 0

Hay varias formas de hacerlo. También puedes utilizar un for para reemplazar los elementos del array original, o recurrir al elegante pero no muy eficiente LINQ.

EDITO: Por ejemplo:
Código (csharp) [Seleccionar]
int[] arr = { 10, 4, 9, 11, 4, 7, 10, 30, 11, 10 };
int[] newArr = arr.Select((a, b) => Array.IndexOf(arr, a) == b ? a : 0).ToArray();

Console.WriteLine(string.Join(", ", newArr));


¡Saludos!
#2682
Cita de: FJDA en 18 Marzo 2017, 13:47 PMte tengo por un gurú de NET.

Se agradece el comentario, pero yo creo que en realidad ningún programador se merecería ese título, me refiero, un verdadero gurú de .NET debería saber mucho sobre el uso de la librería de clases de .NET Framework para el resto de tecnologías soportadas como son WPF/Xaml, UWP y ASP.NET entre otros, y del resto de lenguajes soportados como F# y VC++ (administrado). Ningún ser humano tiene tanta capacidad de memoria para procesar todo eso xD, .NET es demasiado gigantesco.

¡Saludos!
#2683
Cita de: FJDA en 18 Marzo 2017, 12:42 PMPersonalmente creo que VB,  C# y C++  tiene mucha más funcionalidad y complejidad que javascript.

veo en Internet muchos comentarios negativos hacia VB.NET y no entiendo muy bien el porqué, En algunos aspectos lo entiendo pero en términos de funcionalidad y complejidad no creo que sea como hablar de él como si fuera de preescolar.

Bueno, ese tipo de comentarios y/o burlas que hayas escuchado como ya te habrás dado cuenta por ti mismo (puesto que dices haber trabajado muchos años en ambos lenguajes) evidencian prejuicios absurdos y una ignorancia absoluta del lenguaje VB.NET, por que no tienen argumentos para comparar y decir esas cosas. La gente que se enriquece el ego criticando algo sin tener ni put@ idea de lo que está hablando tiene muy poco de inteligente, pero ya se sabe, hay demasiados pseudo-eruditos de la informática en el mundo... como en todo lo demás xD.

De hecho las diferencias en funcionalidades entre VB.NET y C# se cuentan con los dedos de una mano, y ambos proprocionan ciertos beneficios con respecto al otro (cosa que la mayoría de gente olvida de forma conveniente al poner por encima a C#), la más significativa de C# sería la capacidad de usar código no administrado con punteros, que eso no es nada complejo una vez se aprende; por el resto ambos lenguajes pueden hacerlo TODO igual, ya que ambos se basan en la misma librería de clases de .NET Framework así que deben usar o recurrir a LO MISMO y compilan bajo las mismas intrucciones del CLR de Microsoft, así que diferencias las justitas. Y la única diferencia de complejidad entre VB.NET y C# es que uno ha sido desarrollado con una sintáctica y semántica humanizada, y el otro por universitarios a los que les gusta el masoquismo y los simbolitos enrevesados, ya ves tu, si uno se cree mejor programador tan solamente por usar un lenguaje más "inintelegible" entonces esa persona más bien es medio tonta y con pocas luces.
Oye, que está bien usar C# o el lenguaje que uno quiera, solo digo que no está bien creerse Dios por usar "X" lenguaje con una sintaxis c-like o parecida y que otra persona use un lenguaje que tenga una sintaxis diferente a lo habitual; eso en realidad no es que sea peor sinó más bien todo lo contrario (a mi por lo menos la sintaxis de lenguajes algo humanizados como VB.NET o Ruby o PascalScript me ayudan a mejorar el tiempo/rendimiento de programación en comparación con otros), pero bueno, los prejuicios de la gente son dificiles de erradicar y lo cierto es que toda la morralla de códigos de VB6 hizo mucho daño al mundo y eso no se olvida tan facilmente xD.

PD: Solo es mi opinión personal, que nadie se sienta ofendido, a mi me gusta C# también.

¡Saludos!
#2684
Cita de: German_Aparicio en 18 Marzo 2017, 07:25 AMuna pregunta de como hackear mi propio steam

Tú tienes un juego pirata y lo que estás preguntando es como hackear la red de Steam para conseguir robar una llave original (steam cd-key) para ese juego y así poder instalártelo desde el cliente de Steam como si hubieras comprado el juego. No me parece a mi que eso sea una pregunta de "cómo hackear mi propio Steam", ya que esta pregunta que hiciste no tiene nada que ver con poner a prueba la seguridad de tu cuenta de Steam, sino más bien como hackear a Steam en general de forma inconsentida e ilegal en tu propio beneficio personal.

De todas formas la intención de pretender hackear un sistema de llaves/licencias tan sofisticado como Steam y además querer hacerlo sin haberse pasado mínimo 5-10 años estudiando sistemas de redes e ing. inversa es algo bastante surrealista (o ingenuo).

Cita de: German_Aparicio en 18 Marzo 2017, 07:25 AMyo pensaba que el foro de la página "elhacker" se trataba simplemente de eso "hackear" intuí eso por el nombre pero bue

elhacker.net es una comunidad de hacking ético. Cuando te registres en un sitio deberías leer las normas para conocer los temas prohibidos antes de publicar, en lugar de dejarte llevar por la intuición.

A mi no me molestan este tipo de preguntas, de hecho si por mi fuera se hablarían estas cosas; tan solo me limito a cumplir las normas. Y bueno, ya que el coadmin en cuestión leyó lo que dije arriba pero no ha manifestado ninguna opinión, y como tampoco es que se pueda aportar mucho más a un tema como este, pues me dispongo a cerrar el tema.

¡Saludos!
#2685
Considero que este tema debería ser bloqueado con candado para que no se promuevan actos delictivos, pero bueno, ya que ha contestado primero un co-admin, que decidan ellos si se cierra o no.

En lugar de intentar "hackear" las keys de steam (cosa que no conseguirás en la vida) lo que puedes hacer es comprarlas mucho más baratas en sitios como www.g2a.com. De hecho tengo un amiguete en el foro que se compró el ARK + la expansión por 12€ o así (cuesta 40€ en steam), se ahorró unos 30€, y le funciona perfecto... eso si que fue un buen "hack".

Saludos.
#2686
Scripting / Re: Crear un batch
17 Marzo 2017, 04:24 AM
Cita de: yottaXT en 17 Marzo 2017, 02:18 AMde los lenguajes que mencionaste anteriormente, ¿ cual consideras que logra el propósito que busco?  de manera eficiente, sencilla, que tenga una curva de aprendizaje rápida y consideres valioso de invertir tu tiempo.

Por nivel de complejidad en general basándome en mi criterio personal: Batch, VBS, javascript for Windows y PowerShell  -puedes desarollar scripts en todos ellos dese Windows/Notepad sin necesidad de descargarte ningún intérprete adicional.

Cita de: yottaXT en 17 Marzo 2017, 02:18 AMtengo algunas guías de VBS ¿quizá sea buena idea invertir mi tiempo en ese?

Antes que Batch, y en mi opinión personal: sí, por supuesto, tienes mucho más que ganar invirtiendo tu tiempo en aprender VBS que Batch. Con VBS puedes hacer todo lo que puedas hacer en Batch con mayor control.

¡Saludos!
#2687
Cita de: simorg en 16 Marzo 2017, 16:13 PMsi quieres experimentar con "orgasmos cerebrales" busca en Youtube Frecuencias binaurales eroticas, Hands free........eso es muchisimo más efectivo. :xD

No le consigo ver el supuesto toque erótico a esos sonidos, pero interesante parece un rato, me imagino que serán las típicas frecuencias que han desarrollado de forma sofisticada en laboratorios para sugestionar el cerebro a sentir ciertas sensaciones (como la música de los laboratorios Hemi-Sync para ayudar a conseguir el desdoblamiento Astral, presuntamente).

Gracias, me informaré un poco a ver.




Cita de: El_Andaluz en 16 Marzo 2017, 19:58 PM
Opino igual que los demás compañero no me trasmiten nada por el cuerpo, ni relajación ni orgamos cerebral ni nada, para escuchar esos vídeos y un tío haciendo ruidos comiendo galletas delante de un micro y hablando bajito me pone nervioso para eso prefiero hacerme una paja y relajarme. :xD

Hay muchos "triggers" (sonidos desencadenantes) y no todos son aptos para todo el mundo, por ejemplo el sonido de comer galletas y/o hacer el sonido de comer el orificio de la oreja pues hay gente que le gusta y gente que no lo puede soportar. Estoy seguro que con los sonidos de besos femeninos no te quejarás o esos otros sonidos que parece que estén comiendo una buena..."zanahoria", ¿he? xD.

Yo no he visto muchos videos de estos por el momento, todo sea dicho, pero si que he probado a ponerme a programar y en lugar de ponerme música me pongo un video de estos y me siento más relajado (la programación estresa mucho). Ahora, cosquilleos no siento ninguno... se dice que eso del cosquilleo se tiene desde que naces, o no se tiene (algo asi como los sonidos insoportables que a algunos le hacen "chirriar" el oido y a otros no).
#2688
Cita de: Orubatosu en 16 Marzo 2017, 13:02 PM¿Porque se hablará de "orgasmo cerebral" cuando todos los orgasmos se producen en el cerebro?

Lo llaman orgamo cerebral por que la práctica del ASMR a algunas personas les causa un hormigueo que se siente justo en el cerebro, por ende, se podría decir que es un orgamo cerebral en el sentido más literal :xD.

¡Saludos!



#2689
Bueno, vamos a ver, es que hay autoclickers y autoclickers, así como hay protecciones y protecciones... me refiero, que hay autoclickers muy básicos (que dependen de metodologías mediocres y obsoletas) y aparte de eso hay juegos sin protección alguna, o con una protección anti-autoclick básica o ya con protecciones de detección más sofisticadas.

Sé a lo que te refieres, pues a mi me pasó en un MMORPG, y desconozco si ese tipo de protección tendrá algún nombre técnico, pero creo que te puedo ofrecer otros datos y conjeturas que de igual modo te servirán de ayuda...

Sobre la detección:
Si se trata de un juego online, de hecho se sabe a ciencia cierta que varios juegos online (MMORPGS) hacen lo siguiente, sería monitorizar el tiempo que el usuario/jugador se mantiene en linea, así como la velocidad y la posición y el movimiento de los botones del ratón que pulsa, y según esos y otros factores puede determina si se trata de un jugador sospechoso (un BOT, vaya) y entonces almacena esa toda esa información en una base de datos y según eso pues podrían activar algún mecanismo (el cual no tengo ni idea de como funcionará) para denegar los clicks que son enviados de la parte del cliente.

Si se trata de un juego offline, pues lo mismo que arriba pero sin una base de datos remota intermediaria, me refiero, simplemente monitorizando los eventos del mouse para intentar evaluar si se trata de eventos simulados (BOT) o no, y a partir de ahí decidir bloquearlos o no.

Desconozco si habrá otros métodos de detección.

Sobre el bypass:
Como ya dije hay autoclicks y autoclicks... me juego el cuello a que la mayoría (el 90%) de esas aplicaciones para Windows utilizan la API de Windows mouse_event para simular las pulsaciones de los botones del mouse, y eso es una metodología muy conocida (además de obsoleta) así que probablemente todos los juegos que hayan decidido implementar una protección anti-autoclick lo primero que implementarán o serán capaces de hacer será interceptar las llamadas de esa función de Windows. Una manera mucho más idonea de desarollar un algoritmo que simule los eventos y las pulsaciones de los botones del mouse sería utilizando la función SendInput de Windows junto a la API de RAW_INPUT, eso es mucho más tedioso de implementar (fuera de C++) y por eso la gente no lo suele hacer.

Aparte, la mayoría de esos autoclickers no están enfocadas al uso de videojuegos, es comprensible, así que probablemente seguirán unas órdenes "secuenciales" o "lineales" por así decirlo, me explico, si tú programas una simulación para que el puntero del ratón se mueva de "A" a "B" y haga un "Click", entonces el autoclicker reproducira la acción de movimiento de forma lineal, en lugar de añadir variaciones en ese movimiento (ej. mover de "A" a una posición aleatoria y luego a "B") para intentar prevenir o engañar a un posible sistema de detección de autoclicks.

Es probable que a lo mejor esas metodologías básicas de intentar bypassear una protección anti-autoclick sean en vano, ya que se supone que para un software sofisticado debería ser más o menos facil determinar si los movimientos y pulsaciones del ratón provienen de un dispositivo físico o por lo contrario son una simulación.

¿Y entonces, que nos queda?, pues quizás la clave sea desarrollar un driver para simular un dispositivo físico (virtual) del mouse, eso es precisamente lo que parece hacer este autoclicker de aquí abajo (si no he leido mal, creo que hace eso, el cual está enfocado al uso de videojuegos y promete ser capaz de evitar ese tipo de protecciones anti-autoclick, de hecho el autor del programa se ofrece a implementar la compatibilidad con cualquier juego que sea capaz de detectar sus autoclciks, solo tendrías que enviarle un email diciéndole el jeugo y esperar a que lo haga funcionar xD. No creo que vayas a encontrar nada mejor en ese sentido, aquí te lo dejo:

+

Ya me dirás que tal te ha ido con ese programa :).

PD: Yo no lo he probado.

¡Saludos!
#2690
Cita de: minikarpin en 13 Marzo 2017, 10:45 AMTengo que buscar una palabra en una frase introducida, el problema es que no se como contar posiciones

No puedo usar for (no nos deja usarlo la profesora).

Pues entonces no es un ejercicio práctico. Sinceramente esa profesora no debería estar enseñando algoritmos recursivos ni otras metodologías que sean rebuscadas para conseguir hacer lo que hace un FOR de la única forma eficiente en Batch, por que eso son malos hábitos de programación y tiene sus consecuencias.

El modo eficiente de determinar la posición de un caracter en una cadena de texto es usando un FOR para poder iterar los caracteres y así ir sumando sus índices. La otra metodología sería usando etiquetas (Call, GoTo. Labels), saltanto de una parte del código a otro y esto en según que circunstancias (demasiado recursividad saltos/llamadas consecutivas) inevitablemente desbordará la cola de la pila de llamadas generando un error de desbordamiento de la pila de llamadas, valga la redundancia.

De verdad te lo digo, es un peligro acostumbrarse a hacer estas malas prácticas y tomarlo como costumbres, por que esto solo servirá para conseguir ser un mal programador que tienda a crear código spaguetti, mal estructurado y con alto riesgo de errores. Pero en fin, si te han pedido hacerlo de la manera menos práctica en la programación entonces aquí te enseño el modo:

Código (dos) [Seleccionar]
@echo OFF

Set "str=Hello World!"
Set "find=world"

Call :FindStrPos "%str%" "%find%" Y :: Result: 7
Echo:%Pos%

Call :FindStrPos "%str%" "hello" N :: Result: 0 (nul, because "N" of sensitive case search)
Echo:%Pos%

Pause
Exit



:FindStrPos :: %1=InputString, %2=FindString, %3=IgnoreCase(Y/N)
If Not Defined funcPos   (Set /A "funcPos=0")
If Not Defined funcInput (Set "funcInput=%~1")
If Not Defined funcFind  (Set "funcFind=%~2")
If /I "%~3" EQU "Y" If Not Defined ignoreCase (Set "ignoreCase=/I")
Set /A "funcPos+=1"
(
Echo:%funcInput%|FindStr %ignoreCase% /B /C:"%funcFind%"
)1>NUL || (
Set "funcInput=%funcInput:~1%"
If Defined funcInput (GoTo :FindStrPos)
       Set /A "funcPos=0"
)
Set "Pos=%funcPos%"
Set /A "funcPos=0"
Set "funcInput="
Set "funcFind="
Set "ignoreCase="
Exit /B 0


¡Saludos!