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

#7971
@WarZ0n3

A pesar de que tienes razón en muchas cosas que comentas sobre los lenguajes que has nombrado, no puedes negar que son los lenguajes más utilizados de forma mundial, y esto es lo que yo le he dado a conocer al usuario que tiene dudas, además, no todos necesitamos trabajar con punteros, desarrollar drivers, o estar pendientes de posibles fugas de memoria en aplicaciones muy complejas, etc, (Aunque tampoco es como dices, por ejemplo Java es propenso a requerir mucha memoria, pero no a dar fugas, y por ejemplo una fuga de tipo Stack OverFlow puede ocurrir en cualquier lenguaje por un error humano, no por el lenguaje en si mismo, pero bueno...), por eso dejé exprésamente claro que hay que elegir el lenguaje que mejor se adapte a las necesidades del programador.

Sobre Pascal , cualquier persona con el conocimiento necesario puede exprimir un lenguaje para crear grandes herramientas, que un programador decida exprimir el límite potencial de Pascal para hacer una HackTool no lo convierte en el mejor lenguaje ni tampoco en el más óptimo, en cualquier caso a Object Pascal aún le daría una oportunidad, pero a Pascal no.

PD: Tampoco quiero crear una discusión aquí sobre el tema, cada uno ha tenido sus propias experiencias personales con el lenguaje y cada uno tiene su propia opinión y la respeto, eso sí, sobre C/C++ no hay nada que negar.

Un saludo!
#7972
Cita de: kurumadayoo en 26 Septiembre 2013, 12:24 PMse ejecutar el cmd-mandar netstat...y alguna q otras cositas mas pero creo q estoy empezando mal.

Si empiezas pensando que la CMD te va a ayudar a aprender prrogramación, o que Batch es programar... por supuesto que estás empezando mal, muy muy mal.

En todos sitios verás Batcheros que se hacen llamar programadores, veras tutoriales de "como programar en Batch", etc, mi intención no es ofender a nadie, pero a toda esa gente que solo sabe usar Batch no tienes que hacerles NI CASO en lo referente a este tema, porque desconocen lo que es un verdadero lenguaje de programación, están equivocados y por esa razón te orientarán mal y acabarás siendo un completo inepto en lo referente a la programación, te lo digo yo, que modero el subforo de Scripting y .NET porque me inicié de manera autodidacta con Batch hace muchos años (porque tampoco necesitaba el uso de ningún otro lenguaje superior ni sabia gran cosa de programación) y luego me di cuenta de todas las posibilidades que ofrecia este mundillo y empecé a aprender otros lenguajes, lenguajes de verdad tanto interpretados como compilados, pero en pocas palabras, Batch es un inutil comparado con CUALQUIER otro lenguaje, Batch es el peor de todos los peores lenguajes, si vas a aprender de esa manera, aprenderás mal, siempre ha existido una pequeña polémica porque a Batch ni siquiera se le debería clasificar como lenguaje, aunque la gente esté acostumbrada a hacerlo.

C++ es una buena recomendación para empezar, como es C#, VB.NET, Java, Python, o cualquier otro lenguaje orientado a objetos, así que centra tu mirada en algún lenguaje de estos:
http://en.wikipedia.org/wiki/List_of_object-oriented_programming_languages

Aunque en mi opinión de esa lista deberías olvidar lenguajes como Delphi, Pascal, o Pascual, para mi son de tercera división, te servirán para cosas puntuales pero en realidad no te servirán para nada y te quedarás muy muy corto si buscas un lenguaje que te abra puertas, ya he mencionado los lenguajes "principales" más arriba.

Aunque he manejado muchos lenguajes, yo no me considero un programador EXPERTO, no quiero parece que voy de sobrado, pero si que sé lo suficiente como para recomendarte:

1. Lo primero que debes hacer es tener una base mínima de ingles leido, si no la tienes debes aprender lo mínimo o aguantarte e intentar comprender o usar traductores para extender tus nociones de conceptos, en la wikipedia (Inglés) está todo lo que necesitas, aunque no entiendas la mayoría de cosas (por que se entienden mejor practicándo los conceptos en el propio lenguaje).

Pues déjame decirte que buscar in internet "que son las variables?" o "que es un lenguaje de programaicón?" eso no es aprender conceptos, si quieres aprender conceptos, busca:
· Variables
· Funciones
· Procedimientos
· Rutinas
· SubRutinas
· Métodos
· Classes
· expresiones
· expresiones regulares
· operadores de programación
· Tuplas
· Arrays
· Búcles
· API
· Programación
· Programación orientada a objetos
· Objetos
· Data Types
· Serialización
· Lenguaje interpretado
· Lenguaje compilado
· Intérprete
· GUI
· CLI

...Y muchos conceptos más.

2. Lo segundo que te recomiendo hacer de forma opcional (y no es broma) es descargarte todos los lenguajes que creas que te pueden interesar, y probar cada lenguaje durante un par de horas, para testear la sintaxis, las posibles IDE's, en fín el entorno en el que vas a programar y todo lo que quieras testear, y así ir descartando los lenguajes que peor se adaptan a tus necesidades, porque aunque no está mal escuchar recomendaciones de otras personas, debes elegir el lenguaje que mejor se adapte a tus necesidades, ni más, ni menos, la mejor decisión siempre va a ser tuya y no la de los demás, por ejemplo yo con un lenguaje tan restrictivo como Python no me siento agusto, con uno tan limitado como Batch aún menos.

3. Y lo tercero que debes hacer, después de haber elegido un lenguaje que aprender, es leerte la documentación oficial donde están todas las clases/métodos/funciones/operadores/keywords/dataTypes y absolútamente todo lo que puedes conocer sobre dicho lenguaje, aparte de eso, buscar tutoriales sobre ese lenguaje en concreto, que seguro que habrán cientos en Google.

4. Lo cuarto que te recomiendo hacer, es buscar la misma pregunta en el buscador del foro donde te registres porque este tipo de preguntas ya la han hecho otros miles de usuarios... siempre preguntais lo mismo.

Y como recomendación personal, a mi me agrada mucho VB.NET y es el que yo recomendaría.

Saludos!
#7973
Permitir la escritura de 1 solo caracter en un textbox y deshabilitar el menú contextual, tiene algunas diferencias de la propiedad "MaxLength", no pega el primer caracter de una palabra del clipboards si la longitud de la palabra es de 1 caracter (es un code un poco "custom", util para especificar delimitadores de texto de un solo caracter, o cosas parecidas)

Código (vbnet) [Seleccionar]
#Region " [TextBox] Allow only 1 Character "

   ' By Elektro H@cker


   ' TextBox [Enter]
   Private Sub TextBox_Enter(sender As Object, e As EventArgs) ' Handles TextBox1.MouseEnter

       ' Allign the character in the TextBox space
       ' If Not TextBox_Separator.TextAlign = HorizontalAlignment.Center Then TextBox_Separator.TextAlign = HorizontalAlignment.Center Then

       ' Disable Copy/Paste contextmenu by creating a new one
       If sender.ContextMenuStrip Is Nothing Then sender.ContextMenuStrip = New ContextMenuStrip

   End Sub

   ' TextBox [KeyPress]
   Private Sub TextBox_KeyPress(sender As Object, e As KeyPressEventArgs) ' Handles TextBox1.KeyPress

       Select Case sender.TextLength

           Case 0 ' TextLength = 0

               Select Case e.KeyChar

                   Case Chr(22) ' CTRL+V is pressed

                       ' If Clipboard contains 0 or 1 character then paste the character.
                       e.Handled = IIf(Clipboard.GetText.Length <= 1, False, True)
               
                   Case Else ' Other key is pressed
                       e.Handled = False ' Print the character.

               End Select ' e.KeyChar when TextLength = 0

           Case 1 ' TextLength = 1

               Select Case e.KeyChar

                   Case Convert.ToChar(Keys.Back) ' Backspace is pressed
                       e.Handled = False ' Delete the character

                   Case Chr(22) ' CTRL+V is pressed

                       Select Case sender.SelectionLength

                           Case 1 ' If 1 character is selected
                               ' If Clipboard contains 0 or 1 character then paste the character.
                               e.Handled = IIf(Clipboard.GetText.Length <= 1, False, True)

                           Case Else ' If any text is selected
                               e.Handled = True ' Don't paste the characters.

                       End Select

                   Case Else ' Other key is pressed
                       ' If any text is selected then don't print the character.
                       e.Handled = IIf(sender.SelectionLength = 1, False, True)

               End Select ' e.KeyChar when TextLength = 1

       End Select ' TextLength

   End Sub

   ' TextBox [TextChanged]
   Private Sub TextBox_TextChanged(sender As Object, e As EventArgs) ' Handles TextBox1.TextChanged

       ' // If NOT Text is empty then Save the character:
       '
       ' If Not String.IsNullOrEmpty(sender.text) _
       ' Then My.Settings.User_Character = Convert.ToChar(sender.text)

   End Sub

   ' TextBox [Leave]
   Private Sub TextBox_Leave(sender As Object, e As EventArgs) ' Handles TextBox1.Leave

       ' // If Text is empty then restore the last saved character:
       '
       ' If String.IsNullOrEmpty(sender.text) _
       ' Then sender.text = My.Settings.User_Character

   End Sub

#End Region
#7974
Cita de: djjimbo en 26 Septiembre 2013, 00:47 AM> "C:\WINDOWS\system32\es/no.txt"

Esa redirección no te va a funcionar ni en un script ni en el otro, el archivo no se va a crear, ya que en el nombre del archivo estás utilizando un caracter ilegal de Windows.

Cita de: MicrosoftUn nombre de archivo no puede contener ninguno de los siguientes caracteres:
\ / : * ? " <> |



Cita de: djjimbo en 26 Septiembre 2013, 00:47 AM
Echo <ca>
Echo </ca>
Echo <cert>
Echo </cert>
echo <key>
echo </key>

La otra razón de que no te funcione es porque no estás escapando los caracteres de los operadores de redireccionamiento.

echo ^<key^>

Saludos
#7975
Cita de: gregory90 en 25 Septiembre 2013, 23:20 PM
Que curioso...

El fichero en mi equipo existe y pesa 39KB ... Y NO como dices 50KB.

Bueno, el tamaño era un ejemplo de aproximación por eso dije "Rondar" y no dije que debía pesar exactámente 50 kb, ya que yo no he mirado cuanto pesa en Win7 y en Widnows 8 el archivo pesa 58 kb exactos ;).

Sobre el punto de restauración no has comentado nada

Saludos
#7976
Cita de: MauriH en 24 Septiembre 2013, 19:29 PMleelo y dime q opinas, gracias de nuevo.

Pues para ser sincero opino que aunque estemos en un hilo de Batch, cualquier otro lenguaje es más viable para hacer esa tarea que Batch, así que en caso de hacerlo, lo haré en otro lenguaje.

EDITO: Ya tengo la solución, pero lo hice en VB.NET así que te mando un privado para no desvirtuar el tema Batch.

. Lo que hice básicamente fue :

1. Delimitar el texto de las preguntas (splitear) usando como caracter el caracter inicial de cada pregunta (#) y agregar los "bloques" a un Array, y así cada item del Array debería contener el título de la pregunta y las 5 respuestas (o las que sean) de dicha pregunta.

2. Realizar el mismo procedimiento con el archivo de respuestas, y asi, en cada item del Array debería haber una sola respuesta.

3. Luego símplemente hay que procesar el Array de respuestas de inicio a fín para hacer un reemplazamiento de string en el mismo índice de Item del Array de preguntas, ya que es óbvio que no va a haber dos respuestas iguales en la misma pregunta.

Saludos!
#7977
Scripting / Re: Contraseña que caduque en batch!
25 Septiembre 2013, 19:39 PM
Hola

Es una tarea facil, pero en lugar de pedirlo todo hecho podrías intentarlo por ti mismo y mostrar tus progresos tomando como referencia el código que te puse en este otro post (yo, no MadAntrax) donde se puede apreciar cláramente las órdenes necesarias para lanzar un MsgBox...

Cita de: http://foro.elhacker.net/scripting/batch_que_en_determinada_fecha_ejecute_un_archivovbs-t399440.0.html;msg1887556#msg1887556
Código (dos) [Seleccionar]
   @Echo OFF
   
   Set "NombreDelSoft=MiBatch"
   
   REG.exe Query "HKLM\Software\%NombreDelSoft%" /V "ExpirationDate" 1>NUL 2>&1 || (
   Echo CreateObject^("WScript.Shell"^).RegWrite "HKLM\Software\%NombreDelSoft%\ExpirationDate", DateAdd^("m", 1, Date^), "REG_SZ" > "%TEMP%\SetTrialDate.vbs"
   Wscript.exe "%TEMP%\SetTrialDate.vbs"
   Del /Q "%TEMP%\SetTrialDate.vbs" 2>NUL
   )
   
   For /F "Tokens=3" %%# in (
   'REG.exe Query "HKLM\Software\%NombreDelSoft%" /V "ExpirationDate" 2^>^&1 ^| MORE +1'
   ) Do (
   Set "ExpirationDate=%%#"
   )
   
   IF %Date:~6,4%%Date:~3,2%%date:~0,2% GEQ %ExpirationDate:~6,4%%ExpirationDate:~3,2%%ExpirationDate:~0,2% (
   Echo MsgBox "El tiempo de prueba para esta aplicación ha expirado" ^& vbnewline ^& "Fecha de expiración: %ExpirationDate%", 16, "%NombreDelSoft%" > "%TEMP%\DisplayTrialExpiration.vbs"
   Start /B Wscript.exe "%TEMP%\DisplayTrialExpiration.vbs"
   Exit /B 1
   )

Saludos...
#7978
Si tuvieras una política para deshabilitar el taskmanager entonces el mensaje de error sería muy distinto al de tu imagen, eso quedó claro que no es.

Comprueba que el archivo de idioma del taskmgr existe en tu pc:

C:\Windows\System32\es-ES\Taskmgr.exe.mui

Y comprueba también que el tamaño del archivo ronde entre los 50 kb (que no pese 0 bytes xD).

En caso de que te parezca que el archivo esté dañado, reemplazalo por el archivo de otra máquina.

Algo infalible si tienes puntos de restauración guardados es usar la restauración del sistema para restaurar a una fecha anterior de cuando empezó el problema.

Saludos
#7979
Cita de: alicia789 en 25 Septiembre 2013, 02:02 AMmás bien es para bloquear internet a unos niños mientras hacen la tarea.

Entonces no necesitas programas de terceros,
es suficiente con que uses la característica "Protección infantil" (parental control) de Windows, la puedes encontrar en el panel de control, y con eso puedes bloquear la ejecución de los procesos que quieras, por ejemplo los de los navegadores que estén instalados en tu pc como firefox.exe, chrome.exe, iexplorer.exe, etc..., y así se quedan "sin internet", también puedes bloquear programas peer2peer como Ares, uTorrent, etc...

Los bloqueos se ejecutan cuando activas el control parental (usando la contraseña de tu cuenta de usuario), y cuando desbloquees el control parental vuelve todo a la normalidad.

Para activar la protección infantil primero debes ser "administrador" para crear una cuenta de usuario para los niños, y activar la protección en esa cuenta, windows te ayudará explicándote el proceso a seguir.

PD: Por supuesto Googleando un poco puedes encontrar programas de control parental de pago y/o gratis mucho mejores que la característica integrada de Windows.

Saludos
#7980
¿En serio? ¿Un Batch Trial?  :-\

Espero que no te ofendas, pero la idea de distribuir un script en Batch como aplicación profesional es ridículo (y nada profesional), pero la idea de hacerlo de pago y añadirle expiración lo es todavía más.

Vamos a ver lo que podemos hacer... te muestro una manera de hacerlo (la otra manera es metiendo la información en un archivo y leer el contenido), aunque estoy bastante en contra de que se haga lo que intentas hacer, pero bueno, esto es lo que he codeado, añade el siguiente snippet a la cabecera de tu script:

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

Set "NombreDelSoft=MiBatch"

REG.exe Query "HKLM\Software\%NombreDelSoft%" /V "ExpirationDate" 1>NUL 2>&1 || (
Echo CreateObject^("WScript.Shell"^).RegWrite "HKLM\Software\%NombreDelSoft%\ExpirationDate", DateAdd^("m", 1, Date^), "REG_SZ" > "%TEMP%\SetTrialDate.vbs"
Wscript.exe "%TEMP%\SetTrialDate.vbs"
Del /Q "%TEMP%\SetTrialDate.vbs" 2>NUL
)

For /F "Tokens=3" %%# in (
'REG.exe Query "HKLM\Software\%NombreDelSoft%" /V "ExpirationDate" 2^>^&1 ^| MORE +1'
) Do (
Set "ExpirationDate=%%#"
)

IF %Date:~6,4%%Date:~3,2%%date:~0,2% GEQ %ExpirationDate:~6,4%%ExpirationDate:~3,2%%ExpirationDate:~0,2% (
Echo MsgBox "El tiempo de prueba para esta aplicación ha expirado" ^& vbnewline ^& "Fecha de expiración: %ExpirationDate%", 16, "%NombreDelSoft%" > "%TEMP%\DisplayTrialExpiration.vbs"
Start /B Wscript.exe "%TEMP%\DisplayTrialExpiration.vbs"
Exit /B 1
)


Saludos.