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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: [1] 2 3
1  Programación / Programación C/C++ / Re: Necesito un código Escaner de Puertos en C++ usando Threads en: 15 Mayo 2014, 08:19 am
Muchas gracias, muy amables!!!  :)
2  Programación / Programación C/C++ / Re: Necesito un código Escaner de Puertos en C++ usando Threads en: 26 Abril 2014, 14:44 pm
Hola, muchas gracias por tu ayuda!!  :D
Pero el primer código ni el segundo me funcionan, me dan este error al compilarlo:

C:\Users\Daniel\Desktop\C++\SocketPuertos.cpp||In function 'int main()':|
C:\Users\Daniel\Desktop\C++\SocketPuertos.cpp|12|error: 'thread' was not declared in this scope|
C:\Users\Daniel\Desktop\C++\SocketPuertos.cpp|12|error: expected ';' before 't'|
C:\Users\Daniel\Desktop\C++\SocketPuertos.cpp|13|error: 't' was not declared in this scope|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

¿Como puedo solucionarlo? o que establezco en la variable t?
3  Programación / Programación C/C++ / Necesito un código Escaner de Puertos en C++ usando Threads en: 26 Abril 2014, 08:09 am
Hola compañeros!! Un gusto otra vez por aquí

Bueno les comento que estoy con ganas de crear un programa en C++, hasta ahora digamos que voy bien, pero me topo ahora con un inconveniente, que en realidad no les, pero por el momento si.

Lo que yo deseo es crear un Bot Escaner de Puertos en C++ para Redes IRC de chat, yo al bot lo pude hacer solo y hasta cree una función split() para poder separar palabras en una cadena string.


La conexión me sale bien, el bot entra al Servidor, se loguea y recibe la IP del usuario que conecta al chat, el tema viene a la hora de escaner ciertos puertos para determinar si el usuario tiene un X puerto abierto que es prohibido.

Estos tipo de bots son de seguridad y se utilizan para prevenir ataques masivos de clones.


Yo he podido hacer el escaner que analiza por ejemplo 10 puertos para saber si un usuario tiene algún proxy no permitido, estos puertos casi siempre son usados por proxys y utilizan las IPs proxys para entrar "camuflados" o anónimos al servidor.


El escaner escanea puerto por puerto hasta terminar con el último puerto, pero lo que yo necesito es crear una función y hacer llamadas a esa función con el valor de la IP del usuario para saber si tiene un puerto abierto, pero cláro, para poder hacer esto, voy a necesitar el uso de Threads, en Python esto es simple, podría lograrlo con:


Código
  1. threading.Thread(target=Escaner.Analizar()).start()


o utilizar otra clase para lograr esto o usar la clase padre que es threading.


Pero en C++ por lo que leí es mucho más difícil o más difícil, en realidad lo quiero hacer no creo que sea algo difícil, pienso que un poco, porque el programa no tiene más que hacer que escanear puertos de IPs que van conectando al servidor


Esas IPs pueden ser cientas en cuestión de minutos, por eso necesito usar Threads, necesito que se divida por hilos los procesos para poder hacer esto posible.

Osea que por ejemplo en 3 segundos, el bot escanee 5 IPs al mismo tiempo, eso es lo que necesito.


Me encantaría que me dejaran un código de ejemplo para poder hacer esto posible, uso windows, así que utilizo la librería winsock2.


Me imagino que para el que sabe esto debe ser algo fácil o pan comido, yo seguiré intentando poder lograr esto y tratar de entender de alguna manera como hacer un código que utilice los Threads.


Desde ya les agradezco, muchas gracias a todos y que tengan buen día!! :-)
4  Programación / Programación C/C++ / Re: ¿Donde puedo descargar un manual de C++ para principiantes? en: 16 Abril 2014, 02:03 am
Hola, muchas gracias a los 2 por su ayuda!! : )

Que tengan buenas noches!!
5  Programación / Programación C/C++ / ¿Donde puedo descargar un manual de C++ para principiantes? en: 15 Abril 2014, 15:16 pm
Hola amigos!!!
Estoy aprendiendo C++ y me encantaría poder empezar con un buen libro/tutorial/manual para poder avanzar más, pero no consigo tutoriales actuales, los que encuentro son muy viejos, del año 2000, 2004, 2009, 2010, etc.

Me gustaría un manual como es el de "Python para todos" que es un manual (de lenguaje Python) fácil de entenderlo, además hay ejemplos y también está en español. Me gustaría un libro así como ese para principiantes, recién estoy empezando a entrar en el mundo de C++.

Agradecería muchísimo a quien me pueda ayudar!!!  :)

Desde ya muchas gracias.
6  Programación / Scripting / Re: [Python/Tkinter](Kyurem v2.0)Consola de comandos hecha en python (Continuación) en: 9 Abril 2014, 09:07 am
Si amigo está lindo!! :)
7  Programación / Scripting / Re: [Python/Tkinter](Kyurem v2.0)Consola de comandos hecha en python (Continuación) en: 8 Abril 2014, 04:29 am
Todo el programa sigue igual, sólo acomodé algunas cosas y lo mejoré un poco, sólo eso para motivar al creador y a las personas que quiean usar ese programa!!!

Aquí está una captura del programa:
http://subefotos.com/ver/?368ea2ff4a90d4abf5fb668bfb290b79o.png

¡¡Buena suerte!!
8  Programación / Scripting / [Python/Tkinter](Kyurem v2.0)Consola de comandos hecha en python (Continuación) en: 7 Abril 2014, 11:02 am
Hola!
Voy dejar el código del Tema "[Python/Tkinter](Kyurem v2.0)Consola de comandos hecha en python" que lo he mejorado un poco, podrán ver la diferencia entre los 2 códigos, voy a dejar el Autor como corresponde.

R4z3L.hax Espero que sigas con este proyecto tan lindo, realmente a pesar de ser un programa básico, está bastante bueno y así aprenderás cada vez más!!!!
Realmente no programo en TKinter, uso otro Framework, pero siempre me encanta TKinter!! Aguante TK!!!

Te felicito por tu programa, está muy bueno, lo miré y me gustó, me motivó un poquito, no soy sensible, pero así empecé yo, aunque todavía soy notavo!

Bueno campeón, espero que tengas suerte con tu programa!!

Ojalá este programa les sirva a todos!!! ¡¡Gracias!!

Código anterior:

Código
  1. # -*- coding: cp1252 -*-
  2. from Tkinter import *
  3. from pprint import pprint
  4. from datetime import *
  5. import commands
  6. import datetime
  7. import shutil
  8. import glob
  9. import time
  10. import sys
  11. import os
  12.  
  13.  
  14.  
  15.  
  16. root = Tk()
  17. #imagen1=PhotoImage(file="font.gif")
  18. root["background"] = 'black' #bg="black"
  19. root.title("KyuDOS")
  20. root.geometry("1250x1000")
  21.  
  22.  
  23. def bluecollor():
  24.    list1["foreground"] = 'blue'
  25.  
  26. def redcolor():
  27.    list1["foreground"] = 'red'
  28.  
  29. def whitecolor():
  30.    list1["foreground"] = 'white'
  31.  
  32. def griscolor():
  33.    list1["foreground"] = 'grey'
  34.  
  35. def narancolor():
  36.    list1["foreground"] = 'orange'
  37.  
  38. def amancolor():
  39.    list1["foreground"] = 'yellow'
  40.  
  41. def aman2color():
  42.    list1["foreground"] = 'green'
  43.  
  44. def bcolor():
  45.    list1["foreground"] = 'black'
  46.  
  47.  
  48.  
  49.  
  50.  
  51. def bluecollor2():
  52.    list1["background"] = 'blue'
  53.  
  54. def redcolor2():
  55.    list1["background"] = 'red'
  56.  
  57. def whitecolor2():
  58.    list1["background"] = 'white'
  59.  
  60. def griscolor2():
  61.    list1["background"] = 'grey'
  62.  
  63. def narancolor2():
  64.    list1["background"] = 'orange'
  65.  
  66. def amancolor2():
  67.    list1["background"] = 'yellow'
  68.  
  69. def aman2color2():
  70.    list1["background"] = 'green'
  71.  
  72. def bcolor2():
  73.    list1["background"] = 'black'
  74.  
  75.  
  76. menu_general = LabelFrame(root, background = "#2E2E2E") # el LabelFrame es necesario como base para apoyar los menus sobre el
  77. menu_general.pack(side = TOP, fill = X)
  78.  
  79. time1 = ''
  80. clock = Label(menu_general, font=('ubuntu', 10, 'bold'), bg='#3C3B37',fg='white', bd=0)
  81. clock.pack(side = RIGHT)
  82.  
  83. def tick():
  84.    global time1
  85.    time2 = time.strftime('%H:%M:%S')
  86.    if time2 != time1:
  87.        time1 = time2
  88.        clock.config(text=time2,background = "#585858")
  89.    clock.after(200, tick)
  90.  
  91. boton_menu_archivo = Menubutton(menu_general, text = "Color de la fuente", foreground = "white", background = "#585858",
  92.                                activebackground = "#424242", activeforeground = "#585858")  #creamos el boton del menu del cual despus desplegamos los menus
  93. boton_menu_archivo.pack(side = LEFT) #ahora si es verdaderamente visible
  94.  
  95. menu_archivo = Menu(boton_menu_archivo, background = "#424242", foreground = "#23A3FF",
  96.                    activebackground = "#474AFF", activeforeground = "#70DBFF")
  97. menu_archivo.add_command(label = "Color de fuente Azul", compound = LEFT, command = bluecollor)
  98. menu_archivo.add_command(label = "Color de fuente Rojo", compound = LEFT, command = redcolor)
  99. menu_archivo.add_command(label = "Color de fuente Blanco", compound = LEFT, command = whitecolor)
  100. menu_archivo.add_command(label = "Color de fuente Gris", compound = LEFT, command = griscolor)
  101. menu_archivo.add_command(label = "Color de fuente naranja", compound = LEFT, command = narancolor)
  102. menu_archivo.add_command(label = "Color de fuente Amarillo", compound = LEFT, command = amancolor)
  103. menu_archivo.add_command(label = "Color de fondo  Verde", compound = LEFT, command = aman2color)
  104. menu_archivo.add_command(label = "Color de fondo  Negro", compound = LEFT, command = bcolor)
  105. menu_archivo.add_separator()
  106. menu_archivo.add_command(label = "Exit", compound = LEFT, command = root.destroy)
  107.  
  108. boton_menu_archivo["menu"] = menu_archivo
  109.  
  110.  
  111.  
  112.  
  113.  
  114. boton_menu_archivo2 = Menubutton(menu_general, text = "Color de Fondo", foreground = "white", background = "#585858",
  115.                                activebackground = "#424242", activeforeground = "#585858")  #creamos el boton del menu del cual despus desplegamos los menus
  116. boton_menu_archivo2.pack(side = LEFT) #ahora si es verdaderamente visible
  117.  
  118. menu_archivo2 = Menu(boton_menu_archivo2, background = "#424242", foreground = "#23A3FF",
  119.                    activebackground = "#474AFF", activeforeground = "#70DBFF")
  120. menu_archivo2.add_command(label = "Color de fondo Azul", compound = LEFT, command = bluecollor2)
  121. menu_archivo2.add_command(label = "Color de fondo  Rojo", compound = LEFT, command = redcolor2)
  122. menu_archivo2.add_command(label = "Color de fondo  Blanco", compound = LEFT, command = whitecolor2)
  123. menu_archivo2.add_command(label = "Color de fondo  Gris", compound = LEFT, command = griscolor2)
  124. menu_archivo2.add_command(label = "Color de fondo  naranja", compound = LEFT, command = narancolor2)
  125. menu_archivo2.add_command(label = "Color de fondo  Amarillo", compound = LEFT, command = amancolor2)
  126. menu_archivo2.add_command(label = "Color de fondo  Verde", compound = LEFT, command = aman2color2)
  127. menu_archivo2.add_command(label = "Color de fondo  Negro", compound = LEFT, command = bcolor2)
  128. menu_archivo2.add_separator()
  129. menu_archivo2.add_command(label = "Exit", compound = LEFT, command = root.destroy)
  130.  
  131. boton_menu_archivo2["menu"] = menu_archivo2
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. def colocar_scrollbar(listbox,scrollbar):
  140.    scrollbar.config(command=listbox.yview)
  141.    listbox.config(yscrollcommand=scrollbar.set)
  142.    scrollbar.pack(side=RIGHT, fill=Y)
  143.    listbox.pack(side=LEFT, fill=Y)
  144.  
  145.  
  146.  
  147. frame1=Frame(root,bg="black")
  148. frame1.place(x=30, y=50) # <-> -|^ x= -> y= -|^
  149. #frame1.pack()
  150. scroll1=Scrollbar(frame1)
  151. list1=Listbox(frame1,bg="black",fg='green',width=170,height=33,font=("Helvetica", 10))
  152. #list1.pack()
  153. colocar_scrollbar(list1,scroll1)
  154. mivalor=StringVar()
  155. copi2=StringVar()
  156. copi3=StringVar()
  157.  
  158. #Label(root,image=imagen1).pack()
  159.  
  160. e1=Entry(root,textvar=mivalor,width=150,bg="black",fg="green", font=("Helvetica", 10)).place(x=30, y=630) # <-> -|^ x= -> y= -|^
  161.  
  162. e2=Entry(root,textvar=copi2,width=72,bg="black",fg="green", font=("Helvetica", 10)).place(x=30, y=700)
  163. e3=Entry(root,textvar=copi3,width=72,bg="black",fg="green", font=("Helvetica", 10)).place(x=578, y=700)
  164.  
  165.  
  166. list1.insert(END, "")
  167. list1.insert(END, " Kyurem v2.0")
  168. list1.insert(END, " -----------------------------------------------------------------------------------------------------------------------")
  169. list1.insert(END, " Kyurem Consola de comandos en python")
  170. list1.insert(END, " By Razel")
  171. list1.insert(END, "")
  172. list1.insert(END, "")
  173.  
  174.  
  175.  
  176.  
  177. def copyfuncion():
  178.    arc1 = copi2.get()
  179.    arc2 = copi3.get()
  180.  
  181.    try:
  182.        shutil.copy(arc1, arc2)
  183.        list1.insert(END,"")
  184.        list1.insert(END,"El archivo a sido copiado.")
  185.        list1.insert(END,"")
  186.  
  187.        list1.insert(END, "")
  188.        list1.insert(END, os.getcwd()+">")
  189.  
  190.    except:
  191.        list1.insert(END,"")
  192.        list1.insert(END,"ERROR El arhivo no a sido copiado.")
  193.        list1.insert(END,"")
  194.  
  195.        list1.insert(END, "")
  196.        list1.insert(END, os.getcwd()+">")
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204. list1.insert(END, os.getcwd()+">")
  205.  
  206. def insertar_en_listbox():
  207.  
  208.    if mivalor.get() != '':
  209.  
  210.        if mivalor.get() == "help":
  211.  
  212.            list1.insert(END,'')
  213.            list1.insert(END,'HELP:            Muestra la lista de comandos de la shell')
  214.            list1.insert(END,"-H:              Muestar la lista de los comandos de la shell")
  215.            list1.insert(END,'DEL:             Elimina el archivo marcado')
  216.            list1.insert(END,'XDEL:            Elimina la carpeta marcada')
  217.            list1.insert(END,'CLS                Borra la pantalla')
  218.            list1.insert(END,'TIME:            Muestra la hora y fecha del sistema')
  219.            list1.insert(END,'PRINT:           Muestra mensajes en la pantalla')
  220.            list1.insert(END,'READ:            Abre el archivo en modo escritura')
  221.            list1.insert(END,'WANT:            Buasca un todos los archivo con extension a elegir')
  222.            list1.insert(END,'DIR:             Muestra el directorio actual')
  223.            list1.insert(END,'CD:              Cambia de directorio al directorio selecionado')
  224.            list1.insert(END,'LAST:            Muestra la fecha de la ultima midificacion del un archivo marcado')
  225.            list1.insert(END,'EXIT:            Sale de la consola de comandos')
  226.  
  227.            list1.insert(END, "")
  228.            list1.insert(END, os.getcwd()+">")
  229.  
  230.        if mivalor.get() == "-h":
  231.            list1.insert(END,'')
  232.            list1.insert(END,'HELP:            Muestra la lista de comandos de la shell')
  233.            list1.insert(END,"-H:              Muestar la lista de los comandos de la shell")
  234.            list1.insert(END,'DEL:             Elimina el archivo marcado')
  235.            list1.insert(END,'XDEL:            Elimina la carpeta marcada')
  236.            list1.insert(END,'CLS                Borra la pantalla')
  237.            list1.insert(END,'TIME:            Muestra la hora y la fecha del sistema')
  238.            list1.insert(END,'PRINT:           Muestra mensajes en la pantalla')
  239.            list1.insert(END,'READ:            Abre el archivo en modo escritura')
  240.            list1.insert(END,'WANT:            Buasca un todos los archivo con extension a elegir')
  241.            list1.insert(END,'DIR:             Muestra el directorio actual')
  242.            list1.insert(END,'CD:              Cambia de directorio al directorio selecionado')
  243.            list1.insert(END,'LAST:            Muestra la fecha de la ultima midificacion del un archivo marcado')
  244.            list1.insert(END,'EXIT:            Sale de la consola de comandos')
  245.            list1.insert(END, "")
  246.            list1.insert(END, os.getcwd()+">")
  247.  
  248.        if mivalor.get() == "HELP":
  249.  
  250.            list1.insert(END,'')
  251.            list1.insert(END,'HELP:            Muestra la lista de comandos de la shell')
  252.            list1.insert(END,"-H:              Muestar la lista de los comandos de la shell")
  253.            list1.insert(END,'DEL:             Elimina el archivo marcado')
  254.            list1.insert(END,'XDEL:            Elimina la carpeta marcada')
  255.            list1.insert(END,'CLS                Borra la pantalla')
  256.            list1.insert(END,'TIME:            Muestra la hora y la fecha del sistema')
  257.            list1.insert(END,'PRINT:           Muestra mensajes en la pantalla')
  258.            list1.insert(END,'READ:            Abre el archivo en modo escritura')
  259.            list1.insert(END,'WANT:            Buasca un todos los archivo con extension a elegir')
  260.            list1.insert(END,'DIR:             Muestra el directorio actual')
  261.            list1.insert(END,'CD:              Cambia de directorio al directorio selecionado')
  262.            list1.insert(END,'LAST:            Muestra la fecha de la ultima midificacion del un archivo marcado')
  263.            list1.insert(END,'EXIT:            Sale de la consola de comandos')
  264.            list1.insert(END, "")
  265.            list1.insert(END, os.getcwd()+">")
  266.  
  267.        if mivalor.get() == "-H":
  268.            list1.insert(END,'')
  269.            list1.insert(END,'HELP:            Muestra la lista de comandos de la shell')
  270.            list1.insert(END,"-H:              Muestar la lista de los comandos de la shell")
  271.            list1.insert(END,'DEL:             Elimina el archivo marcado')
  272.            list1.insert(END,'XDEL:            Elimina la carpeta marcada')
  273.            list1.insert(END,'CLS                Borra la pantalla')
  274.            list1.insert(END,'TIME:            Muestra la hora y fecha del sistema')
  275.            list1.insert(END,'PRINT:           Muestra mensajes en la pantalla')
  276.            list1.insert(END,'READ:            Abre el archivo en modo escritura')
  277.            list1.insert(END,'WANT:            Buasca un todos los archivo con extension a elegir')
  278.            list1.insert(END,'DIR:             Muestra el directorio actual')
  279.            list1.insert(END,'CD:              Cambia de directorio al directorio selecionado')
  280.            list1.insert(END,'LAST:            Muestra la fecha de la ultima midificacion del un archivo marcado')
  281.            list1.insert(END,'TIME             Muestra la hora del sistema')
  282.            list1.insert(END,'EXIT:            Sale de la consola de comandos')
  283.            list1.insert(END, "")
  284.            list1.insert(END, os.getcwd()+">")
  285.  
  286.        if mivalor.get().startswith("del") == True:
  287.  
  288.            rut = mivalor.get()[4:]
  289.  
  290.            try:
  291.                os.remove(rut)
  292.                list1.insert(END,'EL archivo a sido eliminado con exito.')
  293.  
  294.            except:
  295.                list1.insert(END,'ERROR El archivo no a podido ser eliminado.')
  296.  
  297.            list1.insert(END, "")
  298.            list1.insert(END, os.getcwd()+">")
  299.  
  300.        if mivalor.get().startswith("xdel") == True:
  301.  
  302.            arc1 = mivalor.get()[5:]
  303.            boo = True
  304.  
  305.            try:
  306.                shutil.rmtree(arc1, boo)
  307.                list1.insert(END, "\nLa carpeta a sido eliminada.")
  308.  
  309.            except:
  310.                list1.insert(END,"ERROR La carpeta no a podido ser eliminado.")
  311.  
  312.            list1.insert(END, "")
  313.            list1.insert(END, os.getcwd()+">")
  314.  
  315.        if mivalor.get().startswith("read") == True:
  316.  
  317.            red = mivalor.get()[5:]
  318.  
  319.            try:
  320.                archi = open(red,'r')
  321.                linea=archi.readline()
  322.                while linea!="":
  323.                    list1.insert(END,linea)
  324.                    linea=archi.readline()
  325.  
  326.            except:
  327.                list1.insert(END,"ERROR El archivo no a podido ser abierto en mode lectura.")
  328.  
  329.            list1.insert(END, "")
  330.            list1.insert(END, os.getcwd()+">")
  331.  
  332.        elif mivalor.get().startswith("want") == True:
  333.  
  334.            arc = mivalor.get()[5:]
  335.  
  336.            try:
  337.  
  338.                lista = glob.glob("*" + arc)
  339.                list1.insert(END,"Archivos con extension" + arc + "en este directorio:")
  340.                list1.insert(END,"")
  341.                list1.insert(END,lista)
  342.  
  343.            except:
  344.                list1.insert(END,"ERROR No se a encontrado el archivo con la extension que pide.")
  345.  
  346.            list1.insert(END, "")
  347.            list1.insert(END, os.getcwd()+">")
  348.  
  349.  
  350.        elif mivalor.get().startswith("dir") == True:
  351.  
  352.            arc = mivalor.get()[4:]
  353.            try:
  354.                os.chdir(arc)
  355.                list1.insert(END,"")
  356.                list1.insert(END,"Directorio:", arc)
  357.                list1.insert(END,"")
  358.  
  359.                archis = os.listdir(arc)
  360.                for imagen in archis:
  361.                    list1.insert(END,imagen)
  362.  
  363.            except:
  364.  
  365.                list1.insert(END,"")
  366.                list1.insert(END,"Directorio actual:", os.getcwd())
  367.                list1.insert(END,"")
  368.  
  369.  
  370.                archis = os.listdir(os.getcwd())
  371.                for imagen in archis:
  372.                    list1.insert(END,imagen)
  373.  
  374.            list1.insert(END, "")
  375.            list1.insert(END, os.getcwd()+">")
  376.  
  377.        elif mivalor.get().startswith("cd") == True:
  378.  
  379.            arc = mivalor.get()[3:]
  380.            try:
  381.                os.chdir(arc)
  382.            except:
  383.                list1.insert(END,os.getcwd())
  384.  
  385.            list1.insert(END, "")
  386.            list1.insert(END, os.getcwd()+">")
  387.  
  388.        elif mivalor.get().startswith("last") == True:
  389.  
  390.            arcx = mivalor.get()[5:]
  391.  
  392.            try:
  393.                metadata = os.stat(arcx)
  394.                metadata.st_mtime
  395.                time.localtime(metadata.st_mtime)
  396.  
  397.                list1.insert(END,"")
  398.                list1.insert(END,time.localtime(metadata.st_mtime))
  399.                list1.insert(END,"")
  400.  
  401.            except:
  402.                list1.insert(END,"ERROR Archivo no definido.")
  403.  
  404.            list1.insert(END, "")
  405.            list1.insert(END, os.getcwd()+">")
  406.  
  407.        elif mivalor.get().startswith("print") == True:
  408.  
  409.            rut = mivalor.get()[6:]
  410.  
  411.            list1.insert(END,rut)
  412.  
  413.            list1.insert(END, "")
  414.            list1.insert(END, os.getcwd()+">")
  415.  
  416.        elif mivalor.get() == 'time':
  417.  
  418.            list1.insert(END, '')
  419.  
  420.            list1.insert(END, datetime.datetime.now())
  421.  
  422.            list1.insert(END, "")
  423.            list1.insert(END, os.getcwd()+">")
  424.  
  425.        elif mivalor.get() == 'cls':
  426.            list1.delete(0, END)          
  427.  
  428.  
  429.  
  430.        elif mivalor.get() == "exit":
  431.            exit()
  432.  
  433.  
  434.  
  435.  
  436.  
  437.    elif mivalor.get() == '':
  438.        list1.insert(END,"No se reconoce como un comando interno o externo")
  439.  
  440.  
  441. Label(root,text='[+] Introduce la ruta del archivo a copiar:',fg='green', bg='black',font=("Helvetica", 10)).place(x=30, y=675)
  442. Label(root,text='[+] Introduce la ruta donde se copiara el archivo:',fg='green', bg='black',font=("Helvetica", 10)).place(x=578, y=675)
  443.  
  444.  
  445.  
  446. b1=Button(root,text="Enter",command=insertar_en_listbox, bg="black",fg="green", width=20).place(x=1100, y=630) # <-> -|^ x= -> y= -|^
  447. b2=Button(root,text="Copiar",command=copyfuncion, bg="black",fg="green", width=20).place(x=1100, y=700) # <-> -|^ x= -> y= -|^
  448.  
  449. tick()
  450. clock.mainloop()
  451.  
  452. root.mainloop()

Código mejorado:

Código
  1. # -*- coding: cp1252 -*-
  2. from Tkinter import *
  3. from pprint import pprint
  4. from datetime import *
  5. import commands, datetime, shutil, glob, time, sys, os
  6.  
  7.  
  8. root = Tk()
  9. #imagen1=PhotoImage(file="font.gif")
  10. root["background"] = 'black' #bg="black"
  11. root.title("KyuDOS")
  12. root.geometry("1250x1000")
  13.  
  14.  
  15. def bluecollor():
  16.    list1["foreground"] = 'blue'
  17.  
  18. def redcolor():
  19.    list1["foreground"] = 'red'
  20.  
  21. def whitecolor():
  22.    list1["foreground"] = 'white'
  23.  
  24. def griscolor():
  25.    list1["foreground"] = 'grey'
  26.  
  27. def narancolor():
  28.    list1["foreground"] = 'orange'
  29.  
  30. def amancolor():
  31.    list1["foreground"] = 'yellow'
  32.  
  33. def aman2color():
  34.    list1["foreground"] = 'green'
  35.  
  36. def bcolor():
  37.    list1["foreground"] = 'black'
  38.  
  39.  
  40.  
  41. def bluecollor2():
  42.    list1["background"] = 'blue'
  43.  
  44. def redcolor2():
  45.    list1["background"] = 'red'
  46.  
  47. def whitecolor2():
  48.    list1["background"] = 'white'
  49.  
  50. def griscolor2():
  51.    list1["background"] = 'grey'
  52.  
  53. def narancolor2():
  54.    list1["background"] = 'orange'
  55.  
  56. def amancolor2():
  57.    list1["background"] = 'yellow'
  58.  
  59. def aman2color2():
  60.    list1["background"] = 'green'
  61.  
  62. def bcolor2():
  63.    list1["background"] = 'black'
  64.  
  65.  
  66. menu_general = LabelFrame(root, background = "#2E2E2E") # el LabelFrame es necesario como base para apoyar los menus sobre el
  67. menu_general.pack(side = TOP, fill = X)
  68.  
  69. time1 = ''
  70. clock = Label(menu_general, font=('ubuntu', 10, 'bold'), bg='#3C3B37',fg='white', bd=0)
  71. clock.pack(side = RIGHT)
  72.  
  73. def tick():
  74.    global time1
  75.    time2 = time.strftime('%H:%M:%S')
  76.    if time2 != time1:
  77.        time1 = time2
  78.        clock.config(text=time2,background = "#585858")
  79.    clock.after(200, tick)
  80.  
  81. boton_menu_archivo = Menubutton(menu_general, text = "Color de la fuente", foreground = "white", background = "#585858", activebackground = "#424242", activeforeground = "#585858")  #creamos el boton del menu del cual despus desplegamos los menus
  82. boton_menu_archivo.pack(side = LEFT) #ahora si es verdaderamente visible
  83.  
  84. menu_archivo = Menu(boton_menu_archivo, background = "#424242", foreground = "#23A3FF", activebackground = "#474AFF", activeforeground = "#70DBFF")
  85. menu_archivo.add_command(label = "Color de fuente Azul", compound = LEFT, command = bluecollor)
  86. menu_archivo.add_command(label = "Color de fuente Rojo", compound = LEFT, command = redcolor)
  87. menu_archivo.add_command(label = "Color de fuente Blanco", compound = LEFT, command = whitecolor)
  88. menu_archivo.add_command(label = "Color de fuente Gris", compound = LEFT, command = griscolor)
  89. menu_archivo.add_command(label = "Color de fuente naranja", compound = LEFT, command = narancolor)
  90. menu_archivo.add_command(label = "Color de fuente Amarillo", compound = LEFT, command = amancolor)
  91. menu_archivo.add_command(label = "Color de fondo  Verde", compound = LEFT, command = aman2color)
  92. menu_archivo.add_command(label = "Color de fondo  Negro", compound = LEFT, command = bcolor)
  93. menu_archivo.add_separator()
  94. menu_archivo.add_command(label = "Exit", compound = LEFT, command = root.destroy)
  95.  
  96. boton_menu_archivo["menu"] = menu_archivo
  97.  
  98.  
  99.  
  100.  
  101.  
  102. boton_menu_archivo2 = Menubutton(menu_general, text = "Color de Fondo", foreground = "white", background = "#585858", activebackground = "#424242", activeforeground = "#585858")  #creamos el boton del menu del cual despus desplegamos los menus
  103. boton_menu_archivo2.pack(side = LEFT) #ahora si es verdaderamente visible
  104.  
  105. menu_archivo2 = Menu(boton_menu_archivo2, background = "#424242", foreground = "#23A3FF", activebackground = "#474AFF", activeforeground = "#70DBFF")
  106. menu_archivo2.add_command(label = "Color de fondo Azul", compound = LEFT, command = bluecollor2)
  107. menu_archivo2.add_command(label = "Color de fondo  Rojo", compound = LEFT, command = redcolor2)
  108. menu_archivo2.add_command(label = "Color de fondo  Blanco", compound = LEFT, command = whitecolor2)
  109. menu_archivo2.add_command(label = "Color de fondo  Gris", compound = LEFT, command = griscolor2)
  110. menu_archivo2.add_command(label = "Color de fondo  naranja", compound = LEFT, command = narancolor2)
  111. menu_archivo2.add_command(label = "Color de fondo  Amarillo", compound = LEFT, command = amancolor2)
  112. menu_archivo2.add_command(label = "Color de fondo  Verde", compound = LEFT, command = aman2color2)
  113. menu_archivo2.add_command(label = "Color de fondo  Negro", compound = LEFT, command = bcolor2)
  114. menu_archivo2.add_separator()
  115. menu_archivo2.add_command(label = "Exit", compound = LEFT, command = root.destroy)
  116.  
  117. boton_menu_archivo2["menu"] = menu_archivo2
  118.  
  119.  
  120. def colocar_scrollbar(listbox,scrollbar):
  121.    scrollbar.config(command=listbox.yview)
  122.    listbox.config(yscrollcommand=scrollbar.set)
  123.    scrollbar.pack(side=RIGHT, fill=Y)
  124.    listbox.pack(side=LEFT, fill=Y)
  125.  
  126.  
  127. frame1=Frame(root,bg="black")
  128. frame1.place(x=30, y=50) # <-> -|^ x= -> y= -|^
  129. #frame1.pack()
  130. scroll1=Scrollbar(frame1)
  131. list1=Listbox(frame1,bg="black",fg='green',width=170,height=33,font=("Helvetica", 10))
  132. #list1.pack()
  133. colocar_scrollbar(list1,scroll1)
  134. mivalor=StringVar()
  135. copi2=StringVar()
  136. copi3=StringVar()
  137.  
  138. #Label(root,image=imagen1).pack()
  139.  
  140. e1=Entry(root,textvar=mivalor,width=150,bg="black",fg="green", font=("Helvetica", 10)).place(x=30, y=630) # <-> -|^ x= -> y= -|^
  141.  
  142. e2=Entry(root,textvar=copi2,width=72,bg="black",fg="green", font=("Helvetica", 10)).place(x=30, y=700)
  143. e3=Entry(root,textvar=copi3,width=72,bg="black",fg="green", font=("Helvetica", 10)).place(x=578, y=700)
  144.  
  145.  
  146. list1.insert(END, "")
  147. list1.insert(END, " Kyurem v2.0")
  148. list1.insert(END, " -----------------------------------------------------------------------------------------------------------------------")
  149. list1.insert(END, " Kyurem Consola de comandos en python")
  150. list1.insert(END, " By Razel")
  151. list1.insert(END, "")
  152. list1.insert(END, "")
  153.  
  154.  
  155.  
  156. def copyfuncion():
  157.    arc1 = copi2.get()
  158.    arc2 = copi3.get()
  159.  
  160.    try:
  161.        shutil.copy(arc1, arc2)
  162.        list1.insert(END,"")
  163.        list1.insert(END,"El archivo a sido copiado.")
  164.        list1.insert(END,"")
  165.  
  166.        list1.insert(END, "")
  167.        list1.insert(END, os.getcwd()+">")
  168.  
  169.    except:
  170.        list1.insert(END,"")
  171.        list1.insert(END,"ERROR El arhivo no a sido copiado.")
  172.        list1.insert(END,"")
  173.  
  174.        list1.insert(END, "")
  175.        list1.insert(END, os.getcwd()+">")
  176.  
  177.  
  178.  
  179. list1.insert(END, os.getcwd()+">")
  180.  
  181. def insertar_en_listbox():
  182.  
  183.    if mivalor.get() != '':
  184.        if mivalor.get().lower() == "help" or mivalor.get().lower() == "-h":
  185.            list1.insert(END,'')
  186.            list1.insert(END,'HELP:            Muestra la lista de comandos de la shell')
  187.            list1.insert(END,"-H:              Muestar la lista de los comandos de la shell")
  188.            list1.insert(END,'DEL:             Elimina el archivo marcado')
  189.            list1.insert(END,'XDEL:            Elimina la carpeta marcada')
  190.            list1.insert(END,'CLS              Borra la pantalla')
  191.            list1.insert(END,'TIME:            Muestra la hora y fecha del sistema')
  192.            list1.insert(END,'PRINT:           Muestra mensajes en la pantalla')
  193.            list1.insert(END,'READ:            Abre el archivo en modo escritura')
  194.            list1.insert(END,'WANT:            Buasca un todos los archivo con extension a elegir')
  195.            list1.insert(END,'DIR:             Muestra el directorio actual')
  196.            list1.insert(END,'CD:              Cambia de directorio al directorio selecionado')
  197.            list1.insert(END,'LAST:            Muestra la fecha de la ultima midificacion del un archivo marcado')
  198.            list1.insert(END,'EXIT:            Sale de la consola de comandos')
  199.            list1.insert(END, "")
  200.            list1.insert(END, os.getcwd()+">")
  201.  
  202.        elif mivalor.get().startswith("del") == True:
  203.  
  204.            rut = mivalor.get()[4:]
  205.  
  206.            try:
  207.                os.remove(rut)
  208.                list1.insert(END,'EL archivo a sido eliminado con exito.')
  209.  
  210.            except:
  211.                list1.insert(END,'ERROR El archivo no a podido ser eliminado.')
  212.  
  213.            list1.insert(END, "")
  214.            list1.insert(END, os.getcwd()+">")
  215.  
  216.        elif mivalor.get().startswith("xdel") == True:
  217.  
  218.            arc1 = mivalor.get()[5:]
  219.            boo = True
  220.  
  221.            try:
  222.                shutil.rmtree(arc1, boo)
  223.                list1.insert(END, "\nLa carpeta a sido eliminada.")
  224.  
  225.            except:
  226.                list1.insert(END,"ERROR La carpeta no a podido ser eliminado.")
  227.  
  228.            list1.insert(END, "")
  229.            list1.insert(END, os.getcwd()+">")
  230.  
  231.        elif mivalor.get().startswith("read") == True:
  232.  
  233.            red = mivalor.get()[5:]
  234.  
  235.            try:
  236.                archi = open(red,'r')
  237.                linea=archi.readline()
  238.                while linea!="":
  239.                    list1.insert(END,linea)
  240.                    linea=archi.readline()
  241.  
  242.            except:
  243.                list1.insert(END,"ERROR El archivo no a podido ser abierto en mode lectura.")
  244.  
  245.            list1.insert(END, "")
  246.            list1.insert(END, os.getcwd()+">")
  247.  
  248.        elif mivalor.get().startswith("want") == True:
  249.  
  250.            arc = mivalor.get()[5:]
  251.  
  252.            try:
  253.  
  254.                lista = glob.glob("*" + arc)
  255.                list1.insert(END,"Archivos con extension" + arc + "en este directorio:")
  256.                list1.insert(END,"")
  257.                list1.insert(END,lista)
  258.  
  259.            except:
  260.                list1.insert(END,"ERROR No se a encontrado el archivo con la extension que pide.")
  261.  
  262.            list1.insert(END, "")
  263.            list1.insert(END, os.getcwd()+">")
  264.  
  265.  
  266.        elif mivalor.get().startswith("dir") == True:
  267.  
  268.            arc = mivalor.get()[4:]
  269.            try:
  270.                os.chdir(arc)
  271.                list1.insert(END,"")
  272.                list1.insert(END,"Directorio:", arc)
  273.                list1.insert(END,"")
  274.  
  275.                archis = os.listdir(arc)
  276.                for imagen in archis:
  277.                    list1.insert(END,imagen)
  278.  
  279.            except:
  280.  
  281.                list1.insert(END,"")
  282.                list1.insert(END,"Directorio actual:", os.getcwd())
  283.                list1.insert(END,"")
  284.  
  285.                archis = os.listdir(os.getcwd())
  286.                for imagen in archis:
  287.                    list1.insert(END,imagen)
  288.  
  289.            list1.insert(END, "")
  290.            list1.insert(END, os.getcwd()+">")
  291.  
  292.        elif mivalor.get().startswith("cd") == True:
  293.  
  294.            arc = mivalor.get()[3:]
  295.            try:
  296.                os.chdir(arc)
  297.            except:
  298.                list1.insert(END,os.getcwd())
  299.  
  300.            list1.insert(END, "")
  301.            list1.insert(END, os.getcwd()+">")
  302.  
  303.        elif mivalor.get().startswith("last") == True:
  304.  
  305.            arcx = mivalor.get()[5:]
  306.  
  307.            try:
  308.                metadata = os.stat(arcx)
  309.                metadata.st_mtime
  310.                time.localtime(metadata.st_mtime)
  311.  
  312.                list1.insert(END,"")
  313.                list1.insert(END,time.localtime(metadata.st_mtime))
  314.                list1.insert(END,"")
  315.  
  316.            except:
  317.                list1.insert(END,"ERROR Archivo no definido.")
  318.  
  319.            list1.insert(END, "")
  320.            list1.insert(END, os.getcwd()+">")
  321.  
  322.        elif mivalor.get().startswith("print") == True:
  323.  
  324.            rut = mivalor.get()[6:]
  325.  
  326.            list1.insert(END,rut)
  327.  
  328.            list1.insert(END, "")
  329.            list1.insert(END, os.getcwd()+">")
  330.  
  331.        elif mivalor.get() == 'time':
  332.  
  333.            list1.insert(END, '')
  334.  
  335.            list1.insert(END, datetime.datetime.now())
  336.  
  337.            list1.insert(END, "")
  338.            list1.insert(END, os.getcwd()+">")
  339.  
  340.        elif mivalor.get() == 'cls':
  341.            list1.delete(0, END)          
  342.  
  343.  
  344.        elif mivalor.get() == "exit":
  345.            exit()
  346.  
  347.        else:
  348.            list1.insert(END, 'ERROR: "%s" No se reconoce como un comando interno o externo' % mivalor.get())
  349.  
  350.    elif mivalor.get() == '':
  351.        list1.insert(END,"No se reconoce como un comando interno o externo")
  352.  
  353.  
  354. Label(root,text='[+] Introduce la ruta del archivo a copiar:',fg='green', bg='black',font=("Helvetica", 10)).place(x=30, y=675)
  355. Label(root,text='[+] Introduce la ruta donde se copiara el archivo:',fg='green', bg='black',font=("Helvetica", 10)).place(x=578, y=675)
  356.  
  357.  
  358. b1=Button(root,text="Enter",command=insertar_en_listbox, bg="black",fg="green", width=20).place(x=1100, y=630) # <-> -|^ x= -> y= -|^
  359. b2=Button(root,text="Copiar",command=copyfuncion, bg="black",fg="green", width=20).place(x=1100, y=700) # <-> -|^ x= -> y= -|^
  360.  
  361. tick()
  362. clock.mainloop()
  363. root.mainloop()

La mejora es muy poca, pero algo hice!!!  :)

Buena suerte para todos!! Un abrazo!
9  Programación / Scripting / [Aporte - Python] Programa Chars-ASCII en: 28 Marzo 2014, 05:41 am
Hola a todos!!

Bueno hoy voy a aportar un programa bastante útil que les servirá si desean saber el código ASCII de algún caracter, ya sea letra, número o símbolo, esto es muy útil porque muchas veces necesitamos trabajar con chrs.
El programa es sencillo, lo ejecutan y escriben un texto, número o símbolo, puede ser el largo que quieran, por ejemplo una frase.
También pueden ir los caracteres mezclados (letras, números, símbolos).
Aquí dejo un ejemplo de su uso:

Código:
Escribi un texto o letra: hola amigos
 h 104
 o 111
 l 108
 a 97
   32
 a 97
 m 109
 i 105
 g 103
 o 111
 s 115

Escribi un texto o letra: ¿Como estan?
 ¿ 168
 C 67
 o 111
 m 109
 o 111
   32
 e 101
 s 115
 t 116
 a 97
 n 110
 ? 63

Escribi un texto o letra: Nos vemos, suerte!
 N 78
 o 111
 s 115
   32
 v 118
 e 101
 m 109
 o 111
 s 115
 , 44
   32
 s 115
 u 117
 e 101
 r 114
 t 116
 e 101
 ! 33

Lo que dice "Escribi un texto o letra:" es el mensaje del programa, lo que está después de ese mensaje es lo que deben escribir y lo que está a la izquierda son los caracteres de la frase que escribieron y a la derecha su código ASCII!!!!
Por las dudas, el código ASCII del espacio (hecho con la barra espaciadora) es el char 32.

Aquí está el código:

Código
  1. # -*- coding: utf-8 -*-
  2. # Programa Chars-ASCII - Creado con Python 2.7.5
  3. # Autor: Daniel Delgado - Nick:(Príncipe_Azul)
  4.  
  5. def Caracteres():
  6.    Cadena = raw_input("\nEscribi un texto o letra: ")
  7.    if "salir!!" != Cadena:
  8.        for Caracter in enumerate(Cadena):
  9.            print " " + Caracter[1], ord(Caracter[1])
  10.        Caracteres()
  11.    else:
  12.        exit()
  13.  
  14. Caracteres()

El programa tiene un bucle en la misma función que no se lo ve (aparte del for), osea no se lo ve como for ni while, pero es un bucle que siempe llama a su misma función, esto lo hice así para no tener que estar abriendo el programa a cada rato.
Para salir del programa, osea para que la consola se cierre, deben escribir el comando:

salir!!

en minúsculas y con los 2 signos de exclamción al final.

Aquí pueden ver el mismo ejemplo pero en modo gráfico desde la consola:

http://subefotos.com/ver/?899445f659f853aa380ba9b5dbfaecf0o.jpg

Espero que les sirva.
Hasta luego.
10  Programación / Scripting / Re: [Python] ¿Cómo puedo empaquetar una imágen dentro de un programa ejecutable? en: 13 Marzo 2014, 05:10 am
Hola nuevamente!!
He probado el método de la librería AutoPy y me funcionó perfectamente!!, osea por más que sólo tenga que especificar en una variable tipo string muchos caracteres, pero me sirve ya que así puedo hacer que el programa compare si se ha modificado la imagen, hice varias pruebas y todo resultó con éxito, así que contento!!!
La página de autopy es esta: http://www.autopy.org/
Y aca hay un tutorial en español: http://recursospython.com/guias-y-manuales/autopy-toolkit/
Muchas gracias igual, que Dios los bendiga compañeros.
Hasta pronto y que tengan buenas noches!!
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines