Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - EdePC

#1531
Saludos,

- Tienes que leer los errores que muestra Python:

C:\Users\EdSon\Desktop>tk_contador.py
  File "C:\Users\EdSon\Desktop\tk_contador.py", line 20
    time.after_cancel(proceso)
    ^
IndentationError: unexpected indent


- Dice que hay una Indentación no esperada en la línea 20, luego revisas tu código y te das cuenta de que efectivamente tienes:

Código (python) [Seleccionar]
def parar():

    global proceso
       
        time.after_cancel(proceso)


root = Tk()


En lugar de:

Código (python) [Seleccionar]
def parar():

    global proceso
       
    time.after_cancel(proceso)


root = Tk()
#1532
Scripting / Re: Mi primer ejercicio con Tkinter
9 Febrero 2019, 14:58 PM
Saludos,

- Por defecto, la ventana toma el tamaño adecuado para contener a los elementos que albergue. Entonces no deberías de darle un tamaño fijo a esta, solo deberías de fijar los tamaños de los elementos contenidos dentro.

- Luego, si quieres que el elemento Text tenga un ancho que se adecúe al ancho del String más largo, en este caso la primera línea de text_info, puedes contar su tamaño con: len(texto_info[:texto_info.find("\n")])

Código (python) [Seleccionar]
from tkinter import *
from tkinter import ttk

class Aplicacion():

 def __init__(self):
   self.raiz = Tk()
   # self.raiz.geometry('300x200')
   self.raiz.resizable(width=False,height=False)
   self.raiz.title('Informacion sobre el mes')
   self.tinfo = Text(self.raiz, width=40, height=10)
   self.tinfo.pack(side=TOP)
   self.binfo = ttk.Button(self.raiz, text='Informacion', command=self.verinfo)
   self.binfo.pack(side=LEFT)
   self.bsalir = ttk.Button(self.raiz, text='Salir', command=self.raiz.destroy)
   self.bsalir.pack(side=RIGHT)
   self.binfo.focus_set()
   self.raiz.mainloop()

 def verinfo(self):
   self.tinfo.delete("1.0", END)

   info1 = "###Jano, dios de los portales. January en Inglés###"
   info2 = "###Mes de las hogueras purificatorias (februa)###"
   info3 = "###Marte, dios de la guerra###"
   info4 = "###Aprilis o Apertura de flores(primavera)###"
   info5 = "###Maia, diosa de la abundancia###"
   info6 = "###Juno, diosa del hogar y la familia###"
   info7 = "###Por Julio cesar###"
   info8 = "###Por Octavio Augusto###"
   info9 = "###Septimo mes###"
   info10 = "###Octavo mes###"
   info11 = "###Noveno mes###"
   info12 = "###Decimo mes###"

   texto_info = "(Enero:) " + info1 + "\n\n"
   texto_info += "(Febrero:) " + info2 + "\n\n"
   texto_info += "(Marzo:) " + info3 + "\n\n"
   texto_info += "(Abril:) " + info4 + "\n\n"
   texto_info += "(Mayo:) " + info5 + "\n\n"
   texto_info += "(Junio:) " + info6 + "\n\n"
   texto_info += "(Julio:) " + info7 + "\n\n"
   texto_info += "(Agosto:) " + info8 + "\n\n"
   texto_info += "(Septiembre:)" + info9 + "\n\n"
   texto_info += "(Octubre:) " + info10 + "\n\n"
   texto_info += "(Noviembre:) " + info11 + "\n\n"
   texto_info += "(Diciembre:) " + info12 + "\n\n"

   self.tinfo.insert("1.0", texto_info)
   self.tinfo.config( width=len(texto_info[:texto_info.find("\n")]) )

def main():
 mi_app = Aplicacion()
 return 0

if __name__ == '__main__':
 main()
#1533
- Vaya que es un dispositivo de muy bajos recursos, y NO, la frecuencia del Procesador es muy diferente a la frecuencia de la RAM,

- Lo malo es que sus especificaciones técnicas no son para nada técnicas, no menciona por ningún lado la frecuencia de la RAM ni la capacidad máxima de GB que soporta la placa.

- Tendrías que probar hasta cuanta RAM soporta, quizá si se lo llevas a alguien que tenga algunas para probar, generalmente la gente que vende y hace soporte técnico lo puede probar. En caso contrario podría suponer que soporta máximo 4 GB a 1333MHz

- Producto: https://www.ceibal.edu.uy/es/articulo/positivo-bgh-11cle
#1534
Software / Re: JDownloader no descarga
8 Febrero 2019, 15:55 PM
- Por experiencia se que Mega no "toma como válida" la cuenta puesta en jDowloader. Te sugiero usar MEGASync: https://mega.nz/sync ya que mi jDownloader se estresa a los 2GB aunque tenga puesta una cuenta, sin embargo si uso esa misma cuenta en MegaSync no tengo problemas.

- Por cierto, MEGASync guarda la cuenta en "%localappdata%\Mega Limited\MEGAsync\MEGAsync.cfg", yo tengo varios MEGAsync.cfg que voy poniendo y/o sacando para usar distintas cuentas. Mega tiene un bajo control sobre la legitimidad del e-mail, yo me creo varias cuentas usando generadores de cuentas como fakemail u otros.
#1535
Seguridad / Re: He perdido un archivo importante
8 Febrero 2019, 15:43 PM
- Hasta ahí se llega, debo suponer de que tu fichero ha sido sobre-escrito por algún otro, por eso es que hay algunos caracteres extraños que le perteneces a otro fichero que se ha injertado ahí.

- Has continuado las búsquedas, es posible de que hayan más remanentes, tienes que localizarlos todos para reconstruirlo lo más posible.

- La estructura del XML es más o menos así:

Código (xml) [Seleccionar]
<mxfile modified="2019-02-07T14:24:06.040Z" host="www.draw.io" agent="Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36" etag="Ly6J2Um1AY9FCBzXMQ7K" version="10.1.9" type="device">
  <diagram name="Page-1" id="3e8102d1-ef87-2e61-34e1-82d9a586fe2e">5Zlbj5s6EMc/TR5PxD3JYzd76ZHOkapu1T4ixzhg1djImFz66TsOhkDsXWWrpEq3eYjgP77gmR/m+CcmFBeU9zqpxQ3pMNYaJ6jcr3RJnOdoKnlSQl7E/qtNVuHK7Z6cJ9HthzaOSAa34FuLrd5oCuLwQXHIae7x2ALXWIwP9IkRc3fe+HMNxI2L9MFTwa/mISs8r5yuj0i/rQyUhOMtnD9f2ETEDiL8NxMBt8ePawfb4ANm+PAT</diagram>
</mxfile>


- Cada <diagram>...</diagram> es una página, y siempre tiene caracteres normales (A-Z a-z 1-9 /+), caracteres anormales corrompen el diagram y deberías quitar ese diagram con su contenido si causan problemas para abrir el xml con draw.io

-- Si encuentras más remanentes, fíjate en la fecha "modified="2019-02-07T14:24:06.040Z"" para guiarte y reconstruir algún diagram dañado.
#1536
Seguridad / Re: He perdido un archivo importante
7 Febrero 2019, 22:53 PM
- Algunas veces también me a pasado, elaborar un completo tutorial como mensaje en un foro y al momento de darle a Publicar/Postear resulta que se fue la Internet y se perdió el Mensaje >:D

- En estos casos, y si el Historial del Navegador ni Atrás funcionan entonces hago uso de HxD para hacer búsquedas en RAM, claro este procedimiento se tiene que hacer al instante ya que la RAM es bastante volátil.

- La pregunta sería, como dice que ha estado trabajando bastante tiempo en su proyecto, supongo que ya habrá guardo algunas veces antes, luego haber cargado el fichero para continuar trabajando, sino, como dice PalitroqueZ, el fichero nunca existió como tal.
#1537
Seguridad / Re: He perdido un archivo importante
7 Febrero 2019, 21:00 PM
- Primero usa Recuva sobre C y luego sobre D, recuerda las rutas donde estaba tu fichero xml.

- Si no funciona, que es lo más probable, usa HxD, descárgalo desde:
https://mh-nexus.de/downloads/HxDSetup.zip

- Luego lo instalas y ejecutas como administrador, Click derecho > Ejecutar como administrador

-- Dependiendo de la profundidad de búsqueda te recomiendo usar la opción LOGICAL DISK, esta es más rápida que PHYSICAL DISK si el disco tiene varias particiones.

LOGICAL DISK
- Te vas al menú Tools > Open Disk, en Logicall Disks seleccionas tu Disco, reconócelo por su Marca y Tamaño.

PHYSICAL DISK
- Te vas al menú Tools > Open Disk, en Physical Disks seleccionas tu Disco, reconócelo por su Letra de Unidad y Tamaño.

- Luego te vas al menú Search > Find, bajo la pestaña Text String escribes en la cajita de Search for lo siguiente: <mxfile modified=" y das un click en el botón OK

- La búsqueda tarda bastante, dependiendo del tamaño de tu disco, puede tardar sus buenas horas :xD

- Cuando encuentre, tienes que seleccionar desde <mxfile modified=" hasta llegar a </diagram></mxfile>, copias (Ctrl + C) y lo pegas en un Block de notas para guardarlo como XML, lo abres con draw.io y listo.

- No cierres HxD, si no encuentras </diagram></mxfile> significa que el fichero está corrupto y tienes que rescatar lo que hay, para luego continuar la búsqueda.
#1538
Seguridad / Re: He perdido un archivo importante
7 Febrero 2019, 15:39 PM
Saludos,

- Alunas veces me ha pasado que cuando copio algo a un Disco Externo, luego lo desconecto, me lo llevo a casa y lo conecto a mi PC, NO aparecen los últimos cambios que hice, es decir, no aparecen los archivos que he copiado antes  :xD, reviso las propiedades del Disco y efectivamente me doy cuenta por su capacidad de que no están los 10GB que copie >:D

- Luego del susto de poder haber perdido el anime para ver en la noche de más de 10 GB, desconecto el disco y o vuelvo a conectar, por algún motivo super-extraño los archivos están ahí, osea aparecen mágicamente y sin problemas ni errores. :laugh:

- En tu caso puede que no sea lo mismo, te sugiero utilizar un software de recuperación de archivos como Recuva o TestDisk, aunque a mi nunca me trabajan bien.

- También está la opción de que lo hayas guarda en otra parte, o tengas por algún lado una copia, recomiendo utilizar EveriThing que permite encontrar cualquier fichero en el PC:
https://www.voidtools.com/es-es/

-- En el peor de los casos yo prefiero recurrir a un Editor Hexadecimal como HxD, abrir el disco y buscar sobre la superficie del disco el Texto clave que me pueda llevar a encontrar lo que necesito, por ejemplo en tu caso es un fichero .xml que empieza siempre el texto: <mxfile modified=" y termina con </diagram></mxfile>, entonces busco por ahi:



-- Esta tarea demora bastante tiempo y puede encontrar varios remanentes en el disco, la tarea consiste en encontrar todas las ocurrencias, rescatar los datos y ver cual es el más actual/completo, reconstruir datos si es necesario.

- Es muy importante que no elimines/agregues más archivos en dicho disco ya que sobre-escriben y hacen imposible la recuperación de datos.
#1539
Saludos,

- Como dice ahí, la referencia es DDR3 1333MHz me parece que de 1333MHz hay común hasta de 4GB, tendrías que buscar las características de tu NoteBook por marca y modelo, ahí de indicará la capacidad (GB) y frecuencia (MHz) máxima que es capaz de soportar.

- Lo ideal es conocer todas las capacidades que se soportan, ir a la tienda y elegir lo más conveniente entre Precio/GB/frecuencia, recomiendo mínimo una de 4GB, mejor si tu NoteBook soporta DDR3 1600MHz que comúnmente ya vienen a 8GB.
#1540
Java / Re: ARREGLOS
7 Febrero 2019, 03:06 AM
Saludos,

- Los Arrays multidimensionales tienen su complejidad y más si se trata de ir construyéndolos a medida de que avanza el programa ...

int[][][] fabrica;
    ^ ^ ^--------- datos del empleados, salario y horas
    ^ ^----------- empleados
    ^------------- talleres


- Te recomiendo leer este e-book gratuito en español: Estructuras Básicas de Datos en Java (Array y String), en el él se explica la teoría de los Array, como funcionan y como se implementan. Cubre Arrays Unidimensionales y Multidimensionales:
http://jorgesanchez.net/manuales/viejos/fpr/fpr0509.pdf

- Te sugiero revisar este avance y complementarlo para acabar con tu ejercicio:

Código (java) [Seleccionar]
import java.util.Scanner;

public class Fabrica {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    int[][][] fabrica;
    int nTalleres; // Una fabrica tiene n cantidad de talleres
    int nEmpleados; // Un taller tiene una n cantidad de empreados
    int salario; // salario por hora de un empleado
    int horas; // horas trabajadas a la semana de un empleado

    System.out.print( "\nIndique la cantidad de talleres: " );
    nTalleres = scanner.nextInt();

    fabrica = new int[nTalleres][][]; // fabrica tiene n cantidad de talleres

    for ( int taller = 0; taller < nTalleres; taller++ ) {
      System.out.print( "\n\tTaller: " + (taller + 1) );
      System.out.print( "\n\tIndique la cantidad de empleados: " );
      nEmpleados = scanner.nextInt();
      fabrica[taller] = new int[nEmpleados][]; // taller tiene n cantidad de empleados

      /** Llena Empleados */
      for ( int empleado = 0; empleado < nEmpleados; empleado++ ) {
        System.out.print( "\n\t\tEmpleado: " + (empleado + 1) );
        System.out.print( "\n\t\tIndique el salario por hora: ");
        salario = scanner.nextInt();
        System.out.print( "\t\tIndique la cantidad de horas trabajadas en la semana: ");
        horas = scanner.nextInt();
        System.out.println( "\t\tTotal salario semanal: " + (salario * horas) );
        fabrica[taller][empleado] = new int[2];
        fabrica[taller][empleado][0] = salario;
        fabrica[taller][empleado][1] = horas;
      }
    }

    /** Muestra nonimas */
    System.out.println( "\n..:: IMPRIMIENDO NOMINA ::.." );
    for ( int taller = 0; taller < fabrica.length; taller++ ) {
      System.out.println( "Taller " + (taller + 1) );
      for ( int empleado = 0; empleado < fabrica[taller].length; empleado++ ) {
        System.out.println( "\tEmpleado: " + (empleado + 1) );
        System.out.println( "\t\tSueldo por hora: " + fabrica[taller][empleado][0]);
        System.out.println( "\t\tHoras trabajas en la semana: " + fabrica[taller][empleado][1]);
      }
    }

  }
}


C:\Users\EdSon\Desktop>javac Fabrica.java && java Fabrica

Indique la cantidad de talleres: 2

        Taller: 1
        Indique la cantidad de empleados: 2

                Empleado: 1
                Indique el salario por hora: 15
                Indique la cantidad de horas trabajadas en la semana: 10
                Total salario semanal: 150

                Empleado: 2
                Indique el salario por hora: 10
                Indique la cantidad de horas trabajadas en la semana: 5
                Total salario semanal: 50

        Taller: 2
        Indique la cantidad de empleados: 1

                Empleado: 1
                Indique el salario por hora: 20
                Indique la cantidad de horas trabajadas en la semana: 8
                Total salario semanal: 160

..:: IMPRIMIENDO NÓMINA ::..
Taller 1
        Empleado: 1
                Sueldo por hora: 15
                Horas trabajas en la semana: 10
        Empleado: 2
                Sueldo por hora: 10
                Horas trabajas en la semana: 5
Taller 2
        Empleado: 1
                Sueldo por hora: 20
                Horas trabajas en la semana: 8

C:\Users\EdSon\Desktop>