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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Temas
Páginas: [1] 2
1  Media / Juegos y Consolas / ¿Alguno tiene alguna Dota 2 Beta key? en: 17 Noviembre 2011, 23:39 pm
Pues eso, que si por alguna remota posibilidad, alguno quisiera invitarme. :silbar: :silbar:

- EDIT -

Ya lo he conseguido gracias a un amigo :3 .
2  Programación / ASM / Pregunta sobre ASM y WinAPI en: 22 Noviembre 2009, 17:38 pm
Tengo la curiosidad de saber que si siempre que se va a crear programillas como por ejemplo pues el notepad mismo, es totalmente necesario usar la WinAPI o ¿hay otras formas de hacerlo?.

Un Saludo.
3  Programación / Programación General / [Curso] Programación en Object Pascal (Delphi) en: 14 Junio 2009, 22:00 pm
He recopilado unos apuntes, y quisiera compartirlo con vosotros, a parte de que no he visto por hay ningún tutoriales completos y decentes sobre Object Pascal.

El curso abarca desde el nivel más básico hasta un nivel medio aproximadamente.

No se trata nada de programación gráfica, ni de base de datos, pero si aprendes hacer uso de librerias externas. Las aplicaciones son en modo consola y son compatibles con todas las versiones de Delphi y también con el compilador Open Source, Free Pascal (con este compilador, tienes que añadir en las primeras líneas de cada archivo {$mode delphi}).

Si tienen alguna pequeña duda sobre el documento no duden en preguntar.

DESCARGA:

http://www.mediafire.com/?sharekey=a5c11d5dfaa2b0130de4fc1039a01674e04e75f6e8ebb871

PD: Lo subo solo a mediafire, porque a megaupload en otro post no descargo nadie.
4  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 :( .
5  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 ::) .
6  Informática / Electrónica / Esquema de un multiplicador digital de 8 bits en: 7 Marzo 2009, 13:10 pm
Bueno tras mucho buscar por allí y por allá por fin conseguí hacerlo, en base a un FA (Full Adder) y a una puerta and y 8 entradas y salidas, os lo muestro a continuación, para el que tenga curiosidad:


Este es un multiplicador simple de 1 bit.


Este es un multiplicador de 8 bits que tiene como salida 16 para que pueda representar todas las posibles multiplicaciones.

Si hay alguna forma más efectiva no duden en ponerla.
7  Informática / Electrónica / ¿Que es un ordenador? ¿Una máquina de estados finitos o infinitos? en: 3 Marzo 2009, 17:04 pm
Tengo una pequeña duda sobre lo que es mi ordenador (el que tengo en casa y tiene cualquiera) y es que me gustaría saber si mi ordenador es una máquina de estados finitos o es una máquina de estados infinitos (máquina de Turing), es que no lo se bien, solo leí por encima sobre el primero, que permite construir un ordenador, hasta hay bien, pero que estaba limitado por ejemplo a multiplicar n x n bits o algo así.

Me gustaría saber si alguien me lo puede aclarar.
8  Informática / Electrónica / Por donde empezar con la electrónica digital? en: 7 Febrero 2009, 20:59 pm
Pues eso, en la uni lo voy a dar, exactamente a partir del miércoles empiece con esto, pero para saber un poco y no quedarme sorprendido cuando lo de, es mera curiosidad y para saber en que me voy a meter, para irme preparando...
9  Programación / Scripting / [SOURCE] "Shell Remota" con Python con GUI (Tkinter) en: 1 Enero 2009, 02:34 am
Tras haber dejado un post sin ninguna respuesta  :-( , empece a buscar como un loco por Google haber como podia hacerlo y ya sabeis el dicho, si quieres, puedes, lo que he hecho esta vez, es crear un servidor socket hecho en python con algunas funciones que se ejecutaran según las ordenes que le demos, según parece, al crear un GUI con Tkinter y teniendo sockets, te ves en una encrucijada pues tenemos dos búcles el de los sockets, para mantener la comunicación y el de la ventana gráfica (root.mainloop()), asi que la solución obvia seria ejecutar una y después otra por cada ciclo, para ello es necesario el uso de thread, que he aprendido a nivel básico como funciona hace un rato :xD , del PDF, Python para todos, y como no tengo ni idea de clases en python lo he adaptado como he podido, y ello me ha obligado a tener que entenderlo.

Funcionamiento:

Simplemente es un servidor socket y un cliente GUI con socket que interactuan, desde el cliente vas mandando comandos y el servidor los ejecuta en la máquina en la que esta ejecutandose. Solo he puesto unos cuantos comando inútiles para ver si funcionaba, y si hace, bastante bien.

Los comandos en cuestión son:

mostrar_os -> Muestra el sistema operativo del servidor
cmd pause -> Pausa una consola en Windows
echo HolaM -> Muestra "Hola Mundo" en la consola.

Código Fuente:

server.py:
Código
  1. #!/usr/bin/python
  2.  
  3. import socket
  4. import os
  5.  
  6. s = socket.socket()
  7. s.bind(("localhost", 9999))
  8. s.listen(30)
  9.  
  10. sc, addr = s.accept()
  11.  
  12. sc.send("Bienvenido!")
  13.  
  14. while True:
  15. recibido = sc.recv(255)
  16. print "Recibido:", recibido
  17. if recibido == "quit":
  18. break
  19. if recibido == "mostrar_os":
  20. recibido = os.name
  21. if recibido == "cmd pause":
  22. os.system("pause")
  23. if recibido == "echo HolaM":
  24. os.system("echo \"Hola Mundo\"")
  25. sc.send(recibido)
  26.  
  27. print "adios"
  28.  
  29. sc.close()
  30. s.close()

client.py:
Código
  1. #!/usr/bin/python
  2.  
  3. from Tkinter import *
  4. import socket
  5. import threading
  6.  
  7. class App:
  8. def __init__(self, master):
  9. Texto = ""
  10. frame = Frame(master)
  11. frame.pack()
  12.  
  13. self.texto_chat = Text(frame)
  14. self.texto_envio = Entry(frame)
  15. self.boton_enviar = Button(frame, text="Enviar!", command=self.evento)
  16.  
  17. self.texto_chat.grid(row=1, column=1)
  18. self.texto_envio.grid(row=2, column=1)
  19. self.boton_enviar.grid(row=2, column=2,)
  20.  
  21. def evento(self):
  22. Texto = self.texto_envio.get()
  23. s.send(Texto)
  24. self.texto_chat.insert(END, "Cliente -> " + Texto + "\n", END)
  25.  
  26. root = Tk()
  27. application = App(root)
  28.  
  29. class socket_thread(threading.Thread):
  30. def __init__(self):
  31. threading.Thread.__init__(self)
  32.  
  33. def run(self):
  34. while True:
  35. mensaje = s.recv(255)
  36. print "Server -> " + mensaje
  37. application.texto_chat.insert(END, "Server -> " + mensaje + "\n", END)
  38. #time.sleep(2)
  39. if mensaje == "quit":
  40. self.salir
  41.  
  42. def salir():
  43. print "Saliendo..."
  44. s.close()
  45.  
  46. s = socket.socket()
  47. s.connect(("localhost", 9999))
  48.  
  49. sock = socket_thread()
  50. sock.start()
  51.  
  52. root.mainloop()

Espero que sirva de algo esto que hice ;)

Si me dejan ponerle licencia que sea zlib, para que pase a dominio público y no tengas que darme ni reconocimientos ni créditos, si lo usaras en tus aplicaciones tanto libres como comerciales.
10  Programación / Scripting / como dando ordenes a través sockets en Python? en: 28 Diciembre 2008, 18:09 pm
Vereis estaba probando para hacer una especie de chat, con un bot, me explico estoy haciendo un cliente y un server con sockets, en python y quiero que cuando le envie un string por medio de sockets al server este lo recoja lea una de las posibles opciones, envie un string, y el cliente muestre la info del string enviado por el server, espero que se entienda.

Server.py
Código:
#!/usr/bin/python

import socket

s = socket.socket()
s.bind(("localhost", 9999))
s.listen(30)

sc, addr = s.accept()

sc.send("Bienvenido!")

while True:
recibido = sc.recv(255)
print "Recibido:", recibido
if recibido == "quit":
      break
if recibido == "tonto":
      recibido = "Probando..."
sc.send(recibido)

print "adios"

sc.close()
s.close()

Client.py
Código:
#!/usr/bin/python

import socket
#import time

def salir():
print "adios"
s.close()

s = socket.socket()
s.connect(("localhost", 9999))

while True:
mensaje = s.recv(255)
#time.sleep(2)
mensaje = raw_input("> ")
s.send(mensaje)
if mensaje == "quit":
salir
if mensaje == "Probando....":
print mensaje

Soy un novato en esto de los sockets y python, haber si me lo podeis solucionar y asi podre meter el siguiente paso que es trastear con las librerias GUI, recogi parte del code mirando por google y documentación de python.
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines