|
1471
|
Programación / Scripting / Re: Ayuda con tarea en Python
|
en: 5 Septiembre 2019, 02:26 am
|
- Ya decía yo que la tarea se tenía que hacer a mano, sin embargo la metodología ya la tienes, para darte una ayuda adicional tienes el siguiente código que calcula los días vividos, revísalo junto con el código anterior para obtener las horas y minutos vividos: fec_nac = "11101982" fec_act = "25072017" yea_nac = fec_nac[4:] # => 1982 mon_nac = fec_nac[2:4] # => 10 day_nac = fec_nac[:2] # => 11 yea_act = fec_act[4:] # => 2017 mon_act = fec_act[2:4] # => 07 day_act = fec_act[:2] # => 25 yea_dif = int(yea_act) - int(yea_nac) # => 35 mon_dif = int(mon_act) - int(mon_nac) # => -3 day_dif = int(day_act) - int(day_nac) # => 14 day_viv = (yea_dif * 365) + (mon_dif * 30) + day_dif print(day_viv) # => 12699
- Ya es cosa tuya adaptarlo a los requerimientos específicos de tu tarea. year = año, month = mes, day = día, fec = fecha, etc, esto se entiende bien creo yo... --------------------- - Con respecto a mis líos con dir() y help(), pues me había descargado la versión Embed de Python, esa que solo tiene lo necesario para ejecutar .py's (.zip de ~14MB, descomprimido 25MB), no viene con la ayuda, supongo que por esto help() no funcionaba. - Una vez instalado python ya funciona help() y print(dir(fechanac)) también funciona XD. He estado probando IDEs para python ya que yo voy aprendiendo mientras intento ayudar, estoy viendo que sublime me esta quedando muy corto para esto de java y python, netbeans es algo pesado y tener que crear todo un proyecto para editar y depurar correctamente un simple fichero .java o .py es un lío, luego probé PyCharm, tiene su peso pero es más rápido que netbeans, tiene buen intellisense pero el contraste de sus colores en tema obscuro es horrible. - Al final me estoy decantando por Visual Studio Code, aunque tiene que descargar Extensiones para trabajar correctamente, funciona bien y es rápido para editar ficheros individuales que es lo que quiero (no "obliga" a crear un proyecto), supongo que como migro de Sublime me siento más cómodo con VSC.
|
|
|
1472
|
Sistemas Operativos / Windows / Re: Activar windows
|
en: 5 Septiembre 2019, 00:14 am
|
- Lee el post completo, ahí hago las referencias a las Páginas de Soporte de Microsoft donde ellos mimos explican como cambiar el Serial Key, y ejecutar los comandos necesarios para la activación, todo esto es legal o no lo publicaría Microsoft. Los activadores que hay por la red hacen todo este procedimiento de manera automática.
|
|
|
1474
|
Programación / Scripting / Re: Ayuda con tarea en Python
|
en: 4 Septiembre 2019, 15:31 pm
|
C:\Users\EdSon\Desktop\python-3.7.4-embed-amd64>type ..\vividos.py import datetime
fechanac = datetime.datetime.strptime("11101982", "%d%m%Y") fechaact = datetime.datetime.strptime("25072017", "%d%m%Y")
dir(fechanac) help(fechanac)
delta = fechaact - fechanac
dir(delta) help(delta)
dias_vividas = delta.days horas_vividas = dias_vividas * 24 minutos_vividos = horas_vividas * 60
dir(dias_vividas) help(dias_vividas)
print(dias_vividas) print(horas_vividas) print(minutos_vividos)
C:\Users\EdSon\Desktop\python-3.7.4-embed-amd64>python ..\vividos.py Traceback (most recent call last): File "..\vividos.py", line 7, in <module> help(fechanac) NameError: name 'help' is not defined
C:\Users\EdSon\Desktop\python-3.7.4-embed-amd64>type ..\vividos.py import datetime
fechanac = datetime.datetime.strptime("11101982", "%d%m%Y") fechaact = datetime.datetime.strptime("25072017", "%d%m%Y")
dir(fechanac) # help(fechanac)
delta = fechaact - fechanac
dir(delta) # help(delta)
dias_vividas = delta.days horas_vividas = dias_vividas * 24 minutos_vividos = horas_vividas * 60
dir(dias_vividas) # help(dias_vividas)
print(dias_vividas) print(horas_vividas) print(minutos_vividos)
C:\Users\EdSon\Desktop\python-3.7.4-embed-amd64>python ..\vividos.py 12706 304944 18296640
- Jeje, help() funciona si instalo Python, pero dir() únicamente funciona si ejecuto línea a línea en la Python Shell, supongo que solo sirve en depuración y no en archivos ¿? >>> import datetime >>> fechanac = datetime.datetime.strptime("11101982", "%d%m%Y") >>> dir(fechanac) ['__add__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__rsub__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', 'astimezone', 'combine', 'ctime', 'date', 'day', 'dst', 'fold', 'fromisoformat', 'fromordinal', 'fromtimestamp', 'hour', 'isocalendar', 'isoformat', 'isoweekday', 'max', 'microsecond', 'min', 'minute', 'month', 'now', 'replace', 'resolution', 'second', 'strftime', 'strptime', 'time', 'timestamp', 'timetuple', 'timetz', 'today', 'toordinal', 'tzinfo', 'tzname', 'utcfromtimestamp', 'utcnow', 'utcoffset', 'utctimetuple', 'weekday', 'year'] >>>
|
|
|
1475
|
Programación / Java / Re: formateo de numeros
|
en: 4 Septiembre 2019, 14:58 pm
|
Saludos, - La idea es recorrer tus caracteres de derecha a izquierda y si corresponde al tercer caracter hay que poner un punto además de dicho caracter. - Se puede hacer usando un bucle para iterar cada caracter: class SplitString { public static void main (String[] args ) { char[] dniChars = dni.toCharArray(); int count = 0; for (int i = dniChars.length - 1; i >= 0; i--) { if (count >= 3) { dniFinal = "." + dniFinal; count = 0; } dniFinal = dniChars[i] + dniFinal; count++; } } }
- Aunque esto no tiene nada "raro", solo lo de convertir el String a char[]. Así que supongo que buscas algo más "raro", por ejemplo: class SplitString { public static void main (String[] args ) { String dniReverse = new StringBuilder (dni ). reverse(). toString(); String dniReversePoint = String. join(".", dniReverse. split("(?<=\\G\\d{3})")); String dniFinal = new StringBuilder (dniReversePoint ). reverse(). toString(); } }
-- La idea es casi la misma, se invierte el String, se parte cada 3 caracteres usando un ".", se vuelve a invertir y se imprime.
|
|
|
1476
|
Programación / Scripting / Re: Ayuda con tarea en Python
|
en: 4 Septiembre 2019, 05:39 am
|
Saludos, - Puedes crear objetos DateTime en python a través de una String con ese formato pegado que tienes. Luego hacer la resta entre las DateTime y obtienes un objeto TimeDelta, a partir de este puedes obtener el total de días y convertir esos días a horas y minutos: import datetime fechanac = datetime.datetime.strptime("11101982", "%d%m%Y") fechaact = datetime.datetime.strptime("25072017", "%d%m%Y") delta = fechaact - fechanac dias_vividas = delta.days horas_vividas = dias_vividas * 24 minutos_vividos = horas_vividas * 60 print(dias_vividas) print(horas_vividas) print(minutos_vividos)
- Aunque dependerá del tipo de tarea, algunas veces se pide hacer los cálculos sin utilizar librerías haciéndolo todo a mano, de todas maneras la idea es esa. - Por cierto, algún conocer de python sabrá porque no muestra nada al hacer un dir(fechanac) o dir(delta) o dir(dias_vividos) ? Tuve que ir a la moustruosa documentación de python para ver los atributos y métodos de datetime y timedelta XD.
|
|
|
1477
|
Programación / Java / Re: jar no conecta a mysql
|
en: 3 Septiembre 2019, 15:10 pm
|
- Ahí está el problema, tu MANIFEST.MF no tiene bien puestas las librerías, supongo que es un problema generado por haber importado los recursos de alguna manera, el daño suele ocurrir en el fichero nbproject\project.properties ... - La solución más limpia sería crea un nuevo proyecto, luego copiar tu carpeta src y carpeta de librerías al nuevo proyecto, luego ir a las propiedades del proyecto (click derecho > popiedades a tu proyecto), en Libraries agregar las librerías que has copiado (Add JAR/Folder), agregar las librerías globales si las hay (Add library). En Run, especificar la Main Class (dándole en Browse y selecionándola) OK. Finalmente dar un Clean and Build. - Otra solución es extraer tu Manifest.mf y editarlo a mano agregando las librerías en el Class-Path: Manifest-Version: 1.0 Ant-Version: Apache Ant 1.9.7 Created-By: 1.8.0_211-b12 (Oracle Corporation) X-COMMENT: Main-Class will be added automatically by build Specification-Title: Java Advanced Imaging Image I/O Tools Specification-Version: 1.1.3 Specification-Vendor: Sun Microsystems, Inc. Implementation-Title: com.sun.media.imageio Implementation-Version: 1.1.3 Implementation-Vendor: Sun Microsystems, Inc. Extension-Name: com.sun.media.imageio Main-Class: Vista.FrmLogin Class-Path: lib/libreria01.jar lib/libreria02.jar lib/libreria03.jar lib/libreriaDelMySQLConnector.jar
-- La última línea de este fichero debe ser una línea en blanco -- Luego puedes usar el mismo WinRAR o 7-zip para reemplazar el manifest.mf original por este nuevo. O hacerlo por medio del comando JAR: jar -umf NuevoManifest.mf MiProyecto.jar
|
|
|
1479
|
Programación / Java / Re: jar no conecta a mysql
|
en: 3 Septiembre 2019, 00:36 am
|
- Supongo que estás utilizando un try/catch para gestionar expeciones/errores y mostrar mensajes de error personalizados. Revisa tu código, esa parte donde debe haber algo como System.println("Error de conexión");- Si tu proyecto usa librerías asegúrate de que estas librerías acompañen a tu .jar, por ejemplo en mi caso: dist | README.TXT | SistemaControlPagos.jar | \---lib AbsoluteLayout.jar commons-collections-3.2.1.jar commons-digester-2.1.jar commons-logging-1.1.1.jar iText-2.1.7.jar jasperreports-4.7.1.jar jcalendar-1.3.3.jar mysql-connector-java-5.1.23-bin.jar - Como se puede ver, NetBeans compila el proyecto en un .jar distribuible en la carpeta dist donde a su vez hay un archivo README.TXT y el compilado en sí SistemaControlPagos.jar. Aparte se crea una carpeta lib que contiene todas las librerías que usa el proyecto, te crea la carpeta lib? - Si no te crea la carpeta lib, se tiene que configurar en NetBeans, click derecho en tu proyecto > propiedades > Build > Packaging > Marcar Build JAR y Copiar librerías. Mi NetBeans está en inglés así que puede que no lo esté traduciendo bien XD. -- Al final darle un Click derecho > Limpiar y Construir (Clean and Build) - Aparte puedes abrir tu .jar con WinRar o 7-zip para ver que tiene dentro, debe tener una carpeta META-INF y dentro un archivo MANIFEST.MF cuyo contenido debe indicar entre otras cosas donde encontrar las librerías: Manifest-Version: 1.0 Ant-Version: Apache Ant 1.9.7 Created-By: 1.8.0_221-b11 (Oracle Corporation) Class-Path: lib/AbsoluteLayout.jar lib/jasperreports-4.7.1.jar lib/jcalendar-1.3.3.jar lib/iText-2.1.7.jar lib/commons-logging-1.1.1.jar lib/commons-collections-3.2.1.jar lib/commons-digester-2.1.jar lib/mysql-connector-java-5.1.23-bin.jar X-COMMENT: Main-Class will be added automatically by build Main-Class: vista.FramePrincipal
|
|
|
1480
|
Foros Generales / Dudas Generales / Re: Ataque Smart ARP con sppsvc.exe en win 10
|
en: 1 Septiembre 2019, 23:18 pm
|
Saludos, - sppsvc.exe viene con el Sistema Operativo y se ubica en: " C:\Windows\System32\sppsvc.exe", solo debe existir eso y ningún otro, salvo su copia de seguridad en " C:\Windows\WinSxS\amd64_microsoft-windows-security-spp_31bf3856ad364e35_6.2.9200.16384_none_732afedcaab728dd\sppsvc.exe" o similar dependiendo del Sistema Operativo. -- Me imagino que tu antivirus especifica la ruta exacta de tal fichero. - Microsoft ofrece dos herramientas para la comprobación de archivos del sistema, el más sencillo es SFC (System File Checker), entonces para hacer la comprobación (ejemplo en mi caso todo correcto): C:\Windows\system32>SFC /VerifyFile="C:\Windows\System32\sppsvc.exe"
Protección de recursos de Windows no encontró ninguna infracción de integridad. - Si SFC encuentra una infracción implica que no ese fichero no es legítimo, para remplazarlo por su copia de seguridad: C:\Windows\system32>SFC /ScanFile="C:\Windows\System32\sppsvc.exe" - Aunque siempre se puede extraer del ISO o CD/DVD Instalador del Sistema Operativo ... ------ - Eliminarlo, no sé XD, yo he visto que suele molestar cuando se ejecutan productos de Microsoft como Office y estos se han activa por medios poco éticos XD. En mi caso NO tengo el Servicio de Plataforma de Protección del Software que hace uso de ese fichero, supongo que es porque no he instalado Office aún. Si el fichero es legítimo, se puede usar la Herramienta Servicios para Detenerlo y ponerlo en Deshabilitado en lugar de eliminarlo. PERO si no es legítimo se tiene que eliminar si o si. Windows 8 64-bit: Nombre: sppsvc.exe Tamaño: 4881408 bytes (4767 KiB) CRC32: 80B93D4C SHA1: 8C94296631DB4734ABD094C8450009A4CE504141 SHA256: C69F3542B182BED4260EE1906361B72B9FFDE47FD92A161850E28BC6ED7505CC
|
|
|
|
|
|
|