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 - Eleкtro

#4551
Cita de: dracrac en  7 Septiembre 2015, 13:29 PMExiste alguna diferencia entre estas 2 declaraciones de variables ?

set a=Hola mundo
set "a=Hola mundo"


o con valores numericos:

set a=1
set "a=1"

En ese ejemplo no hay diferencia, pero las comillas dobles se deben usar para asegurarse de que el string se cierra evitando posibles conflictos al utilizar caracteres reservados. Por ejemplo:

Set var=Hello&World

Set "var=Hello&World"

saludos
#4552
Al menos especifica el lenguaje que utilizas al formular una pregunta sobre programación, y en un subforo de programación general...

PHP.

Suerte con el proyecto, yo no puedo ayudarte en dicho lenguaje pero otros podrán.

Saludos
#4553
Scripting / Re: Problema programa Python
7 Septiembre 2015, 01:29 AM
Tal y cómo te ha comentado @YuseTist.

Aquí tienes una referencia de terceros donde explican todos los parámetros/opciones:
Python Tkinter Label

...esta creo que es la referencia oficial de TKinter pero no estoy seguro:
Tkinter 8.5 reference: a GUI for Python

Y por último la referencia oficial de TCL/TK:
Tcl8.5.18/Tk8.5.18 Documentation
(en algunos casos, al tomar la información de la referencia oficial, necesitarás realizar pequeñas adaptaciones al traducirlo a TKinter por algunos keywords de Python que utiliza TK)

Saludos
#4554
Scripting / Re: Java Batch Compiler V 2.0
7 Septiembre 2015, 01:07 AM
Gracias por compartir con los demás.

PD: Corregido el detalle :-)

Saludos!
#4555
Programación General / Re: Dudas sobre POO
7 Septiembre 2015, 00:37 AM
No puedo hablar sobre PHP ya que la programación orientada a nivel web no es lo mio y por ese motivo no quiero acabar dándote un mal consejo por no saber lo suficiente, pero lo que si puedo hacer es hablar sobre la OOP para intentar que tengas una perspectiva general y te ayude en algo.

Cita de: Drewermerc en  6 Septiembre 2015, 23:42 PMotros dicen que es mas recomendable en sistemas grandes por las cuestiones de escalabilidad, refactorizacion del codigo, reutilizacion del codigo, etc.

Cualquier código, ya sea orientado a objetos o no, debería ser refactorizado si se da la ocasión de poder mejorarlo, o rehutilizarlo si de igual manera se da la ocasión de poder aprovecharlo para otros propósitos/aplicaciones.

Esos argumentos que has mencionado se podrían interpretar en plan "No necesitas usar OOP para tus propósitos, es tontería." ...y eso sería algo bueno, no usar más de lo que realmente debas usar, si a ti te va bien así ...¿entonces por que usar OOP?, pero basicamente, y en mi humilde opinión, leo esos argumentos y más bien los percibo en plan cómo intentar justificar las razones de por qué ser un programador vago ...en lugar de intentar evolucionar o superarte para llegar a hacerlo lo mejor que puedas, algo que realmente es injustificable, vaya.




Cita de: Drewermerc en  6 Septiembre 2015, 23:42 PMhe visto personas hacer programas de 40 lineas o menos en c++ usando POO.

Habría que saber cual es la funcionalidad del programa en cuestión para poder dar un punto de vista crítico al respecto, yo no puedo opinar nada sobre un código tenga el tamaño que tenga sin haberlo visto, quien sabe si puede ser un "Hello world" de 40 lineas xD o un sistema de gestionamiento de punto de venta (cosa imposible en 40 lineas, pero es un decir).

Si tu preocupación es que si la aplicación del paradigma OOP implica muchas más lineas de desarrollo de código en comparación con otros paradigmas entonces estás equivocado, además en ciertos lenguajes multiparadigma (ej. C#/VB.Net) puedes aplicar el uso del AOP (Aspect Oriented Programming) para una mayor reducción de código a la vez que consigues simplificación, algo que es genial, aunque por supuesto al final el tamaño de código depende del tipo de persona que haya desarrollado el código (su forma de programar y su experiencia con el lenguaje), de su forma de documentar código, de lo refactorizado que esté el código, etc, ya que obviamente una persona puede hacer algo en 40 lineas y otra persona hará exactamente lo mismo en 80 lineas, o 20 lineas de código y 50 de comentarios.




Cita de: Drewermerc en  6 Septiembre 2015, 23:42 PM3- ¿Es recomendable usar siempre POO? ¿porque?

En lo referente a la programación Web no sabría decirte si es recomendable o no, pero que tiene ventajas desde luego que si, empezando por los tipos genéricos o también conocidos cómo Generics (de Generic programming), encapsulación de datos, herencia, y demás, los cuales al aplicarlos te resultarán muy útiles y toda una ventaja en comparación por el aumento de rendimiento general que supone saber utilizarlos, no en la app o web-app (que en parte también), sino en el rendimiento del programador o la comfortable experiencia de usuario que proporciona la OOP.




Cita de: Drewermerc en  6 Septiembre 2015, 23:42 PM4- ¿Es recomendable usar patrones de diseño? ¿porque?

Los patrones de diseño están ahí para ayudarte a resolver problemas estructurales, creacionales o de comportamiento. Si crees que tu código no está lo suficientemente optimizado o estructurado correctamente entonces busca un patrón de diseño al que puedas adaptarlo, de lo contrario no deberías tener motivo para preocuparte, a menos que quieras seguir de forma "lineal" (es decir, desde el principio del desarrollo del código) la aplicación de algún patrón conceptual o no-conceptual cómo costumbre para adquirir buenas prácticas de programación o también para ir conociendo maneras en la que poder resolver problemas en el futuro aplicando algún patrón de diseño de esos que ya practicaste ;), sea cómo sea desde luego que mal no le vendría a nadie estudiarlos, por que además se supone que un patrón de diseño está bien estructurado a la vez que optimizado/simplificado, y eso solo puede ayudar.

Saludos
#4556
Debes utilizar las etiquetas GeShi para insertar código, lee las normas del subforo de Scripting.




Cita de: dracrac en  6 Septiembre 2015, 19:50 PMLa idea es hacer 2 vectores de diferentes elementos con funciones y pasarlos por referencia. Alguien me puede ayudar?

Eso es simplemente imposible de realizar en Batch, es un lenguaje limitado. Ni puedes crear Arrays regulares, ni mucho menos Vectores, ni tampoco pasar variables por referencia, no existen esos conceptos, además, en Batch no hay funciones como tales sino "puntos de detención" (o labels) que van al punto "B" y vuelven a "A" para seguir el procesamiento por lotes.

Lo único que puedes conseguir es escribir nombres de variables en forma de vectores, pero no usar un vector real.

No hay que confundir esto (un nombre de variable):
Set VarName[Número]

Con esto otro (un vector, lo cual es algo imaginario en Batch):
Set Vector[Índice]

Lo siento, pero la única y la mejor solución es que cambies a un lenguaje apto, un lenguaje capacitado para dicha tarea, que basicamente sería cualquier lenguaje actual excepto Batch.

Te estoy dando mi más sincera y humilde opinión, lo que estás haciendo no te va a servir de nada útil, es absurdo implicarse más en ese asunto con una herramienta inutil cómo Batch, es un consejo, pero de todas formas si quieres que lo que estás intentando hacer te funcione, te explicaré donde has fallado...




A la etiqueta funcion_Guardar le pasas el argumento "lista" que debería ser el nombre de tu variable, pero realmente el nombre que le asignas es "vector" tal cual:
Citarset vector[%pos%]=%valor%

Para solucionarlo, añádele el símbolo reservado de variable para asignarle el nombre "lista" al nombre de tu variable:
set %vector%[%pos%]=%valor%

En el bloque de la etiqueta proc_Print te sucede lo mismo:
Citarecho vec[%%n]:!vec[%%n]!

Modifícalo por:
echo vec[%%n]:!%vec%[%%n]!

Saludos
#4557
@josnan

Se me olvidó responder a la petición que hiciste, la leí el otro día pero se me pasó contestarte, lo siento.

actualmente los snippets los estoy "reconstruyendo", refactorizando, reordenando, actualizándolos, etc, prefiero no publicarlos todavía, pero te los pasaré en breve por privado.

Gracias por tu interés, y perdona el pequeño olvido.

Saludos
#4558
Scripting / Re: Problema borrar ficheros con batch
6 Septiembre 2015, 22:51 PM
Cita de: maiksix en  4 Septiembre 2015, 19:29 PMEl objetivo es que borre todos los .log que sean más viejos que la fecha de la variable "tim", por eso leo con dir la fecha de los ficheros del directorio, pero como sólo leo la fecha no borra el fichero...

Alguna sugerencia para avanzar?

A esto te he dado una solución en tu otro post. No hagas doble post, está prohibido.


CitarConozco la existencia de forfiles pero no lo detecta windows, y aunque he encontrado como habilitarlo quiero aprender a hacer yo el código entero

¿Qué significa "no lo detecta Windows"?, ¿utilizas Windows XP o anteriores, o utilizas una versión modificada de Windows donde han capado el forfiles (ej. Windows 7 super chachi edition by megaman77)?.

No veo que diferencia de aprendizaje le ves a utilizar un comando u otro, no te ofendas, pero para hacer eso de "quiero aprender a hacer yo el código entero" entonces deberías usar ASM xD. Lo que intento decir es que es una bobada que pierdas el tiempo en Batch, si ya conoces una solución usando forfiles entonces ¿para que quieres perder tiempo complicándote con el comando DIR?, si en realidd no vas a aprender nada, un FOR /F no aporta nada en la programación, y si quieres otra solución con la que aprender entonces deberías empezar por olvidar Batch y elegir cualquier otro lenguaje con el que poder aprender algo útil.

Es solo un consejo.

Cierro el tema por doble post, si quieres responder a las preguntas que te hice aquí entonces hazlo en el otro post. :P

Saludos
#4560
Cita de: YuseTist en  6 Septiembre 2015, 21:25 PMTengo esto:

Código (csharp) [Seleccionar]
byte[] raw = wc.DownloadData(laUrl);

Y funciona correctamente.

Sin embargo intento ponerlo así:

Código (csharp) [Seleccionar]
string raw = wc.DownloadData(laUrl);

Y me subraya la definición de la variable. ¿Qué diferencia hay entre esas dos variables?

Byte y String son dos types diferentes, además, la primera variable es un Array de Bytes.

Para que la segunda orden te funcionase, deberías utilizar la función WebClient.DownloadString, aunque imagino que eso no es lo que pretendes hacer realmente.
WebClient.DownloadString Method - MSDN

No entiendo muy bien cual es tu duda respecto a eso, ya que se ve claramente que son dos tipos diferentes, pues no es lo mismo un byte que una cadena de texto, aunque esta consista en bytes de datos (concretamente un buffer de 1 byte por cada caracter ANSI o 2 bytes por cada caracter Unicode).




Cita de: YuseTist en  6 Septiembre 2015, 21:25 PM¿Y esta función exactamente que realiza?

Código (csharp) [Seleccionar]
string webData = System.Text.Encoding.UTF8.GetString(raw);

Parece que se codifica... ¿por qué?

Al contrario, se descodifica.

Teniendo un array de bytes (que supuestamente contengan caracteres UTF-8), dicha función decodifica los bytes para representarlos en una cadena de texto usando dicha codificación de texto, UTF-8.

Cuando no estés seguro del propósito de un método, función, o cualquier otro tipo demiembro, es tan simple como que pases el puntero del mouse por encima del nombre del método en la IDE de Visual Studio... de esta manera IntelliSense te informará de todos los detalles incluyendo sus parámetros y no tendrás que preguntar "¿qué hace esto?" o "¿cómo se usa?".
También puedes usar el Object Inspector en la IDE, o recurrir a la referencia online (u offline) de la MSDN:
Encoding.GetString Method (Byte()) - MSDN




Cita de: YuseTist en  6 Septiembre 2015, 21:25 PMHe visto que son los sockets también en transmite de mensajes se hace mediante byte[] ¿por qué?

Por qué los paquetes que se transmiten contienen eso, una serie de bytes, que luego debes interpretar/descifrar.

Saludos