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


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 ... 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 [593] 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 ... 1254
5921  Programación / Python / Re: PROGRAMA usuario y contraseña en: 23 Febrero 2015, 23:39 pm
Para el primer problema, el del nombre de usuario, puedes utilizar las siguientes funciones:

  • str.isalpha(), que determina si todos los caracteres de un string son alfabéticos.
  • str.isdigit(), que determina si todos los caracteres de un string son numéricos.
  • str.isalnum(), que determina si todos los caracteres de un string son alfanuméricos.

Ejemplo:
Código
  1. print "Introduce el nombre de usuario:"
  2. username=raw_input()
  3.  
  4. if not str.isalnum(username):
  5.   print "El nombre de usuario debe contener solamente caracteres alfanumericos."
  6.  
  7. elif not (any(char.isalpha() for char in username)) or \
  8.     not (any(char.isdigit() for char in username)):
  9.   print "El nombre de usuario debe contener al menos una letra y un digito."
  10.  
  11. else:
  12.   print "El nombre de usuario es correcto."

El otro problema, el de la la contraseña, ya lo tienes medio resuelto, aunque creo que has confundido el ejemplo del nombre d eusuario con el de la contraseña... y además los valores de las condiciones no los pusiste como indica el ejercicio (estás comprobando si tiene menos de 5 caracteres, no menos de 6), y el resto del problema lo puedes intentar solucionar por ti mismo hechándole un vistazo a los métodos que he comentado arriba, y a otros métodos como str.islower() y str.isupper(), te aseguro que es algo muy facil, intenta hacerlo.

Lee la documentación oficial:
5.6.1. String Methods

Saludos.
5922  Programación / Scripting / Re: PROGRAMA usuario y contraseña en: 23 Febrero 2015, 22:44 pm
Buenas

A pesar de que tengo en cuenta que eres un visitante nuevo en el foro, son varias las infracciones de las normas y especialmente la manera desconsiderada de escribir el contenido del post me ha llevado a bloquear el tema directamente,
te invito a reescribir un nuevo post siguiendo las normas de conducta del foro y las normas del subforo de programación.

1. Está prohibido abusar de las mayúsculas, se considera GRITAR.
2. Es obligatorio utilizar las etiquetas GeShi para insertar un bloque de código.
3. El icono está reservado para identificar temas resueltos, no se debe utilizar en dudas sin resolver.

...y porfavor, simplemente intenta estructurar mejor el texto que has escrito, lo escribiste todo "pegado" y su lectura se hace dificil para las demás personas, separa aunque sea los párrafos e intenta utilizar listas, en general intenta utilizar los controles del panel de edición de mensajes, que para algo están:



Gracias.

Tema cerrado.

Saludos!
5923  Sistemas Operativos / Windows / Re: Quiero empezar a programar en: 23 Febrero 2015, 22:28 pm
Los lenguajes que cumplen las condiciones que has solicitado, es decir, que sea más completo y potente que Batch, que no necesite requisitos adicionales de instalación, que puedas crear "aplicaciones" en Windows,
y comentados por ordén de "dificultad" en la asimilitud de su sintaxis (bajo mi criterio personal, claro está) serían: VisualBasicScript (VBS), Visual Basic for Applications (VBA), javascript (JS), y PowerShell (PS).

Ahora... ¿vale la pena utilizar alguno de los lenguajes mencionados?, pues:

· VBS es un lenguaje desarrollado y orientado exclusivamente a la automatización de tareas de escritorio (como Batch), su propósito indica sus propias limitaciones.
· VBA es un lenguaje que está más orientado a la integración en aplicaciones de terceros (ej: Excel).
· JS es un lenguaje que está más orientado al desarrollo web (páginas web).
· PS es un lenguaje desarrollado y orientados exclusivamente a la automatización de tareas administrativas, su propósito indica sus limitaciones.

Si lo que quieres es utilizar un lenguaje que te sirva para poder hacer todo lo que hacias en Batch pero de una forma más simple, estable, completa y eficiente, entonces ese lenguaje sería VBS, ya que aparte de estar orientado al mismo tipo de programación que Batch, su sintaxis basada en el lenguaje BASIC te podría resultar más beneficiosa y productiva que utilizar símbolos reservados del tipo ":!$%", aunque eso es una característica que todos los lenguajes tienen (Batch y VBS también).

Pero no, no vale la pena utilizar ninguno de esos lenguajes si lo que pretendes es aprender a programar aplicaciones de escritorio por y para la plataforma Windows, eso no son "lenguajes de verdad" que estén cualificados debidamente para dicha tarea.

Mi recomendación personal para esta situación, teniendo en cuenta tu falta de experiencia y tus gustos personales por el tema de la sintaxis, te diría que probases VisualBasic.Net, y si no te gusta su sintaxis, siempre puedes optar por utilizar CSharp, ambos son lenguajes muy potentes basados en la tecnología de .Net Framework y practicamente iguales en funcionalidades pero con una muy diferente sintaxis.

Nota: Si, por supuesto vas a necesitar descargar y utilizar complementos adicionales (una IDE) para desarrollar en estos lenguajes, en este caso puedes utilizar VisualStudio.
Microsoft Visual Studio 2013 Ultimate + Resource Pack (Actualizado 09-Oct-2014)

Nota 2: Espero que de verdad quede muy claro, pero tan claro como el agua, que en el Notepad no te va a servir para programar, ya que Batch no es un lenguaje de programación, es una herramienta básica de automatización de tareas simples.





Te dejo aquí una cosita que estuve escribiendo pero todavía no he acabado... por si te ayuda a elegir la sintaxis de este lenguaje u optar por un lenguaje distinto como por ejemplo el que te ha comentado el compañero @Engel Lex, C++ (o también podrías utilizar VisualStudio para programar en Visual C++, que es distinto).

Cita de: Elektro

Visual Basic.Net

Ejemplos de Sintaxis

String Conditional:
Código
  1. Dim str1 As String = "cadena de texto"
  2. Dim str2 As String = "cadena de texto"
  3.  
  4. If str1.Equals(str2, StringComparison.CurrentCulture) Then
  5.    Console.WriteLine("str1 es igual que str2")
  6. End If

Numeric Conditional:
Código
  1. Dim val1 As Integer = 1
  2. Dim val2 As Integer = 2
  3.  
  4. If val1 = val2 Then
  5.    Console.WriteLine("val1 es igual que val2")
  6. End If

Multi-Conditionals:
Código
  1. Dim val1 As Integer = 0
  2. Dim val2 As Integer = 0
  3. Dim val3 As Integer = 0
  4.  
  5. If (val1 > val2) AndAlso Not (val1 >= val3) Then
  6.    Console.WriteLine("val1 es mayor que val2, y menor que val3")
  7.  
  8. ElseIf (val1 < val2) OrElse (val1 = val3) Then
  9.    Console.WriteLine("val1 es menor que val2, o igual que val3.")
  10.  
  11. Else
  12.    Console.WriteLine("Condición no controlada.")
  13.  
  14. End If

For Loop:
Código
  1. Dim strings As IEnumerable(Of String) = {"string1", "string2"}
  2.  
  3. For Each str As String In strings
  4.    Console.WriteLine(str)
  5. Next str

Error-Handling:
Código
  1. ' Un objeto disposable cualquiera.
  2. Dim object As New Process
  3.  
  4. Try
  5.    object.StartInfo.FileName = "Notepad.exe"
  6.    object.Start()
  7.  
  8. Catch ex As Exception
  9.    MessageBox.Show(text:=ex.Message,
  10.                    caption:="Título de la ventana",
  11.                    buttons:=MessageBoxButtons.OK,
  12.                    icon:=MessageBoxIcon.Error)
  13.  
  14. Finally
  15.    If object IsNot Nothing Then
  16.        object.Dispose()
  17.    End If
  18.  
  19. End Try

Integrated Development Environments (IDES)


Microsoft Visual Studio


Microsoft Visual Studio, también conocido como VisualStudio, o VS, es considerada la IDE más avanzada, profesional, y popular para el desarrollo con VB.Net (entre otros lenguajes).

VisualStudio es un producto de la compañía Microsoft, con un elevado precio, pero también se distribuye en ediciones gratuitas, la edición Express, y la edición Community.

Tengo entendido que las ediciones gratuitas carecen de algunas herramientas importantes de depuración, profilling, otros tipos de análisis, y protección/ofuscación, que solo se pueden encontrar en la edición de pago, pero aun siendo así, la edición gratuita de VisualStudio es la IDE más completa hasta día de hoy que cubre todas las necesidades del programador más exquisito sin necesidad de depender de herramientas de terceros en la mayoría de circunstancias básicas.

La IDE de Microsoft está orientada para todo tipo de niveles de experiencia, y para todo tipo de desarrollo, como el desarrollo de aplicaciones de escritorio, aplicaciones web, y aplicaciones móviles.


Imágenes de Microsoft Visual Studio






⇲ Links de interés sobre Microsoft Visual Studio



MonoDevelop


MonoDevelop es la alternativa gratuita a VisualStudio,
algunas personas suelen preferir esta IDE ya que utiliza menos recursos que VisualStudio, pero también es una IDE menos estilizada y bastante incompleta en comparación con la inmensa cantidad de características que ofrece VisualStudio.

MonoDevelop es una IDE multi-plataforma, a diferencia de VisualStudio, que solo se puede usar bajo Windows.


Imágenes de MonoDevelop






⇲ Links de interés sobre MonoDevelop

5924  Sistemas Operativos / Windows / Re: problema con archivos en papelera en: 23 Febrero 2015, 21:34 pm
rutadel archivo o directorio que debo poner? porque esta en la papelera pero desconozco donde nace el problema

edito, no logro entender como usarlo, hice el script y lo guarde como cmd pero no se como proseguir.. disculpaaass

Hola

He actualizado el código que publiqué en el post de arriba para que pueda procesar un directorio con sus subdirectorios y archivos, asegúrate de actualizar el código que guardaste antes de utilizar, el otro código estaba algo limitado.

Si tienes Windows Vista o posterior, entonces utilízalo de esta manera:
Código:
TaleOwn.cmd "C:\$Recycle.Bin\"

Si por lo contrario tienes Windows XP, utilízalo así:
Código:
TaleOwn.cmd "C:\Recycler\"

Y para eliminar los archivos del interior (despues de haber obtenido los permisos de acceso), en Win Vista/7/8:
Código:
RD /Q /S "C:\$Recycle.Bin\"
o Win XP:
Código:
RD /Q /S "C:\Recycler\"

Nota: Ignora cualquier posible aviso de "la papelera está dañada" al aceptar la eliminación de los archivos cuando los recicles por primera vez, es debido a las modificaciones del propietario y los permisos en una carpeta "especial" del sistema, pero el directorio y su estructura se restaurará por si solo al aceptar el aviso.

Saludos
5925  Sistemas Operativos / Windows / Re: problema con archivos en papelera en: 23 Febrero 2015, 20:56 pm
Prueba a obtener los permisos necesarios para el acceso al directorio y sus archivos.

Puedes utilizar el siguiente Script escrito en Batch.

Modo de empleo:
Código:
TakeOwn.cmd "Ruta del archivo o directorio" "Nombre de usuario (opcionalmente)"

Ejemplo:
Código:
TakeOwn.cmd "C:\$Recycle.Bin\S-1-5-21-1780771175-1208154119-2269826705-500\" "%Username%"
Código:
TakeOwn.cmd "C:\Archivo.ext" "%Username%"

Source:
TakeOwn.cmd
Código
  1. @Echo OFF & (CHCP 1252)1>Nul
  2. Title Simple Take Ownership Batch-Script Automation, By Elektro.
  3.  
  4. If "%~1" NEQ "" (
  5. Set "ItemPath=%~f1"
  6. ) Else (
  7. Echo [x] Any path pattern specified.
  8. Exit /B 1
  9. )
  10.  
  11. If "%~2" NEQ "" (
  12. Set "UserName=%~2"
  13. ) Else (
  14. REM Do Nothing, default username will be used.
  15. )
  16.  
  17. :: Determino si el elemento es un directorio.
  18. If Exist "%ItemPath%\" (
  19. Set "takeownDirectoryParams=/R /D /S"
  20. Set "icaclsDirectoryParams=/T"
  21. ) Else (
  22. Set "takeownDirectoryParams="
  23. Set "icaclsDirectoryParams="
  24. )
  25.  
  26. (TakeOwn.exe /F "%ItemPath%" %directoryParams%)1>Nul 2>&1 || (
  27. Echo [x] Error Taking Ownership.
  28. Exit /B 1
  29. )
  30.  
  31. (ICacls.exe "%ItemPath%" /Grant "%UserName%":"F" %icaclsDirectoryParams%)1>Nul 2>&1 || (
  32. Echo [x] Error setting user permissions.
  33. Exit /B 1
  34. )
  35.  
  36. :: Elimino el atributo de sistema, y solo lectura.
  37. (Attrib.exe -S -R "%ItemPath%")1>Nul 2>&1 || (
  38. Echo [x] Error Setting item attributes.
  39. Exit /B 1
  40. )
  41.  
  42. Echo [i] Access granted for user "%UserName%" in element: "%ItemPath%".
  43. Exit /B 0

Saludos
5926  Programación / Programación General / MOVIDO: Implementar guardado de archivo en: 23 Febrero 2015, 20:32 pm
El tema ha sido movido a Java.

http://foro.elhacker.net/index.php?topic=430574.0
5927  Sistemas Operativos / Windows / Re: Ya se puede descargar Windows 10 Technical Preview en: 23 Febrero 2015, 12:26 pm
¿pero se trata realmente de un cambio de ciclo?
Es decir, ¿hay novedades estructurales en el sistema...?

Esteticamente hablado, podemos decir que "no", ya que tendrá el aspecto de Windows 8/8.1 pero con ínfimas modificaciones de diseño.

Internamente hablando, Windows 10, a diferencia de sus antecesores, será un único S.O. que estará desarrollado a partir de un código base unificado para soportar cualquier dispositivo, cómo PC, smartphone, tablet, laptop, TV, y consolas (y no se si me dejo algo por nombrar), una plataforma para todos los dispositivos, así que el cambio "estructural" es lo más amplio que te puedas imaginar.

...Aparte del resto de noveades y mejoras del SO, como por ejemplo soporte para utilizar atajos del teclado en la CMD, o el nuevo modelo de aplicaciones llamado "Windows Universal apps", que no son más que las conocidas Metro/Modern Apps, pero cómo su nombre indica, serán aplicaciones universales para todos los dispositivos que usen Windows.
Y un largo etc.

Saludos
5928  Programación / Scripting / Re: Programar en Batch en: 22 Febrero 2015, 20:53 pm
Gracias Elektro, me gustan los dos primeros comandos. El otro, seguramente funcionará mejor y todo eso, pero no entiendo lo que escribes ahí (los comandos), y prefiero saber lo que hace lo que programo. Muchas Gracias de todas fromas.  :D ;D ;D ;D

Lo que hago es asignar una cadena delimitada por comas (CSV) que contiene las rutas de los directorios, podriamos decir que es una simulación de una especie de Array limitado, e itero los elementos con el For para copiar el archivo a cada directorio especificado en el ""Array"".
Si tienes muchos directorios entonces esa metodología te ahorraría mucha repetición de código en una herramienta limitada cómo es Batch.

Aparte de lo que te ha comentado el compañero @Engel Lex, también puedes mirar la documentación interna de la CMD.

En consola:
Código:
For /?

Saludos
5929  Programación / Scripting / Re: Programar en Batch en: 22 Febrero 2015, 20:40 pm
La expresión ".\" indica el directorio de trabajo actual, por lo tanto solo tienes que reemplazar los síbolos "¿?" por ".\", es decir, esta ruta:
Código:
".\Archivo1.bat"

...O también puedes utilizar la variable dinámica "%CD%"
Código:
Echo "%CD%\Archivo1.bat"

Pero déjame decirte que la mecánica del código que has expuesto no es del todo correcta ya que puedes saltarte el paso de mover, copiando directamente a los directorios destino:
Código
  1. @Echo OFF
  2.  
  3. Set "dirPaths=%UserProfile%\Desktop;%HomeDrive%"
  4. Set "fileName=%~nx0"
  5.  
  6. For %%d in (%dirPaths%) Do (
  7.    Copy /Y "%~f0" "%%d\%fileName%"
  8. )
  9.  
  10. Pause&Exit /B 0

Saludos
5930  Programación / Scripting / Re: Ayuda con Bat o Vbs en: 22 Febrero 2015, 20:27 pm
Citar
Cual seria la modificación a realizar en tu excelente código Elektro para poder sacar el valor de un Archivo1.txt que contenga:

Código:
<b>Cash Out: </b> 1.97x </p>
<b>Cash Out: </b> 212.34x </p>

Para sacar el "1.97" usa esta expresión:
Código
  1. rgx.Pattern = "(cash.+out.+\s+)([\d\.]+)"

Si quieres sacar el "1.97" incluyendo la "x" (que no se a que hace referencia), usa esta expresión:
Código
  1. rgx.Pattern = "(cash.+out.+\s+)([\d\.]+[^\s])"

Como he disminuido la cantidad de grupos de la expresión (para no hacer demasiado compleja la expresión regular por las etiquetas Html), debes usar esta modificación también:
Código
  1. rgxValue = rgxMatch.Submatches(1)

Saludos
Páginas: 1 ... 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 [593] 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 ... 1254
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines