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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 ... 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 56
301  Programación / Scripting / [Ruby] Abriendo una web en: 2 Marzo 2009, 14:08 pm
Bueno, aqui os dejo un código que te muestra el contenido de una web con tags HTML:

Código
  1. require 'net/http'
  2.  
  3. url = URI.parse('http://krews.es/iNews_System/index.php')
  4.  
  5. Net::HTTP.start(url.host, url.port) do |http|
  6.  mostrar_cont = Net::HTTP::Get.new(url.path)
  7.  puts http.request(mostrar_cont).body
  8. end
302  Programación / Scripting / Re: [Python] Curso de Python con Interfaces graficas TK en: 1 Marzo 2009, 22:32 pm
10.Textarea e incluimos los scrollbar

Bueno, despues de todo un fin de semana sin internet, por estar fuera de mi casa [...] Ya puedo porfin escribir lo que queria sobre los textarea que incluye documentación sobre scrollbar...
En esta lección usaremos mucho la X y la Y, como ya sabreis mucho son las variables que señalan las coordenadas o las posiciones X = Horizontal, Y = Vertical :).
Bueno, vamos allá...

Primero, la sintaxis de un textarea, pues, es simple, como todos los widgets de las interfaces TK en Python:

Código
  1. <nombre_del_textarea> = Text(<identificador>, height=h, width=w)

Como veis, en <nombre_del_textarea> sera la variable que defina el textarea, donde Text es el nombre del widget con el que identificamos, el <identificador> es el identificador TK que declaramos al inicio, en el curso por defecto es root, height=h es la altura de largo y width=w de ancho, por defecto, en el curso usaremos h = 20, w = 40, y nos quedara algo así:

Código
  1. textarea = Text(root, height=20, width=40)

Como veis  cumplimos los requisitos básicos del widget, pero tendriamos un problema, al añadir mucho contenido de texto, perdiriamos el hilo, pues no tenemos un objeto en todo caso un scrollbar que nos suba o nos baje para ver todo el texto, para eso como he mencionado varias veces anteriormente usaremos un scrollbar, su sintaxis es:

Código
  1. <nombre_del_scrollbar> = Scrollbar(<identificador>, command=<nombre_del_textarea>.<funcion_de_vista>)

Donde nombre del scrollbar ponemos la variable que guarda nuestro widget, la palabra Scrollbar identifica como scrollbar nuestro objeto, el identificador es el identificador TK que declaramos anteriormente, en el curso por defecto es TK, <nombre_del_textarea> seria el nombre de la variable que usamos anterior mente y luego separado por un punto <funcion_de_vista>, puede ser X o Y, nostros, por defecto usaremos la Y, que es vertical, ejemplo:

Código
  1. scroll = Scrollbar(root, command=textarea.yview)

Como veis, le llamamos scroll, lo identificamos como un scrollbar, usamos nuestro identificador tk que inicia los objetos que es "root", y luego como veis añadimos el nombre de nuestro textarea y le añadimos una vista horizontal con el yview, si quereis, cambiando y por x podeis conseguir una vista horizontal.

Ahora tenemos de configurar al textarea indicandole que tiene un scrollbar preparado, ¿como lo hacemos? con la funcion configure:

Código
  1. <nombre_del_textarea>.configure(yscrollcommand=<nombre_del_scrollbar>.set)

Donde nombre del textarea ponemos el nombre de la variable y donde nombre del scrollbar idem, pero con el del scrollbar...

y por ultimo, declaramos las posiciones de inicio de nuestros objetos, primero el textarea, le indicamos que señalara que el textarea se pondra a la izquierda (<):

Código
  1. <nombre_del_textarea>.pack(side=LEFT)

donde nombre del textarea ponemos la variable, y como veis con pack indicamos la fijación de lugar y con side la posicion.

Y con el scrollbar, algo parecido:

Código
  1. <nombre_del_scrollbar>.pack(side=RIGHT, fill=Y)

En el nombre del scrollbar el nombre de la variable, con el pack fijamos el lugar, con side indicamos que ira a la derecha del textarea y con fill indicamos si sera horizontal o vertical y por supuesto ponemos vertical (siempre tiene que estar en mayúscula (Y,X)).

Y aqui os dejo un ejemplo total:

Código
  1. from Tkinter import *
  2. root = Tk()
  3. textarea = Text(root, height=20, width=40)
  4. scroll = Scrollbar(root, command=textarea.yview)
  5. textarea.configure(yscrollcommand=scroll.set)
  6. textarea.pack(side=LEFT)
  7. scroll.pack(side=RIGHT, fill=Y)
  8. root.mainloop()

Pronto más info.
Espero que os haya gustado, buenas noches :)
303  Programación / Scripting / [Python] PyTK vs PyGTK vs PyQT vs wxPython en: 25 Febrero 2009, 20:15 pm
Me gustaria saber vuestra opinion y bien argumentada de cual os parece mejor y cual usais para los entornos graficos en python.

Yo actualmente uso PyTK por su facilidad y eficazia, pero si algun dia tengo que cambiar creo que seria hacia GTK ya que tengo buenas expectativas sobre el... ¿Que opinais?
304  Programación / Scripting / Re: Curso de Python con Interfaces graficas TK en: 25 Febrero 2009, 19:47 pm
9.Nuestra segunda aplicación, Calculadora básica

Antes que nada agradecer a todos los que leen el curso :)
Y bueno, os dejo este código con lo que hemos ido aprendiendo.
Hay algunas cosas que olvide, son pequeñas cosas que algunas di por sentadas y otras ni me acorde...
Desde nuestro identificador podemos definir el titulo de nuestra ventana:

Código
  1. identificador.title('Nombre de la aplicacion')

Si sigues el curso sabras que el identificador es root, y bueno, otra cosa es que las columnas y las linias (row, column) empiezan en 0,0 , osea así la row principal es 0 y la column principal es 0.

Y bueno, aqui os dejo la aplicación de aprendizaje:

Código
  1. from Tkinter import *
  2. def calc_sumar():
  3. print a.get()+b.get()
  4. lblt = Label(root, text="Total: " + str(a.get()+b.get()))
  5. lblt.grid(row=3, column=0)
  6. def calc_restar():
  7. print a.get()-b.get()
  8. lblt = Label(root, text="Total: " + str(a.get()-b.get()))
  9. lblt.grid(row=3, column=0)
  10. def calc_mult():
  11. print a.get()*b.get()
  12. lblt = Label(root, text="Total: " + str(a.get()*b.get()))
  13. lblt.grid(row=3, column=0)
  14. def calc_div():
  15. print a.get()/b.get()
  16. lblt = Label(root, text="Total: " + str(a.get()/b.get()))
  17. lblt.grid(row=3, column=0)
  18. root = Tk()
  19. root.title('PyCalk - Python/TK')
  20. a = IntVar()
  21. b = IntVar()
  22. atxt = Entry(root, textvariable=a,width=15)
  23. btxt = Entry(root, textvariable=b,width=15)
  24. cbs = Button(root, text="Sumar", command=calc_sumar,width=10)
  25. cbr = Button(root, text="Restar", command=calc_restar,width=10)
  26. cbm = Button(root, text="Multiplicar", command=calc_mult,width=15)
  27. cbd = Button(root, text="Dividir", command=calc_div,width=10)
  28. atxt.grid()
  29. btxt.grid()
  30. cbs.grid(row=0, column=1)
  31. cbr.grid(row=1, column=1)
  32. cbm.grid(row=2, column=0)
  33. cbd.grid(row=2, column=1)
  34. root.mainloop()
  35.  

Datos:

Nombre: PyCalk (Python Calculadora TK)
Lineas: 34
Funciones: 4
Nombre real: Calculadora básica de cuatro operaciones (Añadirle más si quereis con la libreria math :))
305  Programación / Scripting / Re: Curso de Python con Interfaces graficas TK en: 25 Febrero 2009, 14:17 pm
8.CheckBox & IntVar()

Bueno, despues de estar muerto varios meses (2) he decidido continuarlo y lo continuamos con el checkbox e introduciendo las variables numericas en Tk.
Cuando comence con esto del PyTk habia un error que me mataba, no sabia construir variables numericas en Python, pero pensando un poco probe varias combinaciones IntegerVar(), VarInt(), VarInteger()... hasta que probe IntVar() y lo consegui, el resultado de una variable numerica:

Código
  1. mi_int_var = IntVar() # Creando una variable numerica

Y bien, volviendo al tema principal, hablaremos sobre los checkbox, para los que no sabes que es, son unos cuadrados de selección que se utilizan en formularios de contacto, supscripción... Estos cuadrados a diferencia de los RadioButton (los veremos más adelante) solo puede haber 1 clickeado.

Bueno, la syntax del widget checkbutton es la siguiente:

Código
  1. check = CheckButton(root, text="Lo que saldra al lado", var=variable_que_usaremos)
  2. check.grid()

Donde check seria el nombre de nuestro widget, CheckButton indicamos que sera un Cuadrado de selección, root es nuestro identificador, Lo que saldra al lado es lo que saldria al lado para informar que pasa o que seleccionas al clickar ese cuadrado y variable_que_usaremos es la variable con la que identificamos nuestro checkbutton.

Un ejemplo sencillo seria este:

Código
  1. var = IntVar()
  2. check = Checkbutton(root, text="Hola mundo", variable=var)
  3. check.grid()

Y ahora podriamos saber si ese cuadrado ha sido seleccionado haciendo un if:

Código
  1. def funcion_presionada_por_button():
  2.   if var.get():
  3.      print "El checkbutton fue seleccionado"
  4.   else:
  5.      print "El checkbutton no fue seleccionado"
  6.  

De esta manera le decimos que si la variable var del checkbutton contiene algo osea así una seleccion nos salga algo y por contra otra cosa, donde funcion_presionada_por_button es la funcion o mejor llamado el command que llamamos desde un button creado por nosotros.

Y ahora, os dejo un ejemplo total para que practiqueis y lo veais más claro:

Código
  1. from Tkinter import *
  2. def verificar():
  3. if var.get():
  4. print "El checkbutton fue seleccionado"
  5. else:
  6. print "El checkButton no fue seleccionado"    
  7. root = Tk()
  8. var = IntVar()
  9. check = Checkbutton(root, text="Seleccionado/ No seleccionado", variable=var)
  10. cm = Button(root, text="Verificar", command=verificar, width=20)
  11. check.grid()
  12. cm.grid()
  13. root.mainloop()

Si me equivoque en algo o quereies preguntar algo, postear.
En la próxima lección aprenderemos los textarea :)
306  Programación / Scripting / [Python] VPython [+ Algunos ejemplos y tutorial +] en: 20 Febrero 2009, 10:20 am
Vpython es una libreria con la que te permite crear figuras 2D y 3D la que es util para crear diferentes simuladores...

1.Bajar VPython

Os invito a que os bajeis este modulo de python en el que puede crear graficos 3D.
Os ire poniendo ejemplos por posts.

URL:
http://www.vpython.org/download.html

2.Crear un cubo verde 2D

Bueno, aqui os ense?are a crear un cubo verde en python en 2D con la libreria visual python.
Primero importamos la libreria:

Código
  1. import visual

Y ahora, los factores del cubo, pero primero el code:

Código
  1. p = visual.vector(0,0,-2)  
  2. s = (4,4,4)  
  3. c = color=visual.color.green
  4. cubo = visual.box(pos=p,size=s,color=c)

Ahora explicaremos el c?digo detalladamente:
La variable p sera la posicion, y la declaramos de esta manera:

Código
  1. p = visual.vector(x,x,x)

Donde xxx ira la posici?n en pantalla.Nosotros usaremos 00-2 para nuestra aplicaci?n.
Ahora c, que sera el color, lo identificamos de esta manera:

Código
  1. c = visual.color.color

En el segundo color ponemos el nombre del color en ingles: green, blue, red, grey, yellow, pink, orange...

Y por ultimo, identificaremos el tama?o, el tama?o sera:

Código
  1. s = (x,x,x)

Es facil, xxx, segun el tama?o veis probando, y por ultimo, la declaraci?n del cubo:

Código
  1. cubo = visual.box(pos=p,size=s,color=c)

Y por fin declaramos el cubo y sus preferencias: pos = posicion, size = tama?o, color = color.
Veis como es facil, ya hemos creado un Cubo 2D.

Código
  1. p = visual.vector(0,0,-2)  
  2. s = (4,4,4)  
  3. c = color=visual.color.green
  4. cubo = visual.box(pos=p,size=s,color=c)

3.Crear un cubo rojo 3D

Bueno, aqui os ense?are a crear un cubo rojo en python en 3D con la libreria visual python.
Primero importamos la libreria:

Código
  1. import visual

Y ahora, los factores del cubo, pero primero el code:

Código
  1. import visual
  2. p = visual.vector (5,4,-1)
  3. s = (4,4,4)
  4. c = color=visual.color.red
  5. cubo = visual.box(pos=p,size=s,color=c)

Ahora explicaremos el c?digo detalladamente:
La variable p sera la posicion, y la declaramos de esta manera:

Código
  1. p = visual.vector(x,x,x)

Donde xxx ira la posici?n en pantalla.Nosotros usaremos 54-1 para nuestra aplicaci?n.
Ahora c, que sera el color, lo identificamos de esta manera:

Código
  1. c = visual.color.color

En el segundo color ponemos el nombre del color en ingles: green, blue, red, grey, yellow, pink, orange...

Y por ultimo, identificaremos el tama?o, el tama?o sera:

Código
  1. s = (x,x,x)

Es facil, xxx, segun el tama?o veis probando, y por ultimo, la declaraci?n del cubo:

Código
  1. cubo = visual.box(pos=p,size=s,color=c)

Y por fin declaramos el cubo y sus preferencias: pos = posicion, size = tama?o, color = color.
Veis como es facil, ya hemos creado un Cubo 3D.

Que cambia en este caso?, que de los valores de posicion x1,x2,x3, x1 o es mas grande o es m?s peque?o que x2.Y eso hace la diferencia.

4.Textos en mi mundo 3D

Como sabreis, ya hemos hecho 1 cubo 2D y 1 cubo 3D.
?Ahora que falta?

Poder ponerle un bonito texto que diga, Bienvenidos a mi mundo 3D.
Esto es muy sencillo, la linea del c?digo que a?adiremos sera:

Código
  1. visual.label(pos=p, text='Bienvenidos a mi mundo 3D')

Como veis es un visual.label (texto) donde la posicion pondremos la misma que el cubo y el texto es el que decia antes.

As? quedaria el modo simple:

Código
  1. import visual
  2. p = visual.vector (5,4,-1)
  3. s = (4,4,4)
  4. c = color=visual.color.red
  5. cubo = visual.box(pos=p,size=s,color=c)
  6. visual.label(pos=p, text='Bienvenidos a mi mundo 3D')

Pero... y si le ponemos m?s emoci?n y todo y le cambiamos el color al texto?

Muy facil, crearemos otra linea de color que se llamara c2, con el mismo valor, solo que cambiaremos .red por .green, y ahora veremos como queda la linea del label.

Código
  1. c2 = color=visual.color.green
  2. visual.label(pos=p, color=c2 ,text='Bienvenidos a mi mundo 3D')

Este seria el resultado de variable + label y ahora todo junto:

Código
  1. import visual
  2. p = visual.vector (5,4,-1)
  3. s = (4,4,4)
  4. c = color=visual.color.red
  5. c2 = color=visual.color.green
  6. cubo = visual.box(pos=p,size=s,color=c)
  7. visual.label(pos=p, color=c2 ,text='Bienvenidos a mi mundo 3D')

Huala que bonito queda, aunque prefiero el blanco normal ;).

Continuara...
307  Programación / Scripting / Re: Opinion sobre aplicaciones hechas con lenguajes scripting en: 19 Febrero 2009, 23:01 pm
Scripting = Pequeñas aplicaciones? Hablamos el mismo idioma? Que yo sepa, aMSN esta creado con TCL/TK y aMSN 2 con Py/TK, que yo sepa eso no es una pequeña aplicacion, a y... Script para juegos 2D en moviles? Nunca lo probé...
308  Programación / Scripting / Re: Sockets en Python [+Ejemplos y Ejercicios] en: 18 Febrero 2009, 22:49 pm
1.Importamos la libreria

Para empezar a programar sockets en Python necesitamos importar la libreria socket:

Código
  1. import socket

2.Creamos el objeto socket

Ahora tenemos que crear un objeto socket que efectuara las funciones de los sockets, nosotros por defecto usaremos una variable llamada sock:

Código
  1. sock = socket.socket()

De esta manera ya tenemos nuestro objeto listo para efectuar funciones

3.Nos conectamos al servidor

Ahora, usaremos la funcion conect para poder conectarnos a un servidor y poder mandarle datos, funciones...
Usaremos la variable sock que hemos declarado antes y pondremos el servidor + el puerto:

Código
  1. sock.connect(("localhost", 5000))

De esta manera nos conectamos a localhost en el puerto 5000.

4.Bucle de envios

Ahora entraremos en un bucle de envios en el que podremos enviar mensajes al servidor que nos hemos conectado, usaremos un while infinito y utilizaremos la funcion send():

Código
  1. while 1:
  2. msg = raw_input("~~> ")
  3. sock.send(msg)

Hemos utilizado raw_input para cojer el mensaje y luego sock.send(msg) para enviarlo al servidor conectado, como veis hemos decorado con un ~~> el mensaje que se pondra...

5.Cerramos conexion

Ahora usaremos close para cerrar la conexión:

Código
  1. sock.close()

6.Cliente total

Código
  1. # cliente.py by erik#
  2. import socket
  3. sock = socket.socket()
  4. sock.connect(("localhost", 5000))
  5.  
  6. while 1:
  7.      mensaje = raw_input("~~> ")
  8.      sock.send(mensaje)
  9. sock.close()
  10.  

Mañana pondre sobre servidores.
309  Programación / Scripting / Re: Sockets en Python [+Ejemplos y Ejercicios] en: 18 Febrero 2009, 21:34 pm
Perdoname, con el tragin de instalar openSUSE 11.1 no tube tiempo, en cuanto tengo unos minutitos lo hago :)
310  Seguridad Informática / Nivel Web / Re: ¿Que es file discloure? en: 13 Febrero 2009, 13:44 pm
Exacto.

Gracias WHK, eres todo un crack.
Páginas: 1 ... 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ... 56
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines