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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Leer una clase en un formulario Windows de Visual C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: Leer una clase en un formulario Windows de Visual C#  (Leído 12,657 veces)
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: Leer una clase en un formulario Windows de Visual C#
« Respuesta #20 en: 11 Junio 2015, 23:25 pm »

Hola:

Impresionante, pedazo trabajo. JAjaja.

Te iba poner el mismo documento pero en otra Web.
http://www.emulatronia.com/doctec/consolas/snes/sneskart.html

Sacada de aqui.
http://www.emulatronia.com/consolas/doctec/dt-snes.htm

En este se explica mejor las cabeceras.
http://en.m.wikibooks.org/wiki/Super_NES_Programming/SNES_memory_map

Aquí información de SNES de unas 800 páginas, descarga de 24 MB.
http://www.romhacking.net/documents/226/

Una curiosidad. Por ejemplo, cuando vayas a modificar un dato, que es el único ASCII que hay legible en toda la ROM, es decir, el título del juego, si lo modificas, también en otra área de la ROM, se cambia el Checksum.

¿Cómo lo solucionas?

Saludos.


Edito:
Hice por ahora hasta aquí y esto hasta las ******************************** de colocar compañías.
Código
  1.                if (Codigo_Licencia == "0")
  2.                {
  3.                    textBox_Codigo_Licencia_2.Text = "Código de Licencia inválida";
  4.                }
  5.                else if (Codigo_Licencia == "1")
  6.                {
  7.                    textBox_Codigo_Licencia_2.Text = "Nintendo";
  8.                }
  9.                else if (Codigo_Licencia == "5")
  10.                {
  11.                    textBox_Codigo_Licencia_2.Text = "Zamuse";
  12.                }
  13.                else if (Codigo_Licencia == "8")
  14.                {
  15.                    textBox_Codigo_Licencia_2.Text = "Capcom";
  16.                }
  17.                else if (Codigo_Licencia == "9")
  18.                {
  19.                    textBox_Codigo_Licencia_2.Text = "HOT B";
  20.                }
  21.                else if (Codigo_Licencia == "A")
  22.                {
  23.                    textBox_Codigo_Licencia_2.Text = "Jaleco";
  24.                }
  25.                else if (Codigo_Licencia == "B")
  26.                {
  27.                    textBox_Codigo_Licencia_2.Text = "STORM (Sales Curve) (1)";
  28.                }
  29.                else if (Codigo_Licencia == "F")
  30.                {
  31.                    textBox_Codigo_Licencia_2.Text = "Mebio Software";
  32.                }
  33.                else if (Codigo_Licencia == "12")
  34.                {
  35.                    textBox_Codigo_Licencia_2.Text = "Gremlin Graphics";
  36.                }
  37.                else if (Codigo_Licencia == "15")
  38.                {
  39.                    textBox_Codigo_Licencia_2.Text = "COBRA Team";
  40.                }
  41.                else if (Codigo_Licencia == "16")
  42.                {
  43.                    textBox_Codigo_Licencia_2.Text = "Human/Field";
  44.                }
  45.                else if (Codigo_Licencia == "18")
  46.                {
  47.                    textBox_Codigo_Licencia_2.Text = "Hudson Soft";
  48.                }
  49.                else if (Codigo_Licencia == "1A")
  50.                {
  51.                    textBox_Codigo_Licencia_2.Text = "Yanoman";
  52.                }
  53.                else if (Codigo_Licencia == "1C")
  54.                {
  55.                    textBox_Codigo_Licencia_2.Text = "Tecmo (1)";
  56.                }
  57.                else if (Codigo_Licencia == "1E")
  58.                {
  59.                    textBox_Codigo_Licencia_2.Text = "Forum";
  60.                }
  61.                else if (Codigo_Licencia == "1F")
  62.                {
  63.                    textBox_Codigo_Licencia_2.Text = "Park Place Productions / VIRGIN";
  64.                }
  65.                else if (Codigo_Licencia == "21")
  66.                {
  67.                    textBox_Codigo_Licencia_2.Text = "Tokai Engeneering (SUNSOFT?)";
  68.                }
  69.                else if (Codigo_Licencia == "22")
  70.                {
  71.                    textBox_Codigo_Licencia_2.Text = "POW";
  72.                }
  73.                else if (Codigo_Licencia == "23")
  74.                {
  75.                    textBox_Codigo_Licencia_2.Text = "Loriciel / Micro World";
  76.                }
  77.                else if (Codigo_Licencia == "28")
  78.                {
  79.                    textBox_Codigo_Licencia_2.Text = "Kemco (1)";
  80.                }
  81.                else if (Codigo_Licencia == "29")
  82.                {
  83.                    textBox_Codigo_Licencia_2.Text = "Seta Co.,Ltd.";
  84.                }
  85.                else if (Codigo_Licencia == "2D")
  86.                {
  87.                    textBox_Codigo_Licencia_2.Text = "Visit Co.,Ltd.";
  88.                }
  89.                else if (Codigo_Licencia == "53")
  90.                {
  91.                    textBox_Codigo_Licencia_2.Text = "HECT";
  92.                }
  93.                else if (Codigo_Licencia == "3D")
  94.                {
  95.                    textBox_Codigo_Licencia_2.Text = "Loriciel";
  96.                }
  97.                else if (Codigo_Licencia == "3F")
  98.                {
  99.                    textBox_Codigo_Licencia_2.Text = "Seika Corp.";
  100.                }
  101.                else if (Codigo_Licencia == "40")
  102.                {
  103.                    textBox_Codigo_Licencia_2.Text = "UBI Soft";
  104.                }
  105.                else if (Codigo_Licencia == "47")
  106.                {
  107.                    textBox_Codigo_Licencia_2.Text = "Spectrum Holobyte";
  108.                }
  109.                else if (Codigo_Licencia == "49")
  110.                {
  111.                    textBox_Codigo_Licencia_2.Text = "Irem";
  112.                }
  113.                else if (Codigo_Licencia == "4B")
  114.                {
  115.                    textBox_Codigo_Licencia_2.Text = "Raya Systems/Sculptured Software";
  116.                }
  117.                else if (Codigo_Licencia == "4C")
  118.                {
  119.                    textBox_Codigo_Licencia_2.Text = "Renovation Pruducts";
  120.                }
  121.                else if (Codigo_Licencia == "4D")
  122.                {
  123.                    textBox_Codigo_Licencia_2.Text = "Malibu Games (T*HQ Inc.) / Black Pearl";
  124.                }
  125.                else if (Codigo_Licencia == "4F")
  126.                {
  127.                    textBox_Codigo_Licencia_2.Text = "U.S. Gold";
  128.                }
  129.                else if (Codigo_Licencia == "50")
  130.                {
  131.                    textBox_Codigo_Licencia_2.Text = "Absolute Entertainment";
  132.                }
  133.                else if (Codigo_Licencia == "51")
  134.                {
  135.                    textBox_Codigo_Licencia_2.Text = "Acclaim";
  136.                }
  137.                else if (Codigo_Licencia == "52")
  138.                {
  139.                    textBox_Codigo_Licencia_2.Text = "Activision";
  140.                }
  141.                else if (Codigo_Licencia == "53")
  142.                {
  143.                    textBox_Codigo_Licencia_2.Text = "American Sammy";
  144.                }
  145.                else if (Codigo_Licencia == "54")
  146.                {
  147.                    textBox_Codigo_Licencia_2.Text = "GameTek";
  148.                }
  149.                else if (Codigo_Licencia == "55")
  150.                {
  151.                    textBox_Codigo_Licencia_2.Text = "Hi Tech";
  152.                }
  153.                else if (Codigo_Licencia == "56")
  154.                {
  155.                    textBox_Codigo_Licencia_2.Text = "LJN Toys";
  156.                }
  157.                else if (Codigo_Licencia == "5A")
  158.                {
  159.                    textBox_Codigo_Licencia_2.Text = "Mindscape";
  160.                }
  161.                else if (Codigo_Licencia == "5D")
  162.                {
  163.                    textBox_Codigo_Licencia_2.Text = "Technos Japan Corp. (Tradewest)";
  164.                }
  165.                else if (Codigo_Licencia == "5F")
  166.                {
  167.                    textBox_Codigo_Licencia_2.Text = "American Softworks Corp.";
  168.                }
  169.                else if (Codigo_Licencia == "60")
  170.                {
  171.                    textBox_Codigo_Licencia_2.Text = "Titus";
  172.                }
  173.                else if (Codigo_Licencia == "61")
  174.                {
  175.                    textBox_Codigo_Licencia_2.Text = "Virgin Games";
  176.                }
  177.                else if (Codigo_Licencia == "62")
  178.                {
  179.                    textBox_Codigo_Licencia_2.Text = "Maxis";
  180.                }
  181.                else if (Codigo_Licencia == "67")
  182.                {
  183.                    textBox_Codigo_Licencia_2.Text = "Ocean";
  184.                }

Aún me queda mucho y cansa psicológicamente.  ;D

Me salen juego con el valor 33 Hex. En la lista de abajo de tu enlace, no está precismamente esa compañía.

Código
  1. LICENSE       : 1 BYTE
  2.     0 <Invalid License Code>
  3.     1 Nintendo
  4.     5 Zamuse
  5.     8 Capcom
  6.     9 HOT B
  7.    10 Jaleco
  8.    11 STORM (Sales Curve) (1)
  9.    15 Mebio Software
  10.    18 Gremlin Graphics
  11.    21 COBRA Team
  12.    22 Human/Field
  13.    24 Hudson Soft
  14.    26 Yanoman
  15.    28 Tecmo (1)
  16.    30 Forum
  17.    31 Park Place Productions / VIRGIN
  18.    33 Tokai Engeneering (SUNSOFT?)
  19.    34 POW
  20.    35 Loriciel / Micro World
  21.    38 Enix
  22.    40 Kemco (1)
  23.    41 Seta Co.,Ltd.
  24.    45 Visit Co.,Ltd.
  25.    53 HECT
  26.    61 Loriciel
  27.    64 Seika Corp.
  28.    65 UBI Soft
  29.    71 Spectrum Holobyte
  30.    73 Irem
  31.    75 Raya Systems/Sculptured Software
  32.    76 Renovation Pruducts
  33.    77 Malibu Games (T*HQ Inc.) / Black Pearl
  34.    79 U.S. Gold
  35.    80 Absolute Entertainment
  36.    81 Acclaim
  37.    82 Activision
  38.    83 American Sammy
  39.    84 GameTek
  40.    85 Hi Tech
  41.    86 LJN Toys
  42.    90 Mindscape
  43.    93 Technos Japan Corp. (Tradewest)
  44.    95 American Softworks Corp.
  45.    96 Titus
  46.    97 Virgin Games
  47.    98 Maxis
  48.   103 Ocean
  49.   105 Electronic Arts
  50.   107 Laser Beam
  51.   110 Elite
  52.   111 Electro Brain
  53.   112 Infogrames
  54.   113 Interplay
  55.   114 LucasArts
  56.   115 Sculptured Soft
  57.   117 STORM (Sales Curve) (2)
  58.   120 THQ Software
  59.   121 Accolade Inc.
  60.   122 Triffix Entertainment
  61.   124 Microprose
  62.   127 Kemco (2)
  63.   130 Namcot/Namco Ltd. (1)
  64.   132 Koei/Koei! (second license?)
  65.   134 Tokuma Shoten Intermedia
  66.   136 DATAM-Polystar
  67.   139 Bullet-Proof Software
  68.   140 Vic Tokai
  69.   143 I'Max
  70.   145 CHUN Soft
  71.   146 Video System Co., Ltd.
  72.   147 BEC
  73.   151 Kaneco
  74.   153 Pack in Video
  75.   154 Nichibutsu
  76.   155 TECMO (2)
  77.   156 Imagineer Co.
  78.   160 Wolf Team
  79.   164 Konami
  80.   165 K.Amusement
  81.   167 Takara
  82.   169 Technos Jap. ????
  83.   170 JVC
  84.   172 Toei Animation
  85.   173 Toho
  86.   175 Namcot/Namco Ltd. (2)
  87.   177 ASCII Co. Activison
  88.   178 BanDai America
  89.   180 Enix
  90.   182 Halken
  91.   186 Culture Brain
  92.   187 Sunsoft
  93.   188 Toshiba EMI/System Vision
  94.   189 Sony (Japan) / Imagesoft
  95.   191 Sammy
  96.   192 Taito
  97.   194 Kemco (3) ????
  98.   195 Square
  99.   196 NHK
  100.   197 Data East
  101.   198 Tonkin House
  102.   200 KOEI
  103.   202 Konami USA
  104.   205 Meldac/KAZe
  105.   206 PONY CANYON
  106.   207 Sotsu Agency
  107.   209 Sofel
  108.   210 Quest Corp.
  109.   211 Sigma
  110.   214 Naxat
  111.   216 Capcom Co., Ltd. (2)
  112.   217 Banpresto
  113.   219 Hiro
  114.   221 NCS
  115.   222 Human Entertainment
  116.   223 Ringler Studios
  117.   224 K.K. DCE / Jaleco
  118.   226 Sotsu Agency
  119.   228 T&ESoft
  120.   229 EPOCH Co.,Ltd.
  121.   231 Athena
  122.   232 Asmik
  123.   233 Natsume
  124.   234 King/A Wave
  125.   235 Atlus
  126.   236 Sony Music
  127.   238 Psygnosis / igs
  128.   243 Beam Software
  129.   244 Tec Magik
  130.   255 Hudson Soft

Por si alguien lo sabe, lo indica.

Gracias por todo.


« Última modificación: 12 Junio 2015, 07:20 am por Meta » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.809



Ver Perfil
Re: Leer una clase en un formulario Windows de Visual C#
« Respuesta #21 en: 12 Junio 2015, 12:51 pm »

¿Cómo lo solucionas?

No llego a comprender cómo se computa el Checksum.

De todas formas tampoco le doy ningún interés, ya que el checksum es solo un indicador, un bad checksum no afecta al comportamiento del juego.


Edito:
Hice por ahora hasta aquí y esto hasta las ******************************** de colocar compañías.

Lo que estás haciendo, aparte de no ser nada práctico, son malas prácticas de programación,
¿en que momento se te ocurre que la mejor solución es ponerte a escribir una a una las +120 condicionales?  :-\,
¿para que tienes a tu disposición las Classes/Types de .Net Framework si no las usas?, ¿para que estás programando en C#?.

Existe una cosa que se llama Diccionarios (Dictionary) entre otros muchos tipos de objetos que puedes utilizar, como listas, tuplas, arrays dimensionales, arrays escalonados (jagged array), etc, o tu propia Class.

Piensa mejor en las alternativas que realmente existen para ahorrarte tiempo, antes de volver a hacer algo cómo lo que has hecho :P.

yo por ejemplo no me puse a escribir una a una la enumeración con las +120 entradas, no, esa enumeración la conseguí desarrollando un código de 2 o 3 lineas para reemplazar el orden de las palabras (los números a la derecha) de la lista original, y luego cojí un editor de texto que soportase expresiones regulares (Sublime Text) y usé el reemplazo mediante dichas expresiones para los caracteres ilegales; En caso de no haber tenido un editor que lo hiciese, habría desarrollado un pequeño código de pocas lineas para utilizar RegEx con los mismos fines.

Ejemplo:
Código
  1. Public Class Form1
  2.  
  3.    Dim licenses As String =
  4.        <a>
  5. 0 Invalid License Code
  6. 1 Nintendo
  7. 5 Zamuse
  8. 8 Capcom
  9. 9 HOT B
  10. 10 Jaleco
  11. 11 STORM (Sales Curve) (1)
  12. 15 Mebio Software
  13. 18 Gremlin Graphics
  14. 21 COBRA Team
  15. 22 Human/Field
  16. 24 Hudson Soft
  17. 26 Yanoman
  18. 28 Tecmo (1)
  19. 30 Forum
  20. 31 Park Place Productions / VIRGIN
  21. 33 Tokai Engeneering (SUNSOFT?)
  22. 34 POW
  23. 35 Loriciel / Micro World
  24. 38 Enix
  25. 40 Kemco (1)
  26. 41 Seta Co.,Ltd.
  27. 45 Visit Co.,Ltd.
  28. 53 HECT
  29. 61 Loriciel
  30. 64 Seika Corp.
  31. 65 UBI Soft
  32. 71 Spectrum Holobyte
  33. 73 Irem
  34. 75 Raya Systems/Sculptured Software
  35. 76 Renovation Pruducts
  36. 77 Malibu Games (T*HQ Inc.) / Black Pearl
  37. 79 U.S. Gold
  38. 80 Absolute Entertainment
  39. 81 Acclaim
  40. 82 Activision
  41. 83 American Sammy
  42. 84 GameTek
  43. 85 Hi Tech
  44. 86 LJN Toys
  45. 90 Mindscape
  46. 93 Technos Japan Corp. (Tradewest)
  47. 95 American Softworks Corp.
  48. 96 Titus
  49. 97 Virgin Games
  50. 98 Maxis
  51. 103 Ocean
  52. 105 Electronic Arts
  53. 107 Laser Beam
  54. 110 Elite
  55. 111 Electro Brain
  56. 112 Infogrames
  57. 113 Interplay
  58. 114 LucasArts
  59. 115 Sculptured Soft
  60. 117 STORM (Sales Curve) (2)
  61. 120 THQ Software
  62. 121 Accolade Inc.
  63. 122 Triffix Entertainment
  64. 124 Microprose
  65. 127 Kemco (2)
  66. 130 Namcot/Namco Ltd. (1)
  67. 132 Koei/Koei! (second license?)
  68. 134 Tokuma Shoten Intermedia
  69. 136 DATAM-Polystar
  70. 139 Bullet-Proof Software
  71. 140 Vic Tokai
  72. 143 I'Max
  73. 145 CHUN Soft
  74. 146 Video System Co., Ltd.
  75. 147 BEC
  76. 151 Kaneco
  77. 153 Pack in Video
  78. 154 Nichibutsu
  79. 155 TECMO (2)
  80. 156 Imagineer Co.
  81. 160 Wolf Team
  82. 164 Konami
  83. 165 K.Amusement
  84. 167 Takara
  85. 169 Technos Jap. ????
  86. 170 JVC
  87. 172 Toei Animation
  88. 173 Toho
  89. 175 Namcot/Namco Ltd. (2)
  90. 177 ASCII Co. Activison
  91. 178 BanDai America
  92. 180 Enix
  93. 182 Halken
  94. 186 Culture Brain
  95. 187 Sunsoft
  96. 188 Toshiba EMI/System Vision
  97. 189 Sony (Japan) / Imagesoft
  98. 191 Sammy
  99. 192 Taito
  100. 194 Kemco (3) ????
  101. 195 Square
  102. 196 NHK
  103. 197 Data East
  104. 198 Tonkin House
  105. 200 KOEI
  106. 202 Konami USA
  107. 205 Meldac/KAZe
  108. 206 PONY CANYON
  109. 207 Sotsu Agency
  110. 209 Sofel
  111. 210 Quest Corp.
  112. 211 Sigma
  113. 214 Naxat
  114. 216 Capcom Co., Ltd. (2)
  115. 217 Banpresto
  116. 219 Hiro
  117. 221 NCS
  118. 222 Human Entertainment
  119. 223 Ringler Studios
  120. 224 K.K. DCE / Jaleco
  121. 226 Sotsu Agency
  122. 228 TandESoft;
  123. 229 EPOCH Co.,Ltd.
  124. 231 Athena
  125. 232 Asmik
  126. 233 Natsume
  127. 234 King/A Wave
  128. 235 Atlus
  129. 236 Sony Music
  130. 238 Psygnosis / igs
  131. 243 Beam Software
  132. 244 Tec Magik
  133. 255 Hudson Soft
  134. </a>.Value
  135.  
  136.    Private licDict As New Dictionary(Of String, String)
  137.  
  138.    Private Sub CreateLicenseDictionary()
  139.  
  140.        For Each line As String In licenses.Trim.Split({ControlChars.Lf}, StringSplitOptions.RemoveEmptyEntries)
  141.  
  142.            Dim code As Byte = Convert.ToByte(line.Substring(0, line.IndexOf(" "c)))
  143.            Dim codeHex As String = Convert.ToString(code, toBase:=16)
  144.            Dim name As String = line.Substring(line.IndexOf(" "c), line.Length - code.ToString.Length)
  145.  
  146.            licDict.Add(codeHex, name)
  147.  
  148.        Next line
  149.  
  150.    End Sub
  151.  
  152.    Private Sub Test()
  153.  
  154.        textBox_Codigo_Licencia_2.Text = Me.licDict(Codigo_Licencia)
  155.  
  156.    End Sub
  157.  
  158. End Class

Puedes hacer algo parecido en C#, con los datos de la variable "code" y "name" también puedes crear la enumeración de C# en un archivo de texto, construyendo el string con ese formato específico, que solo tendrías que copiar y pegar en tu código fuente.

En fin... será por porisiblidades.

Saludos!


« Última modificación: 12 Junio 2015, 13:02 pm por Eleкtro » En línea

Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Leer Texto de un archivo TXT y pasarlo a un Formulario
Programación Visual Basic
washandwear 6 9,421 Último mensaje 1 Octubre 2006, 13:25 pm
por _Sergi_
Como acceder a controles de un formulario desde otra clase?
.NET (C#, VB.NET, ASP)
Rakzo-Fimbres 5 16,193 Último mensaje 22 Julio 2008, 21:13 pm
por Rakzo-Fimbres
comunicacion entre clase y formulario
PHP
mag55 6 6,193 Último mensaje 10 Noviembre 2009, 22:28 pm
por Kasi
Posible leer un archivo en kiloBytes con la clase RandomAccessFile
Java
cyberserver 0 2,368 Último mensaje 5 Diciembre 2009, 09:23 am
por cyberserver
Enviar datos de un formulario de una pagina JSP a una clase.
Java
h3ct0r 3 8,133 Último mensaje 22 Febrero 2011, 20:07 pm
por h3ct0r
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines