|
171
|
Programación / .NET (C#, VB.NET, ASP) / Re: Juego de Tres en raya C#
|
en: 4 Julio 2012, 16:57 pm
|
Subelo a un Host más libre como SpeedyShare o mejor a SourceForge, quiero ver como funciona el IA yo hice uno hace tiempo también Edito: Excelente el diseño, la música , el código esta muy bueno también, el IA cubre todas las condiciones a mano pero se vería mejor recorrer los diagonales y lineas para jugar donde haya peligro de perder. Por otra parte veo que tienes un buen sentido de la ubicación de lo que haces, son pocos los programadores, que le damos solución a un problema usando matemática. Algunas recomendaciones al presionar D para reanudar verifica que la música este detenida, iniciar la música de fondo enseguida termine la presentación.
|
|
|
172
|
Programación / .NET (C#, VB.NET, ASP) / Re: Problema visual basic 2010
|
en: 4 Julio 2012, 01:49 am
|
Te recuerdo que yo no tengo la responsabilidad ni obligación de responderte, simplemente quiero que puedas resolver tu problema. No voy a pelear por si está mal o bien mi respuesta, simplemente te voy a dejar el proyecto corregido con todo lo de arriba y tu lo podrás ver si funciona o no, y es primera vez que haré esto por el solo hecho de que veas que funciona. Los errores son los siguientes: El Form1 llama al Form2 con ShowDialog, el Form1 solo espera por el resultado de Form2 para ser visible no puedes llamar Form1.Show desde Form2, en otras palabras tu no puedes ser padre de tu abuelo. Nunca guardas My.Settings, antes de cerrar. No es necesario una variable de tipo entero en la configuración si le vas a dar el valor 1 y 0 cuando existe Boolean. Un error que no corregí pues debes arreglar gran parte del programa es el siguiente: Si hay contraseña, un Form la solicita; luego cuando estas en Form1 es como si no tuvieses contraseña asignada. Algunas Recomendaciones: No es necesaria la configuración Pass2, simplemente debes verificar que Pass sea nulo para saber que no hay contraseñas asignadas.
|
|
|
173
|
Programación / .NET (C#, VB.NET, ASP) / Captcha v3.0
|
en: 3 Julio 2012, 04:27 am
|
Siempre recuerdo este proyecto y le agrego algo nuevo además de mejorar la velocidad, el código también muestra mucho la parte de como Graphics puede controlar al 100% una imagen, al nivel de poder hacer lo que quieras. Aquí están las versiones 1, 2 y 3 para que se note la diferencia ¿Que es lo nuevo?- Las lineas que interceptaban las letras ahora son curvas
- Las letras ahora aparecen movidas y manchadas
- La mortal mancha, para los OCR, que invierte el color en ReCaptcha, ahora esta en este proyecto
|
|
|
174
|
Programación / .NET (C#, VB.NET, ASP) / Re: Problema visual basic 2010
|
en: 3 Julio 2012, 03:53 am
|
Primero varias recomendaciones espero que no lo tomes a mal Es Comprobar con 'b' Selecciona con doble 'c' Esto, lo puedes colocar en una sola línea hide_file_info.Attributes = hide_file_info.Attributes Or IO.FileAttributes.Hidden hide_file_info.Attributes = hide_file_info.Attributes Or IO.FileAttributes.System hide_file_info.Attributes = hide_file_info.Attributes Or IO.FileAttributes.Encrypted hide_file_info.Attributes = hide_file_info.Attributes Or IO.FileAttributes.ReadOnly
Al asignar Encrypted, el archivo solo podrá ser abierto por el usuario que aplico la propiedad. En vez de nombrar cada Control.Enabled = False
Puedes hacer For Each X As Control In Contenedor.Controls X.Enabled = False Next
No hace falta decir If Condicion = True Then End If
Puedes: If Condicion Then End If
En los Textbox activa la propiedad UseSystemPasswordChar para que se muestren los clásicos asteriscos. Ahora tu problema, en el Form2 al presionar Comprobar, dices Form1.Show cuando ya Form1 esta visible solo está en espera del resultado de Form2, osea debes hacer solamente Me.Close, además dices que en el Form2 cuando se lance el evento FormClosing dices End así que de cualquier forma, se cerrara el programa falles o aciertes la contraseña, yo colocaría Me.Close al presionar comprobar y en FormClosing comprobaría la contraseña si es incorrecta cancelo el cierre y si es correcta no hago nada pues se cerrara el Form2 y dará paso normalmente al Form1 . Con respecto a guardar la contraseña en My.Settings, es demasiado débil, cualquier persona podría sacar la contraseña en 2 segundos. Si este programa es solo con fines de aprendizaje o de práctica entonces se puede obviar esta debilidad.
|
|
|
176
|
Programación / .NET (C#, VB.NET, ASP) / Re: cifrar/descifrar archivos
|
en: 1 Julio 2012, 19:41 pm
|
Esta bien hecho , me gusta la iniciativa de que las personas practiquen sin necesidad de que sea una tarea o un proyecto que necesitan hacer. Un único detalle, si bien es cierto que Rijndael es un poderoso algoritmo de cifrado, que hasta ahora no tiene debilidades conocidas, realizar una mala practica lo debilita notablemente, me refiero al hecho de calcular el IV a partir de la Key, el IV no debe ser tomado como algo secreto ni como una segunda contraseña porque no lo es, deja que la clase Rijndael calcule el IV y guárdalo en el archivo, es más seguro y de mejor práctica. Un error, Si la contraseña no es correcta, igual se crea el archivo "descifrado" sin descifrar.
|
|
|
179
|
Seguridad Informática / Hacking / Re: hack tragamonedas?
|
en: 24 Junio 2012, 03:24 am
|
Todo lo que existe en ingeniería es Hackeable (permitanme esta palabra ). El"Azar" no existe para las maquinas, los Ing. de Software/Sistemas/Electrónica lo tenemos muy claro es solo una sensación de azar al unir muchas variables para generar un número pseudoaleatorio, No digas no se puede en ingeniería, pues han habido casos durante toda la historia de cosas que se creían imposibles, solo hacen falta un grupo de ingenieros con dinero y ocio para solucionar el problema, que sea difícil es otra cosa, pero siempre estará allí la posibilidad. Que obviamente no saldrá la persona que lo descubra a divulgarlo el mismo día sin antes hacerse unos $$$ y luego venderle el error a la compañía jajajajajajaja Han podido robarse información del Pentágono, y no van a poder hackear una simple maquina traga monedas?
|
|
|
180
|
Programación / .NET (C#, VB.NET, ASP) / DeflateStream - Extraña Perdida de Datos
|
en: 23 Junio 2012, 21:30 pm
|
Estoy diseñando una clase que guarda información en un archivo y utiliza DeflateStream como método de compresión, no hay casi información de como comprimir datos en forma de Bytes(), hay mucha documentación de ir directamente al trabajo con archivos, entonces diseñe esta función que al parecer funciona correctamente, pero se pierden algunos Bytes del final de la información comprimida y no encuentro el error por ningún lado, quizás es mal uso de DeflateStream. Para probar la perdida de los datos hice esta prueba: Imports System.IO, System.IO.Compression, System.Text, System.Security.Cryptography Module Module1 #Region " Algoritmo de DeCompresión Deflate " Public Function DeflateDeCompress(ByVal Data As Byte(), _ ByVal Action As CompressionMode) As Byte() DeflateDeCompress = Nothing Dim ResultStream As MemoryStream = Nothing Dim DeCompresser As DeflateStream = Nothing Dim A As Integer, B As New List(Of Byte) Try If Action = CompressionMode.Compress Then ResultStream = New MemoryStream DeCompresser = New DeflateStream(ResultStream, CompressionMode.Compress) DeCompresser.Write(Data, 0, Data.Length) ResultStream.Position = 0 DeflateDeCompress = ResultStream.ToArray Else ResultStream = New MemoryStream(Data) ResultStream.Position = 0 DeCompresser = New DeflateStream(ResultStream, CompressionMode.Decompress) DeflateDeCompress = New Byte() {} DeCompresser.ReadByte() : A = DeCompresser.ReadByte While A <> -1 B.Add(CByte(A)) A = DeCompresser.ReadByte End While DeflateDeCompress = B.ToArray : B.Clear() End If If DeCompresser IsNot Nothing Then DeCompresser.Dispose() End If If ResultStream IsNot Nothing Then ResultStream.Dispose() End If Catch ex As Exception Return Nothing End Try End Function #End Region Public Function MD5_String(ByVal Data As Byte()) As String Return BitConverter.ToString(MD5.Create.ComputeHash(Data)).Replace("-", "").ToLower End Function Sub Main() Dim x As String = "C:\ejemplo.txt" Dim y As Byte() = File. ReadAllBytes(x ) Dim z As Byte() = DeflateDeCompress(y, CompressionMode.Compress) Dim a As Byte() = DeflateDeCompress(z, CompressionMode.Decompress) Console.WriteLine("Archivo de Entrada: {0}", x) Console.WriteLine("Tamaño de Entrada: {0} bytes", y.Length) Console.WriteLine("MD5-{0}", MD5_String(y)) Console.WriteLine() Console.WriteLine("Tamaño Comprimido: {0} bytes ({1}%)", z.Length, Math.Round(z.Length / y.Length * 100 - 100, 2)) Console.WriteLine("MD5-{0}", MD5_String(z)) Console.WriteLine() Console.WriteLine("Tamaño Descomprimido: {0} bytes", a.Length) Console.WriteLine("MD5-{0}", MD5_String(a)) Console.WriteLine() Console.WriteLine("Perdida de {0} bytes", y.Length - a.Length) Erase y, z, a Console.Read() End Sub End Module
Gracias de antemano
|
|
|
|
|
|
|