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

#931
.NET (C#, VB.NET, ASP) / Re: Cambiar Icono
27 Mayo 2018, 03:35 AM
Lee las soluciones:

Suponiendo que sepas el nombre o identificador del recurso de icono que quieres reemplazar, es pan comido, de lo contrario tienes que enumerar los recursos de icono (ya te indiqué la documentación de MSDN para aprender a enumerar recursos) puesto que no siempre el icono principal va a tener el mismo identificador, ni va a usar un identificador en vez de un nombre.

De todas formas siempre que utilices correctamente los parámetros de Resource Hacker no vas a tener problemas con él.




EDITO:

Cita de: Eleкtro en 27 Mayo 2018, 00:29 AM
Es algo que requiere mucho P/Invoking, si le vas a dar poca reusabilidad al código entonces casi mejor sería preferible utilizar cualquier herramienta por linea de comandos tipo Resource Hacker.

Cuando dije de usar Resource Hacker no recordaba que existía esta librería open-source para .NET, la cual tenía guardada por ahí pero creo que nunca le llegué a usar:

Puedes descargar dicha librería y usarla tal cual, o puedes destripar del código fuente lo que no necesites y copiar de esta clase solamente las estructuras nativas o P/Invoking necesario para tus fines:

( para reemplazar un icono solo necesitas las definiciones de las funciones BeginUpdateResource, UpdateResource y EndUpdateResource; para reemplazar un grupo de iconos necesitas también usar la estructura GRPICONDIR y GRPICONDIRENTRY)

Ejemplo de uso:

Como ya dije creo que nunca le llegué a usar (yo hago este tipo de modificaciones con mis propios wrappers de las funciones nativas de Windows, algunas ya mencionadas), así que no puedo recomendar esa librería, pero creo que usar Resource Hacker en general debería aportar mayor seguridad contra posibles errores de cualquier tipo... simplemente por popularidad, veteranía/experiencia y profesionalidad del autor.

Saludos.
#932
.NET (C#, VB.NET, ASP) / Re: Cambiar Icono
27 Mayo 2018, 00:29 AM
Cita de: Jeezy en 26 Mayo 2018, 22:38 PMque tendria que hacer???

Basicamente: manipular la tabla de recursos del archivo executable en cuestión para reemplazar el archivo de icono, por otro distinto...


Es algo que requiere mucho P/Invoking, si le vas a dar poca reusabilidad al código entonces casi mejor sería preferible utilizar cualquier herramienta por linea de comandos tipo Resource Hacker.

Saludos.
#934
Cita de: HAT30 en 26 Mayo 2018, 22:02 PM
...una pequeña ayuda ...
...solo queria saber si habra algun truco para poder adivinarlo al 100%

...nada mas...

Cita de: NEBIRE¿una pequeña ayuda?. ¿Truco?. ¿Adivinarlo al 100%?. ¿Nada más?.

¿Qué edad tienes?. ¿Has ido a la escuela?. No cabe otra posibilidad para semejante ~~~~~~~~~~

Lo peor es que si realmente se pudiera predecir un resultado con una probabilidad de acierto del 100%, el tio espera que la persona capaz de hacer eso le diga el "truco" de gratis para volverse millonario... jajaja

Esto solo puede tener una explicación...



Las únicas apuestas predecibles con probabilidad de acierto de 100% son aquelllas que se realizan entre equipos deportivos orientales, hay mucha mafia deportiva en general, y las páginas de apuestas online lo saben, pero claro, tienes que formar parte de esa mafia para saber cual será el resultado... ;)

Saludos.
#935
.NET (C#, VB.NET, ASP) / Re: Limite de cadena
26 Mayo 2018, 06:39 AM
Ah, ya lo pillo, lo que estás haciendo es declarar un string literal en tiempo de diseño de decenas de miles de lineas o caracteres. bien, ¿por qué lo haces de esa manera?, lo que estás haciendo no es nada óptimo en términos de administración de memoria... ocupar siempre 20-50mb adicionales de RAM por un simple string literal, es una locura. Ese límite del que hablas parece ser implícito: http://source.roslyn.codeplex.com/#Roslyn.Compilers.CSharp.Emit.UnitTests/Emit/EmitErrorTests.cs (linea 329)

Yo en tu lugar añadiría esa cadena de texto en un archivo de texto plano, entonces puedes incluir el archivo como recurso (embedido o no) de tu programa, y simplemente leerías el recurso/cadena de texto cuando lo necesitases... así además de evitar dicho límite, evitas hacer ese mal uso indebido de la memoria de tu programa.

Esa es mi recomendación.

EDITO: si por lo que sea no quieres seguir la recomendación y quieres tenerlo como un string sí o sí, pues como alternativa siempre puedes añadir un recurso de string desde las propiedades de tu proyecto. Así también evitarías dicho límite (lo he comprobado para asegurarme), pero será mejor que añadas el string manualmente en el archivo XML donde se serializan los recursos de tu aplicación (Resources.resx), por que si intentas añadir esas decenas de miles de caracteres desde las propiedades del proyecto... es decir desde la interfaz de visual studio... se te va a colgar la IDE.

Saludos!
#936
.NET (C#, VB.NET, ASP) / Re: Limite de cadena
26 Mayo 2018, 05:46 AM
¿Exactamente que es lo que dices que excede el límite máximo de caracteres permitidos?, ¿un string declarado?, lo dudo puesto que en condiciones normales no tienes por que exceder 2 GB de RAM por un string, ¿el nombre del programa dices?, ¿te refieres al campo "Nombre de ensamblado" en las propiedades del proyecto?, lo dudo también puesto que es ilógico excederlo intencionadamente...

No entiendo cual es el problema que tienes si no das información más concreta.

saludos
#937
Empecemos por lo más llamativo para mi: ¿has dicho Visual BASIC 5.0?, no creo que realmente lo quisieras hacer en ese lenguaje si supieras muy bien lo que implicaría hacerlo así. Como insensatez te plantearias hacerlo en Visual BASIC 6.0 (no 5.0), pero lo más coherente debería ser querer hacerlo en Visual BASIC.NET...

En VB.NET simplemente harías uso de los miembros de la clase System.Diagnostics.Process para identificar el proceso (mediante el nombre del proceso, o su PID), y por último usarías el método Process.Kill para la terminación del proceso. Veo innecesario extenderme en esta explicación puesto que hay miles de ejemplos que puedes encontrar en Google, aparte de la documentación oficial en la MSDN de Microsoft, y también sobre el uso de la función EnumProcesses, y EnumWindows / FindWindow + GetWindowThreadProcessId en VB 6.0 si prefieres usar un lenguaje obsoleto por el motivo que sea...

Con respecto a terminar el proceso en respuesta de presionar una tecla específica, otra forma no mencionada y más simple de hacerlo sería registrando un atajo global del teclado (o system-wide hotkey) de forma temporal, para ello puedes recurrir a la función de la API de Windows RegisterHotKey y UnregisterHotKey.
Para quien se lo esté preguntando: sí, se puede registrar una hotkey global de la tecla "F7" (incluso aunque ya estuviese registrada por el sistema operativo como sucede con las hotkeys CTRL+C o CTRL+V, se pueden sustituir de forma temporal) sin involucrar el uso de modificadores de tecla (CTRL, SHIFT, ALT o WIN).

Saludos.
#938
Cita de: rubenalo en 24 Mayo 2018, 20:57 PM
NECESITO DE SU AYUDA EN COMO SOLUCIONAR EL ERROR:

Lee el stack-trace:
CitarSystem.IndexOutOfRangeException: Índice fuera de los límites de la matriz.
  en LedControlSystem.AnimationEditor.AnimationEditor_Load(Object sender, EventArgs e) en F:\V3Source\LedControlSystemV3\LedControlSystemV3Source\LedControlSystem\UserControl\AnimationEditor.cs:línea 95

Te está indicando el tipo de excepción (con ello también el motivo del error), el nombre del método donde salta dicha excepción y la linea exacta en el código fuente, ¿qué más información necesitas para comprender el fallo que tienes y depurar el bug?...

https://msdn.microsoft.com/en-us/library/system.indexoutofrangeexception(v=vs.110).aspx
Cita de: MSDNThe exception that is thrown when an attempt is made to access an element of an array or collection with an index that is outside its bounds.

An IndexOutOfRangeException exception is thrown when an invalid index is used to access a member of an array or a collection, or to read or write from a particular location in a buffer.

Typically, an IndexOutOfRangeException exception is thrown as a result of developer error. Instead of handling the exception, you should diagnose the cause of the error and correct your code. The most common causes of the error are:

. . .

Saludos!
#940
Cita de: Machacador en 24 Mayo 2018, 14:18 PM
No se como será donde tu vives, pero yo estoy en este momento echado en una hamaca en el porche de mi casa  y por todos lados andan diferentes tipos de pájaros cantando cada uno a su manera... eso es a esta hora de la mañana y durante todo el santo día... algunos son tan abusadores que hasta se cuelan hasta adentro de la casa entrando por una puerta y saliendo por la otra... debe ser porque en esta hermosa isla no hay montañas tan escarpadas como esas que tu dices donde de cada 10 pájaros mueren 12... jejejejejeee... ademas de que aquí los pájaros hacen sus nidos en arboles y arbustos...

Siempre me haces desviar los temas... grrrrrrr...

:rolleyes: :o :rolleyes:

Saludos.

A mi las especies de aves en general, me parecen un ejemplo de paternidad/maternidad nefasto. Se desviven por encontrar comida para sus crias, pero por todo lo demás un absoluto cero de nota, ya que se tiran sin paracaidas desde precipicios, sin kayak ni flotador desde cataratas, salen a pasear y acaban perdiendo crias por el camino por que los padres van to follaos y sin mirar atrás, y para colmo suelen cruzar las calles sin mirar el semáforo...

[youtube=640,360]https://www.youtube.com/watch?v=WNeaR3b9qhM[/youtube]

[youtube=640,360]https://www.youtube.com/watch?v=x7ua1GGUIlA[/youtube]

[youtube=640,360]https://www.youtube.com/watch?v=jCYGPt2v9L8[/youtube]

Y mejor no tener hermanos mayores por que te acabarán matando por bullying, literálmente hablando...

[youtube=640,360]https://www.youtube.com/watch?v=RisIoAKSnC8[/youtube]

En fin, que los únicos padres-pájaro que se preocupen por sus hijos solo los podrás encontrar en los dibujos animados...

[youtube=640,360]https://www.youtube.com/watch?v=1IjSLPC-Qkg[/youtube]

PD: piensa que a cualquier familia de pájaros cercana le puede estar sucediendo exactamente esto mientras estás tumbado en la hamaca, eso que a ti te parecen pájaros cantando pueden ser gritos de socorro, auxilio, sálvame, el nido está en peligro...

Saludos y feliz siesta hamaquera. :xD