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

#3231
Scripting / Re: BATCH - Problema en bucle infinito
21 Septiembre 2016, 17:49 PM
Se puede hacer, por supuesto, con una correcta anidación de Ifs (esto es, meter un If dentro de otro, nada de usar Else If, eso ya ha quedado claro que no es posible), pero queda muy feo.

Si quieres comprobar si ambos procesos se encuentran activos al mismo tiempo, para no enbrutecer demasiado el código resultante podrías hacerlo de la siguiente manera:

Código (dos) [Seleccionar]
@Echo OFF & (CHCP 1252)1>&2>NUL
SetLocal EnabledelayedExpansion

:Loop
Set /A "exitCodeCount=0"
(Call :CheckGUI) & (Set /A "exitCodeCount+=!ERRORLEVEL!")
(Call :CheckCLI) & (Set /A "exitCodeCount+=!ERRORLEVEL!")

If "!exitCodeCount!" EQU "0" (
    Echo:Ambos procesos están activos.

) Else (
    If "!exitCodeCount!" EQU "1" (
        Echo:Al menos uno de los procesos está inactivo.
   
    ) Else ( :: "!exitCodeCount!" EQU "2"
        Echo:Ninguno de los procesos está activo.
   
    )
   
)

(TimeOut /T 1 /NoBreak)1>&2>NUL
GoTo :Loop

:CheckGUI
(TaskList.exe /FI "IMAGENAME eq openvpn-gui.exe" | findstr "openvpn-gui.exe")1>&2>NUL
Exit /B "%ERRORLEVEL%"

:CheckCLI
(TaskList.exe /FI "IMAGENAME eq openvpn.exe" | findstr "openvpn.exe")1>&2>NUL
Exit /B "%ERRORLEVEL%"


Lo que hago es declarar una variable "exitCodeCount" que servirá para determinar si ambos procesos están activos basándose en la suma de los códigos de salida de las subrutinas "CheckGUI" y "CheckCLI", si ambas llamadas a "CheckGUI" y "CheckCLI" devuelven "0" (0+0) entonces significa que ambos están activos, si devuelve "1" (0+1), que uno de los procesos se encuentra inactivo, y si devuelve "2" (1+1) significa que ningún proceso está activo.

Saludos!
#3232
Scripting / Re: BATCH - Problema en bucle infinito
21 Septiembre 2016, 17:26 PM
Primero de nada, esto es un foro donde hay unas reglas de redacción, no importa la experiencia que tengas, si algo has de saber es formatear el código que publiques, usa las etiquetas GeShi.

Por favor, no pidas por mensajes privados que leamos tu post, por más que lo hagas yo no lo voy a leer antes ni después, sinó en su momento.

EDITO: También está prohibido hacer doble y triple post, USA EL BOTÓN MODIFICAR. Por favor, no me des más trabajo, escribe un post como Dios manda.




Cita de: llAudioslavell en 21 Septiembre 2016, 16:52 PMComo puedo volver a reutilizar la variable ERRORLEVEL o como puedo crear otro, he probado almacenando el valor de ERRORLEVEL  en una variable pero se me dificulta mucho !

La variable %ERRORLEVEL% es un valor dinámico que cambia cada vez que termina la ejecución de un comando/executable, se asigna el código de salida a dicha variable dinámica.
No necesitas (ni tampoco podrías) crear una variable que cumpla su misma función, puedes reutilizar la variable %ERRORLEVEL% las veces que quieras, no se va a gastar :xD.




Cita de: llAudioslavell en 21 Septiembre 2016, 16:52 PMno entra al if anidado

Cita de: llAudioslavell en 21 Septiembre 2016, 16:52 PMif %ERRORLEVEL% EQU 1 (
) else if ...

Batch es un lenguaje MUY limitado, simplemente no es posible reproducir una sentencia Else If de manera convencional, así que esa anidación de Ifs no te funcionará.

Batch está limitado a poder usar una sentencia If y un AND, y este último debemos usarlo de forma invisible...




Te aconsejo que modifiques ese código que has escrito, sigue la siguiente estructura y no tendrás por que obtener errores:

Código (dos) [Seleccionar]

@Echo OFF & (CHCP 1252)1>&2>NUL

Set "exeName=openvpn-gui"

:Loop
(TaskList.exe /FI "IMAGENAME eq "%exeName%.exe"" | Find "%exeName%.exe")1>&2>NUL && (
   REM Escribir aquí las órdenes cuando el resultado es True.
   Echo:El proceso "%exeName%.exe" está activo.

) || (
   REM Escribir aquí las órdenes cuando el resultado es False.
   Echo:El proceso "%exeName%.exe" está inactivo.

)

(TimeOut /T 1 /NoBreak)1>&2>NUL
GoTo :Loop


Saludos
#3233
Dudas Generales / Extraer páginas de un documento PDF
21 Septiembre 2016, 13:20 PM
Hola

Yo utilizo Sumatra PDF para la lectura de documentos PDF. Supongamos que tengo un documento PDF de 1.000 páginas que pesa alrededor de 400 mb, y mi intención es extraer/copiar 5 páginas (que no tienen por que ser consecutivas) para guardarlas en un nuevo PDF y así ahorrar espacio en disco.

Bien, ¿me podrían recomendar una aplicación lightweight para llevar a cabo este tipo de operación tan sencillita? (para Windows). Podría instalarme algún software de Adobe, pero las soluciones de Adobe suelen ser suites de herramientas demasiado profesionales para lo que intento hacer, los instaladores de sus aplicaciones siempre instalan programas bastante grandes con mucha basura (que expanden miles de archivos y generan miles de claves de registro) y no me apetece nada hacer eso sinceramente, así que descarto aplicaciones de Adobe.

Un saludo!
#3234
Scripting / Re: BATCH - Problema en bucle infinito
21 Septiembre 2016, 09:09 AM
Cita de: llAudioslavell en 21 Septiembre 2016, 00:08 AM
Código (dos) [Seleccionar]
if ERRORLEVEL == 1 (...)

El problema está ahí, estás evaluando el texto "ERRORLEVEL", no el valor de la variable dinámica %ERRORLEVEL%. Si comparas el texto "ERRORLEVEL" con "1", obviamente el resultado será negativo puesto que son distintos.

Solución, añádele los símbolos % que faltan en el nombre de la variable:
Código (dos) [Seleccionar]
If "%ERRORLEVEL%" EQU "1" (...)




Aparte de eso, no es conveniente que hagas esto:
Cita de: llAudioslavell en 21 Septiembre 2016, 00:08 AM
Código (dos) [Seleccionar]
set ERRORLEVEL=

Si le hubieses llegado a asignar un valor, entonces habrías sustituido la variable dinámica ERRORLEVEL durante el tiempo de vida de tu script, y jamás podría haber dado como resultado el valor "1", sino el valor que tu le hubieses asignado.
En resumen, elimina esa linea para no caer en malas costumbres, no debes redeclarar variables dinámicas puesto que no tiene sentido hacerlo.

Saludos
#3235
.NET (C#, VB.NET, ASP) / Re: Aplicación .NET y WoW
21 Septiembre 2016, 09:02 AM
Solo se me ocurre que tu aplicación esté registrando teclas de acceso directo con un scope global, las cuales solamente durarían durante el tiempo de vida de esa app, pero dudo que estés haciendo eso.

Muestra como estás iniciando el WoW desde tu aplicación. Si es un código fuente pequeño, entoces mejor muestra directamente todo el código para poder examinarlo bien.

Saludos
#3237
Jejeje, y no os olvideis de la mítica saga japonesa Urotsukidōji, eso si que era animación para adultos con sus posesiones demoniacas super "hardcore"...

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

...o series y películas de animación con escenas sangrientas sumamente Gore comoo Berserk:
[youtube=640,360]https://www.youtube.com/watch?v=VQjv1K487z8[/youtube]
...o Dante's Inferno.

O el cine de animación como Ninja Scroll, Dragon Pink, 3x3 Eyes, solo mencionar alguna de las cientos de películas del género con escenas eróticas o Hentai, que será mejor no publicar ningún video aquí...

O Elfen Lied, una de mis obras maestras favoritas:
[youtube=640,360]https://www.youtube.com/watch?v=Blu9aKRS8LY[/youtube]

En fin, es un insulto leer "la primera película de animación para adultos" a estas alturas de la vida, cuando muchos de nosotros hemos crecido con películas de animación para adultos, no con Disney.

PD: Para quien le interese, todos los títulos de animación que he mencionado fueron publicados en España con las voces dobladas a la lengua de Cervantes.

Saludos!
#3238
Windows / Re: Limpieza manual del Registro de Windows
20 Septiembre 2016, 17:29 PM
Cierro este hilo por cuestiones éticas, puesto que no es bueno que alguien venga y te de algún consejo poco sensato que luego tú y otros usuarios intenten reproducir en sus PCs para acabar dañando la instalación del sistema operativo...

Es practicamente imposible decirte lo que debes eliminar o no, ¿por qué?, por que nosotros no sabemos lo que quieres usar y lo que no, ni lo que tienes instalado y lo que no de todas esas subclaves de fabricantes que hacen refrencia a distintas instalaciones de programas y/o drivers, además esa no es la manera de eliminar un software de tu PC, sino más bien de eliminar los residuos de registro que pudiese dejar después de una desinstalación.

Aparte, el registro de Windows se compone de miles de subclaves y cientos de miles de valores, así que eliminar un par de claves no supondría absolutamente ningún beneficio con respecto al rendimiento, por ende, si no sabes que borrar entonces NO BORRES NADA, por que aunque lo borrases tampoco iba a mejorar nada.

Dicho esto, puedes utilizar CCLEANER para realizar una limpieza superficial y segura del registro de Windows, o Wise Registry Cleaner para una limpieza más profunda y avanzada.

Si quieres desinstalar un programa, pues hazlo de forma natural, usando el desinstalador original. Si quieres intentar asegurarte de que la desinstalación no deja residuos en el registro, entonces te recomiendo utilizar la aplicación Uninstall Tool, aunque hay miles de programas similares... como el ya mencionado Revo Uninstaller.

Saludos!
#3239
Cita de: FJDA en 17 Septiembre 2016, 11:03 AMLe agradecería  cambie el nombramiento de esta función a SetImageSaturation:

Como dije en el post, solo es un código de ejemplo, un ejemplo que se debe adaptar a las necesidades que tengas, de todas formas aceptando tu petición le cambié el nombre a la función y también especifiqué que la matriz de color es una idea original tuya.

Saludos!
#3240
.NET (C#, VB.NET, ASP) / Re: Libros para aprender NET
17 Septiembre 2016, 13:51 PM
Cita de: FJDA en 17 Septiembre 2016, 11:03 AMpedí libros en otra pregunta pero no me respondió, nadie.

Ningún usuario y/o moderador está obligado a responder preguntas, por supuesto entiendo que te disguste no recibir una respuesta, pero en muchas ocasiones la falta de respuestas indica que la pregunta formulada es muy típica... te puedes imaginar la de veces que ya han preguntado por recomendaciones de libros de programación en el foro. Si no recibes respuesta, ¿por qué no usas el buscador del foro o miras los temas que tienen chincheta?.

Los libros que son traducidos al Castellano en no pocas ocasiones solo abarcan temas de introducción al mundo de la programación en la plataforma .NET de forma superficial, incluso las traducciones de libros que son específicos para uno de los lenguajes soportados por .NET (como VB.NET o C#) casi te enseñan más a desenvolverte por la IDE de Visual Studio, que las propiedades y el uso del propio lenguaje. Obviamente no todos los libros que se publican en España serán tan superficiales, pero yo para ser honestos realmente no conozco los suficientes libros traducidos como para poder aconsejarte uno en concreto, no soy un fanático en la lectura de libros de programación, vaya.

Y, en mi humilde opinión, los libros escritos por autores españoles (no todos, supongo) se aprecia que la calidad de información disminuye, y si son autores latino-americanos lamentablemente disminuye muchísimo más, aunque nunca he leido un libro de programación escrito por una persona latino-americana, pero si muchos artículos y tutoriales en Internet y he visto webs como "códigofacilito", que viene a ser casi lo mismo para poder argumentar esta opinión que he dado, aunque vuelvo a repetir, yo no he leido apenas libros de .NET, deben existir buenos libros en Español con contenido avanzado y de autores capaces de transmitir una facil comprensión, supongo.

Saludos!