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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6 7 8 9 10
21  Programación / Scripting / [Python] Algoritmo cuasi-acabado de listado de archivos en un fichero en: 14 Mayo 2009, 00:07 am
La idea es indexar todos y cada uno de tus archivos en un simple archivo, para después cuando quieras buscar un archivo, simplemente buscas, es simplemente mera curiosidad este algoritmo y es para probar como se recorrería una estructura de árbol.

La forma más adecuada o sencilla es por medio de recursividad que si digo la verdad hasta hace 2 o 3 meses no tenia ni idea.

Hacerlo de forma iterativa es poco menos que cometer un suicidio, pero por supuesto es posible.

Yo en el algoritmo he ideado una combinación mixta de ambas, para recorrer hacia abajo he usado recursividad y para recorrer en lateral he usado la forma iterativa.

Código
  1. # -*- coding: cp1252 -*-
  2.  
  3. import os
  4.  
  5. directorio = os.getcwd()
  6. lista = directorio
  7.  
  8. f = open('listado.txt', 'w')
  9.  
  10. directorio = directorio.split("\\")
  11. directorio = directorio[0]
  12.  
  13. #print directorio
  14.  
  15. os.chdir(directorio + "\\")
  16.  
  17.  
  18. def listado():
  19.    i = 0
  20.    archivos = os.listdir(directorio)
  21.    while i <= len(archivos):
  22.        if os.path.isfile(directorio+"\\"+archivos[i]) == True:
  23.            f.write(directorio+"\\"+archivos[i]+"\n")
  24.        else:
  25.            subdirectorios(directorio+"\\"+archivos[i])
  26.        i +=1
  27.  
  28. def subdirectorios(direc):
  29.    j=0
  30.    archivos=os.listdir(direc)
  31.    while j < len(archivos):
  32.        if os.path.isfile(direc+"\\"+archivos[j]) == True:
  33.            f.write(direc+"\\"+archivos[j]+"\n")
  34.        else:
  35.            subdirectorios(direc+"\\"+archivos[j])
  36.        j+=1
  37.  
  38. listado()
  39.  
  40. f.close()

Solo tiene un pequeño problema:

Citar
  File "C:\Documents and Settings\Shrick\Mis documentos\Prog\Python\araña.py", line 35, in subdirectorios
    subdirectorios(direc+"\\"+archivos[j])
  File "C:\Documents and Settings\Shrick\Mis documentos\Prog\Python\araña.py", line 30, in subdirectorios
    archivos=os.listdir(direc)
TypeError: listdir() argument 1 must be (buffer overflow), not str

Que es debido seguramente a la capacidad de la lista al poner todos los archivos porque tiene un límite y no se me ocurre una solución :( .
22  Informática / Electrónica / Re: Automatas programables en: 7 Mayo 2009, 19:54 pm
Si te refieres a los automatas finitos deterministas de electrónica creados a partir de diagramas de estado, una solución es hacerlo mediante biestables D conectados adecuadamente y puertas lógicas luego esta la solución de programar el hardware tu mediante código en VHDL o en Verilog comprarte una CPLD o una FPGA, de Xilinx o Altera, y grabar el fuente en dicha placa que has comprado. El autómata hara lo que le digas, y es la base fundamental para la construcción de un ordenador.

http://es.wikipedia.org/wiki/Aut%C3%B3mata_finito
23  Programación / ASM / Re: Libreria Multiplataforma - ASM en: 7 Mayo 2009, 19:29 pm
http://foro.elhacker.net/programacion_general/busco_libreria_multiplataforma_para_un_ensamblador-t246646.0.html;msg1189266#msg1189266

Se tuvo una pequeña discusión sobre el tema.

¿Que dice la gente que sabe?

ASM para programación para uniplataforma, unisistema operativo y C para multiplataforma (Aunque supongo que se podrá sustituir por C++).

Un Saludo.
24  Programación / Scripting / Re: [Python]Comprobar si hay actualizaciones en elhacker.net en: 5 Mayo 2009, 23:47 pm
Si esa es la metodología pillar el fuente copiarlo en un archivo después, al de unos dias vuelves ha hacer lo mismo y haces una comparación byte a byte haber si hay algo nuevo y si lo hay pues se anuncia y pista. Yo el urllib todavía no lo he utilizado aunque pienso utilizarlo porque lo veo muy útil y sencillo, sin embargo los de python todavia tienen que implementar correctamente el SSL para entrar en páginas de HTTPS, que por desgracia aun les queda camino, existe la librería M2Crypto que te permite hacer lo mismo, sin embargo, esta carente de documentación y uno se harta de tener que leerse todo el code y entenderlo.
25  Programación / Scripting / Re: Compilar Python?[python] en: 24 Marzo 2009, 14:17 pm
Mira yo soy pro-python, pero lo que dices es cierto, porque tienes que andar descomprimiendo los módulos que vienen en library.zip, eso pasa en py2exe, en cx_Freeze, lo que ocurre es que el ejecutable es en realidad ejecutable + library.zip, lo que supone en teoria peor rendimiento porque tiene que despegarlo y descomprimirlo.

Pero no te preocupes si estas programando en Python es porque quieres resultados rápidos y eficientes (de cara a que hace lo que quieres), sin importar mucho la velocidad, ya que si esto fuera así no lo programarías es C++ o así?.
26  Programación / Programación C/C++ / [Libro] Cross-Platform GUI Programming with wxWidgets en: 21 Marzo 2009, 22:14 pm
No he visto tutoriales buenos sobre wxWidgets, los buenos están todos (por desgracia en inglés), encontré por hay buscando en Google un libro del mismo.




DESCRIPCIÓN

"This book is the best way for beginning developers to learn wxWidgets programming in C++. It is a must-have for programmers thinking of using wxWidgets and those already using it."

(Este libro es el mejor camino para desarrolladores noveles para aprender a programar WxWidgets en C++. Es un "must-have" para programadores que piensen usar wxWidgets y para aquellos que ya lo usan).

— Mitch Kapor, fundador de Lotus Software y de Open Source Applications Foundation

  • Construye avanzadas aplicaciones multiplataforma que soportan look-and-feel nativo en Windows, Linux, Unix, Mac OS X e incluso Pocket PC
  • Domina wxWidgets desde el principio hasta el final incluso si nunca has creado aplicaciones con GUI antes
  • Asimila capacidades avanzadas de wxWidgets: redes, multihilos, streaming y más
  • CD-ROM: librería de herramientas de desarrollo, código fuente y ejemplos de aplicaciones
  • Prólogo por Mitch Kapor, fundador de Lotus Development and Open Source Application Foundation

wxWidgets es una API en C++ de código abierto y fácil de usar para escribir aplicaciones con GUI que se ejecutan en Windows, Linux, Unix, Mac OS X e incluso PocketPC — soportando el look-and-feel nativo de cada plataforma sin virtualmente añadir más código. Ahora, su creador y sus dos destacados desarrolladores te enseñan lo que tu necesitas para escribir aplicaciones multiplataforma robustas con wxWidgets. Este libro cubre TODO desde cajas de diálogo hasta arrastrar-y-soltar, desde redes hasta multihilos. Incluye todas las herramientas y código que tu necesitas para obtener excelentes resultados, rápidos. Desde AMD hasta AOL, Lockheed Martin hasta Xerox, desarrolladores importantes están usando wxWidgets para ahorrar dinero, incrementar eficiencia y llegando a nuevos mercados. Con este libro, tu también puedes.

  • Inicio Rápido en wxWidgets: manejo de eventos/entradas, diseño de ventanas, dibujado, impresión, diálogos y más.
  • Trabajando con clases de ventana, desde el más simple hasta el más avanzado.
  • Manejo de memoria, depuración, comprobación de errores, internacionalización y otros temas avanzados.
  • Incluye extensos ejemplos de código para Windows, Linux (GTK+) y Mac OS X.

¿PARA QUIEN ES ESTE LIBRO?

Este libro es una guia para usar wxWidgets: un kit de construcción de código abierto para ayudarte a escribir sofisticadas aplicaciones en C++ para varias plataformas, incluyendo Linux, Mac OS X, y Pocket PC. Con ayuda de este libro, un competente programador puede crear aplicaciones multiplataforma con confianza. Desarrolladores ya familiares con wxWidgets deberian tambien serles útil para repasar su conocimiento.

Este libro es accesible para desarrolladores con variedad de experiencia y formación. Tu puedes venir desde una perspectiva de Windows o Unix; tu puedes previamente tener experiencia en MFC, OWL, Win32™, Mac OS, Motif™ o programación en modo consola en Unix. O puede que tu vengas desde un campo totalmente diferente y estés mirando un modo de obtener velocidad en multiples plataformas. El libre no puede cubrir específicamente todos los detalles del lenguaje C++, pero es común para las personas aprender satisfactoriamente C++ y wxWidgets al mismo tiempo, y el obstáculo natural de la API de wxWidgets se hace más fácil. El lector no necesita conocer las técnicas más avanzadas de C++ como las plantillas, los flujos y las excepciones. No obstante, wxWidgets no te impide usarlas.

Managers will find the book useful in discovering what wxWidgets can do for them, particularly in Chapter 1. The combination of the book and the resources on the accompanying CD-ROM will give your staff all they need for getting started on cross-platform programming projects. You'll see how wxWidgets puts tools of tremendous power into your hands, with benefits that include:

Gerentes encontraran este libro útil descubriendo que wxWidgets puede hacer para ellos, particularmente en el Capítulo 1. La combinación del libro con los recursos que acompañan al CD-ROM darán a tu staff la necesidad de ser iniciados en la programación de proyectos multiplataforma. Veras como wxWidgets pone herramientas de increible poder en tus manos que incluye:

  • Ahorro de costes al escribir el codigo una vez que compilará en Windows, Unix, Mac OS X u otras plataformas.
  • Satisfacción del cliente al recibir una aplicación estable, rápida, atractiva con un look-and-feel nativo.
  • Incrementando la productividad desde la amplia variedad de clases que wxWidgets provee, para la creación de excelentes GUIs y para el desarrollo general de aplicaciones.
  • Incremento de cuota de mercado justamente por soportar plataformas que no tendrías considerado previamente, y la habilidad de internacionalizar tus aplicaciones.
  • Soporte desde la gran y activa comunidad de wxWidgets que responderá tus preguntas encantados y corrigiendo rápidamente todos los bugs. El ejemplo de add-ons de terceros listados en el Apéndice E es una evidencia de un prospero ecosistema.
  • Acceso al código fuente para mejorar la aplicación y encontrar y solucionar problemas.

Esta es una guia para escribir aplicaciones de wxWidgets en C++, pero tu puedes usar otra variedad de lenguajes como Python, Perl, una variante de BASIC, Lua, Eiffel™, javascript, Java™, Ruby, Haskell y C#™. Algunos de estos bindings son más avanzados que otros. Para más información, por favor mira el Apéndice E y el sitio WEB oficial en:

http://www.wxwidgets.org

Esta enfocado en 3 plataformas de escritorio populares: Microsoft Windows, Linux usando GTK+, y Mac OS X. No obstante, la mayoria del libro también se aplica a otras plataformas soportadas por wxWidgets. En particular, wxWidgets puede ser usado en la mayoria de las variantes Unix.

AUTORES

Julian Smart, Kevin Hock y Stefan Csomor.

DESCARGA

Mediafire: http://www.mediafire.com/?sharekey=544778248977d17208f8df73f2072ed6e04e75f6e8ebb871
Megaupload: http://www.megaupload.com/?d=3W8E0XLC

PD: Espero que se entienda bien la traducción que hice ::) .
27  Programación / Scripting / Re: [python] en: 12 Marzo 2009, 14:52 pm
Si quieres tratar el binario en si para modificar algo del mismo no te recomiendo para nada el cx_Freeze.
28  Informática / Electrónica / Re: Biestables D sincronos en: 8 Marzo 2009, 23:57 pm
Parece ser que es por la conexión entre dos puertas NAND cuando aprenda un poco más sobre sistemas digitales secuenciales te contare no te preocupes ;D
29  Informática / Electrónica / Re: Por donde empezar con la electrónica digital? en: 8 Marzo 2009, 20:18 pm
Me refería si hay algún simulador de PICs de código abierto.
30  Informática / Electrónica / Re: Esquema de un multiplicador digital de 8 bits en: 8 Marzo 2009, 20:15 pm
En la electrónica hay tres cosas básicas:

- ¿Para que?
- ¿Como?
- ¿Por que?

La mayoría de la gente solo hace caso del primero, porque no suele ser necesario las otras dos, pero una persona que busca el conocimiento, el porque de las cosas le interesara bastante esto.
Páginas: 1 2 [3] 4 5 6 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines