Mostrar Mensajes

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


Mensajes - Príncipe_Azul

Páginas: 1 2 [3] 4
41
Gracias a todos por el esfuerzo que hacen dia a dia.
Les agradezco por su humildad y ayuda en todo, les deseo un Excelente año nuevo para todos y a seguir programando que mientras mas avance haya en la tecnologia, mas avanzaremos nosotros los programadores.

Un abrazo para todos y mis humildes deseos y saludos.

42
Hola, yo lo dejaría al código así:

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

public class TestCadenaTexto {

    public static void main(String [] args) {

        System.out.print("Inciando la aplicacion. \nPor favor, introduzca una cadena con su teclado para su análisis. \nEsperando...\n");

        String entradaTeclado;
        String numeroLetras;
        Scanner entradaEscaner = new Scanner(System.in);

        entradaTeclado = entradaEscaner.nextLine();   

        if (entradaTeclado.length() < 5) {
            numeroLetras = "La cadena tiene menos de 5 caracteres";
        }
        else if (entradaTeclado.length() > 15) {
            numeroLetras = "La cadena tiene mas de 15 caracteres";
        }
        else {
            numeroLetras = "La cadena tiene entre 5 y 15 caracteres";
        }

        boolean letraA = false;

        if (entradaTeclado.substring(0,1).equalsIgnoreCase("a")) {
            letraA = true;
            System.out.println(numeroLetras + " y comienza por la letra a");
        }
        else {
            System.out.println(numeroLetras + " y no comienza por la letra a");
        }
    }
}

hay algo que no debes hacer o no debes acostumbrarte, es esto por ejemplo:

Código: [Seleccionar]
        entradaTeclado = entradaEscaner.nextLine ();
porque eso son funciones y el (); debe ir junto.

Lo demás es cuestión de gustos, me refiero a la identación.

Saludos!

43
Hola, un gusto leerte mi amigo Alex, siempre tan bondadoso, te aprecio hermano.

Bueno quiero agregar un metodo que yo utilizo siempre que lo necesito, en java no se si existe la.funcion reverse(), me imaginobque si xD lo que yo hago para ordenar un array de mayor a menor, es usar la funcion sort() y luego usar la funcion reverse() wowwwww mas de uno se sorprende con este metodo, seguro que muchos saben este metodo,.pero muchos no, esto tambien lo utilizo cuando por ejemplo quiero ingresar datos en un Panel de un programa,.y los datos que se ingresan,.son leidos de un archivo de texto, pero el problema es que por ejemplo si en un archivo de texto hay 50 lineas y yo quiero volcar esa info en el panel,.en vez de salir en la primera fila del panel la primera linea del archivo, sale la ultima, osea que la ultima linea del archivo en vez de salir al final del panel,.sale arriba, osea en la prinera linea.

Ahi es cuando uso esa hermosa funciob reverse() luego de que lea el.contenido del archivo, entonces al volcar en el.panel,.ahi si sale perfectamente ordenadorl,.si java llegaria a tener reverse() que estoy muy seguro que si tiene,.entonces esa seria la solucion mas facil.y rapida de ordenar de mayor a menor los elementos de tipo int de un array.

Saludos cordiales.
Te mando un abrazo Alex a vos y a todos los demas compañeros.

44
Citar
si por ejemplo escribo 5, "total" vale 5. el bucle compara "total" con 0. no es igual.

empieza el bucle. quiero escribir 0 para finalizar. pero se va a sumar 0+"total", y 0+5 es 5, con lo que el bucle continua hasta infinito

Tienes razón, es cierto, se haría un bucle infinito, no me di cuenta de eso!!



Yo en tu caso, dejaría el código así:

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

public class SinAsignarBucle {

    public static void main (String [] args) { 
        int total=0;

        Scanner teclado=new Scanner (System.in);
        System.out.print ("Escriba un numero. Escribir 0 indica que ha terminado: ");
        total+=teclado.nextInt ();
        for (;;) {
            System.out.print ("Escriba el siguiente numero: ");
            total+=teclado.nextInt ();
            if (total == 0) {
                System.out.println ("El total es "+total);
                break;
            }
        }
    }
}

Quizás te preguntes, ¿Qué es esto:  for (;;) { ?
Simple! un bucle for infinito, esto es muy útil muchas veces, por ejemplo si se necesita recibir y enviar datos constantemente a una conexión.

Y en vez de usar tabulaciones para la identación, yo uso espacios, las tabulaciones me han dado problemas alguna vez, así que me gustan más los espacios, pero vos usá lo que quieras.

Saludos!

45
Citar
hola Principe

gracias por la respuesta.

lei muchas veces tu respuesta, hasta que por fin entendí xd
hace poco empecé con esto de la programación.

luego probé poniendo y borrando llaves en diferentes partes y me quedó bastante claro.

de paso probé la diferencia entre System.out.print y System.out.println

gracias de nuevo =)

hola amigo!!

Me alegro que lo hayas entendido :) :)

No estoy seguro, pero creo que la diferencia de System.out.print y System.out.println es que, System.out.println deja un salto de línea, de esa manera evitás tener que poner el \n

Esta parte:

Código: [Seleccionar]
int total=0;

Scanner teclado=new Scanner (System.in);
System.out.print ("Escriba un numero. Escribir 0 indica que ha terminado: ");
total+=teclado.nextInt ();
while (teclado.nextInt () !=0){
System.out.print ("Escriba el siguiente numero: ");
total+=teclado.nextInt ();



yo la dejaría así:

Código: [Seleccionar]
Scanner teclado=new Scanner (System.in);
System.out.print ("Escriba un numero. Escribir 0 indica que ha terminado: ");
int total=teclado.nextInt ();
while (teclado.nextInt () !=0){
System.out.print ("Escriba el siguiente numero: ");
total+=teclado.nextInt ();


Quizás no sea posible dejarlo así... Pero habría que probar :P


Citar
pero, creo que el problema seria el siguiente


Código: [Seleccionar]
while (teclado.nextInt () !=0){

cláro, exactamente, ahí está el problema, simplemente, podés dejarlo así:

Código: [Seleccionar]
while (total !=0){ [/quote]

ya que se puede utilizar tranquilamente la variable "total" para almacenar el valor ingresado por consola y como total siempre va a almacenar el valor que escriba el usuario, entónces se hace la comparación que total != 0, y en el caso que lo sea, entónces el bucle se rompe.

Nos vemos amigo!! Buena suerte!! :)

PD: Disculpame, pensé que tu programa era en C#, pero es en Java, es que son tan parecidos que me confundí, disculpame.

46
Citar
puedo aprender otros lenguajes mas facilmente?

Hola, si, cláro que podés, Python por ejemplo es el indicado, ya que es un lenguaje fácil de aprender y Orientado a objetos, además que tiene de todo y realmente cada vez me sorprende más.
Por ejemplo, si programas en PHP, quizás te interese esto:

Django: The Web framework for perfectionists with deadlines

Django está haciendo furor en las webs, es muy recomendable y además es fácil de aprenderlo o masomenos fácil, todo depende de tu capacidad mental (no todos somos genios), tiempo y ganas.

http://www.Python.org

Te mando 1 abrazo!
Saludos!

47
Hola. Anduve probando un poco y me topé con esto.

Con la primer clase me resulta bien:

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

public class ConAsignarBucle {
    private static int total=0;
    private static int permiteBucle=-1;
   
    public ConAsignarBucle (){
        total=0;
        permiteBucle=-1;
}
       
    public static void main (String [] args) { 
        Scanner teclado=new Scanner (System.in);
        System.out.println ("Escriba un numero. Escribir 0 indica que ha terminado :");
               
        while (permiteBucle !=0){
            permiteBucle=teclado.nextInt ();
            total+=permiteBucle ;
            if (permiteBucle!=0)
            System.out.print ("Escriba un numero: ");   
        }
       
System.out.println ("El total es : "+total);
     }

}

Probé poner a esto

Código: [Seleccionar]
            if (permiteBucle!=0)
            System.out.print ("Escriba un numero:");   

ponerle corchetes (perdon, aun no me se bien los nombres de cada linea, parte)

Código: [Seleccionar]
            if (permiteBucle!=0) {
System.out.print ("Escriba un numero:");   
}

La clase sigue funcionando bien. Pero por qué? Agregar corchetes no deberia afectar al código?

Las llaves { } debés usarlas siempre.

Probá en esta parte:

Código: [Seleccionar]
System.out.print ("Escriba un numero:");

de dejarlo así por ejemplo:

Código: [Seleccionar]
System.out.print ("Escriba un numero:");
System.out.print ("Escriba otro numero:");

y posiblemente el programa no ejecute la segunda instrucción System.out.print ("Escriba otro numero:");
eso sucede porque al código le está faltando las llaves, siempre va a salir la primer instrucción y no las demás, ya que no están las llaves puestas, voy con 1 ejemplo en C++, que es similar a C# para que entiendas mejor:

Código: [Seleccionar]
#include <iostream>

using namespace std;

int main() {
    int num = 10;
    if (num == 20)
        cout << "Mensaje 1" << endl;
        cout << "Mensaje 2" << endl;
        cout << "Mensaje 3" << endl;
    cout << "Mensaje 4" << endl;
}

este programa muestra en la consola los siguientes mensajes:

Mensaje 2
Mensaje 3
Mensaje 4


aaaahhh porqué pasa eso???? Si supuestamente está bien la identación?  ::) ¿Que acaso no debería imprimer el mensaje 4 solamente?, pues no!
Justamente porque como bien decía, al no usar llaves, solamente se ejecutará la primer instrucción o cualquier que sea después de la primera, como en este caso, que la variable num no es igual a 20, pero sin embargo se ejecutan las 2 instrucciones que son:

Código: [Seleccionar]
        cout << "Mensaje 2" << endl;
        cout << "Mensaje 3" << endl;

ahora, que pasaría si yo al código lo dejo así?:

Código: [Seleccionar]
#include <iostream>

using namespace std;

int main() {
    int num = 10;
    if (num == 20) {
        cout << "Mensaje 1" << endl;
        cout << "Mensaje 2" << endl;
        cout << "Mensaje 3" << endl;
    }
    cout << "Mensaje 4" << endl;
}

me imprime solamente el mensaje 4, muy bien! eso es porque se ha utilizado las llaves y en C++ por lo menos la identación no es lo requerido para los programas, lo requerido son las llaves, por eso lenguajes como C, C++, C#, etc. se diferencian de los demás por las llaves { }

Para que no queden dudas sobre tu pregunta, vamos a probar estos 2 programas:

Código: [Seleccionar]
#include <iostream>

using namespace std;

int main() {
    int num = 10;
    if (num == 20) {
cout << "Mensaje 1" << endl;
cout << "Mensaje 2" << endl;
cout << "Mensaje 3" << endl;
    }
    cout << "Mensaje 4" << endl;
}

y ahora este:

Código: [Seleccionar]
#include <iostream>

using namespace std;

int main() {
    int num = 10;
    if (num == 20) {
                            cout << "Mensaje 1" << endl;
                            cout << "Mensaje 2" << endl;
                            cout << "Mensaje 3" << endl;
    }
    cout << "Mensaje 4" << endl;
}


oohhh vaya que identación de mala!!!!!!! jajaja pero el programa funciona perfectamente, es decir que solamente muestra "Mensaje 4", como dije, la sintáxis de C++ y C# en cuanto al conjunto de instrucciones, funciones, seteo de variables, etc. que se ejecutarán en un condicional por ejemplo, son las llaves, no la identación.

De la misma manera que el ; (punto y coma) es totalmente requerido en C#, de la misma forma débes acostumbrarte a usar siempre las llaves { }

:) Te mando 1 abrazo maestro! Buena suerte con tu programa!! :)

48
Bueno, como siempre, un maestro el amigo Mastermind, ahora me quedo más tranquilo, quería instalar esa librería porque la vi bastante completa y eficiente.

Lo que yo necesito, es de alguna manera, cifrar el contenido de un archivo de texto y descifrarlo cuando el programa que voy a hacer se lo utilice, es decir que no deseo que alguien me copie esa base de datos que voy a poner ahí en ese archivo de texto.

El programa lo que hará, será lo mismo que hace el programa IPOffline, pero el mío solo mostrará el País de una X Dirección de IP, el código de ese país y el rango primario y secundario, es decir, en donde empieza ese rango de IP que se ha consultado y en donde termina.

Esto evitaría tener que usar el internet para saber de que país es una dirección de IP.

De todas maneras voy a buscar otra alternativa para poder cifrar y descifrar la info que se guarda en un archivo txt, quizás tenga que usar algún algoritmo o algo similar por mi cuenta para hacer más fuerte la encriptación, no soy experto en eso, pero bueno algo trataré de hacer. Pero tiene que ser un método que Python pueda desencriptar para poder leer la info, ya que no me serviría que solo se encripte y desde el programa de Python no se pueda desencriptar.

Bueno, cuando entre la forma, la postearé aquí, mientras tanto si alguien sabe de alguna forma de poder hacer lo que quiero, que por favor me avise.

Mastermind Muchas gracias de corazón de por tu ayuda!!
Te mando un abrazo!

49
Hola a todos.

Tengo un problema al tratar de instalar una librería en Python, la misma se llama gnupg, la misma sirve para cifrar y descifrar información que tienen los archivos de texto por ejemplo, entre tantas cosas que hace, porque hace más todavía.

Bueno el tema es que no se porque no se ha instalado correctamente, he seguido este pequeño tutorial, que no es eso, es solo el paso que se hace pasa instalarla:

https://bitbucket.org/vinay.sajip/python-gnupg

y aún así, no se instala bien, cuando quiero importarla, me sale este error:



no se porque me da ese error, cuando instalé la librería requests, se ha instalado sin problemas, pero esta no se porque razón no se instala como debe.
La verdad he andado por entero, encima me remil confunden, porque uno te dice esto y el otro, otra cosa, vas a ver otra web y otra cosa distinta, ya no se que más hacer, la necesito instalar, tengo todo listo para instalar, pero no me da error cuando la instalo, pero tampoco funciona, ya que ni siquiera puedo importarla, me confundo de instalación de win con linux, porque esta gente que hace las explicaciones mezcla todo, es difícil entenderles encima está en inglés.

Bueno esto es algo que me pone los pelos de punta, porque supuestamente todo debería ser fácil y no dar problemas, y me está dando problemas, pido ayuda a ver si alguien me puede ayudar al menos a orientarme para poder instalarla. Ya he intentado de todo, he andado por varias webs y no hay caso.

Espero que me puedan ayudar.

Muchas gracias por adelantado.

Dejo aquí las webs que pueden ayudar:

https://pypi.python.org/pypi/gnupg

http://roldandvg.blogspot.com.ar/2014/04/cifrar-y-descifrar-archivos-con-python.html

https://pythonhosted.org/python-gnupg/

PD: Este paquete es el que he intentado instalar:

gnupg-1.3.2.zip





50
Estoy totalmente de acuerdo con vos, igual todo bien con ese Foro, ya pasó, son cosas que pasan.

Me alegro que te haya gustado el NINJA IDE, realmente yo lo he usado muy pero muy poco, una sola vez jajaja pero anduvo de 10!, es más rápido que el IDE de Python y he leído en muchos sitios que es excelente, digamos que he leído lo mejor de ese IDE.

Saludos!

51
Hola, la recursividad es muy similar a Goto, a diferencia de que en vez de llamar a una etiqueta, simplemente la llamada se hace a la misma función.

Saludos!

52
Hola, buenas tardes, una pregunta:

¿Aquí no olvidaste definir el valor?:

Código: [Seleccionar]
        Me.BindingContext(Esc_SalarialBindingSource).Position =
Saludos!

53
Hola evancio, por favor, ¿podrías pegar aquí tu código como lo tienes actuamente?

Gracias.

54
Citar
Hola! Ya me he leído con calma toda la información que has aportado, aparte de darte las gracias por aportarla tengo que reconocer que me ha sorprendido el buen nivel que muestras en programación y no sólo eso sino también en conocimiento de redes y protocolos, supongo que te lo habrás trabajado a base de echarle horas y horas de estudio y programación ;)

Hola mi estimado!

Me alegro mucho que te haya gustado, estos programas dejan mucha enseñanza a personas que comienzan con Python y a usuarios medios ya que pueden ver lo que se puede llegar a hacer con el lenguaje. Es bueno ver como queda todo ordenado en el Panel wx.ListCtrl y cada dato en su lugar correspondiente.

En cuanto a conocimiento de Redes y protocolos, la verdad se poco sobre eso, yo en el programa Buscador de Puertos TCP, lo que hice fue buscar en alguna página, los puertos y sus descripciones, luego lo implementé en el programa.
Pero si se de conexiones sockets más que nada, y bueno he hecho programas también usando sockets, como este programa que he aportado.



Citar
Sobre el problema con contenidos en foros y su posterior borrado, no sé concretamente en qué consistió el problema pero cuando se suben contenidos a sitios públicos de internet hay que tener en cuenta que precisamente son públicos y desde el mismo momento en que se suban pueden ser copiados por otras personas, incluso aunque luego se proceda al borrado ya otras personas pueden haberlo copiado y puede publicarse en muchos otros sitios web sin control. Por ello nuestra recomendación es no subir aquello que no se quiera compartir o aquello que no se quiera que sea copiado por otros.

Bueno, te explico amigo, yo había creado un código básico digamos, no era algo complejo, este código era en Python y tube que aportarlo para recibir ayuda de ese foro antes mencionado, sin embargo la ayuda fué negada hacia a mi, porque este moderador pensaba que yo estaba tratando de hacer algo ilegal, que por lo conocimientos que tengo iba a hacer algo que podría trarme problemas a mi, pero como soy programador le he demostrado, por lo menos lo he hecho muy claramente, que ya existe un programa creado aquí en mi país Argentina que hace exactamente lo que yo quería hacer, que era un programa que envíe mensajes a celulares de compañía Personal y Claro, que de hecho como dije ya existe un programa que hace eso en forma gratuita.

Yo le he explicado a este moderador que ese programa se conecta a la página de Personal y de Claro como mi código lo hacía, pero obviamente al mío le faltaban cosas y no funcionaba, estaba muy incompleto, bueno yo le demostré eso y el no me respondió más nada, osea no me quiso ayudar.
También quiero aclarar que le dije exactamente bien claro como funcionaba ese programa y hasta le puse imágenes de muestra que mostraba a donde se conectaba ese programa, etc.

Bueno, el tema que el no me ayudó así que le pedí que borrara ese código, le mandé 1 msj privado, le dije en otro post (no era mi Tema, era de otro usuario) que por favor lea el mensaje privado que le había mandado. El me respondió que ese foro está licenciado bajo la licencia de Creative Commons y que no iba a ser posible el borrado del código ya que lo que se aportaba ahí, quedaba tal cuál.

Bueno, el tema que no me pareció una respuesta justa, ya que cuando hicieron spam en ese foro, osea un usuario se registró para tan solo hacer un spam, yo salí a defender a ese foro diciendole a este usuario que no está bien crear un tema en el foro que el citaba e invitar a los usuarios de este foro a que se registren ahí, el moderador (no se quién), borró ese mensaje.

Los moderadores modifican los mensajes de los usuarios cuando quieren, osea todos saben que es así, ellos podrían haber borrado mi código y todo iba a estar bien, pero no! el se negó y otro moderador nos trató de avaros a los Argentinos porque el estaba en desacuerdo que yo no quiera pagar por un software, pero no es así.

Lo explico una vez más....... El autor de ese programa que envía mensajes gratis, está lucrando con su programa, osea el tiene embutido en su programa, su página, con una publicidad de Google y encima esa página se refresca cada cierto tiempo, no recuerdo cada cuanto, pero muy seguidamente se va refrescando automáticamente, que eso es igual a que la persona refresque esa página en un navegador, osea la hago simple..... Eso suma visitas.

El autor gana dinero con eso, yo no iba a hacerlo y aún así me negaron su ayuda y encima me trataron de avaro, porque? porque yo quería hacer mi propio programa y ellos estaban en desacuerdo, ya que ellos querían que yo use ese programa con esa publicidad obligatoria para que yo ayude económicamente a esa persona, yo al intentar crear algo muy parecido, pero por supuesto gráficamente iba a ser totalmente distinto, ellos pensaban que yo era como que le iba a quitar la posibilidad de que esa persona siga ganando dinero.

Pero por favor, yo tengo derecho de hacer el programa que quiera y como lo quiera (JAMAS, NUNCA hago algo ilegal), esa persona está haciendo algo ilegal, porque si, es ilegal meter una publicidad de Google embutida en su programa, eso está en su web (la publicidad), si es cierto, pero ese programa, tiene un navegador embutido adentro que hace eso, porque esa persona en su página no tiene esos refrescos automáticos, osea que es el programa ese que se actualiza automáticamente y eso a ellos le parece ético? eso a ellos le parece que esa persona necesita ayuda? Yo soy pobre, me cuesta mucho pero mucho pagar mi VPS y aún así no pensaba meterle publicidades al programa ni tampoco ganar dinero con eso.

Además de esa publicidad obligatoria, también este programa envía su SPAM osea su página web dentro de los mensajes de texto que los usuarios envían.
Un ejemplo sería este:

Hola Daniel como estas?-pagina.net

pagina.net es la página del autor de ese programa,  jajajaj mira que bonito, gana dinero y le mete el spam de su página y eso le parece ético?????????? Si está haciendo spam, encima reduce los caracteres de los mensajes de texto, que ya de por si, son muy pocos.
En fin, un tema largo de explicar, pero este moderador podría haber eliminado el código sin problemas y listo, pero no, encima otro moderador me trató de avaro.
Odio la injusticia.
Ellos se negaron a ayudarme, al menos debía borrar el mensaje, de hecho recuerda amigo Ogramar que los foros (no todos) tienen la posibilidad de borrar tus propios mensajes y modificarlos también, pero ese foro no es SMF, es VBulletin y solo se puede modificar tu último mensaje, por lo que no podía borrarlo porque ya tenía mensajes posteriores.

Si en mi foro, un usuario pidiera eso, yo lo haría sin problemas, borraría su código, no tengo porque quedarme con algo que no es mío y si me niego a ayudarlo, con más razón lo borraría.
Por cierto, el penso que yo iba a hacer algo como marketing, publicidad, spam, porque me lo dijo en ese Tema, pero sin embargo dejaron ese código, ¿que no era algo malo?, para ellos si, bueno lo dejaron igual.
Es más, ni siquiera te saludan en ese foro, son unos mal educados, ni educación tienen, ustedes son mucho mejor personas que ellos, ellos tienen el ego muuuuuy alto y creen que son lo mejor.
Sigan así chicos que van a llegar lejos, a ustedes les digo de Aprender a Programar, sigan con su buena educación que eso se valora mucho!!! :) :)

Sabes amigo? Hace rato no me importa ese código, yo solo he podido terminar mi programa y lo que necesitaba, lamentablemente la web de Personal a cambiado y ahora es más difícil poder terminarlo a mi programa, es más no se si se podrá, quizás ya no se pueda.

Por último quiero agregar algo, disculpenmen, de todo corazón les digo esto, con todo respeto a ustedes, pero desgraciadamente yo he hecho muchos códigos/programas y los he compartido en mi Foro y en otro Foro que ayudé un tiempo, y saben amigos? Mis códigos estan modificados, plageados, le metieron fallas, le sacaron todo el texto que le había puesto arriba, que siempre lo hago, le sacaron hasta las ayudas, me cansé siempre de hacer códigos y verlos en otros Foros plageados o modificados, sin ni siquiera, la ayuda que me he tomado el trabajo en crearla muy detalladamente, no es justo que me pase eso, les juro que he hecho todo lo mejor que he podido por compartir y me ha ido muy mal, nunca respetaron los créditos, jamás, lo borran como si nada o cambian el autor. Esa es una de las malas experiencias que he tenido en el mundo del internet.
No me parece bien haberme roto la cabeza noches enteras desvelandome para poder terminar esos códigos o seguir haciéndolos y que después tenga que verlos sin nada, sin autor o con otro autor, que no es el autor, es solo una persona que se puso ahí como autor pero ni siquiera hizo nada de nada, pero nada.
Es muy triste y doloroso ver eso, todo mi trabajo, todos mis esfuerzos sin valor alguno, un código que ya no es lo que yo hice, perdonen por esto, pero es la realidad, he trabajado duro y me ha ido muy mal.

Por eso el código que he aportado, estoy preparado para verlo en otro foro sin autor o con otro nombre y/o nick, ya me acostumbré.


Citar
Del código me ha gustado que es un código que hace algo interesante en poco código y de forma clara. Supongo que eso también es posible gracias a las librerías de Python pero de todas formas hay que saber usarlas para conseguir estos resultados ¿Puedes contarnos que IDE o entorno recomiendas para programar en Python? Salu2!!

Me alegro que te haya gustado amigo Ogramar

Si amigo, se pueden usar librerías para mejorarlo o hacerlo de otra manera, por ejemplo usar la librería re que sirve para trabajar con expresiones regulares.

Mirá te soy sincero, yo uso el IDE que trae Python, en realidad casi nunca lo uso, ya que es un poco lento y además prefiero crear los códigos en NotePad++ y luego ejecutarlos.
Pero el que si les recomiendo es el NINJA IDE



Aquí dejo la web oficial para que lo descarguen:

http://ninja-ide.org/

por cierto, NINJA IDE está escrito en Python!!!!!!! con Interfaz gráfica PyQt!!! :) :) :)

Buena suerte a todos y muchas gracias Ogramar por tus palabras.

Que tengan buen día.



55
De nada bro, yo te doy una mano en lo que pueda y sepa.

Mirá este código de Python:

Código: [Seleccionar]
# -*- coding: utf-8 -*-

import glob

Archivos = glob.glob("C:\Users\Arg\Desktop\PJIRC\*.*")

for Archivo in Archivos:
    print Archivo


raw_input()

con ese simple código obtenés todos los archivos que estén dentro de la carpeta PJIRC, que sería por ejemplo estos:

C:\Users\Arg\Desktop\PJIRC\IRCApplet.class
C:\Users\Arg\Desktop\PJIRC\pjirc.cfg
C:\Users\Arg\Desktop\PJIRC\pjirc_1_9_0.zip
C:\Users\Arg\Desktop\PJIRC\webchat.html

Saludos!

56
A ver amigo, reemplazá esto:

Código: [Seleccionar]
            rutaPdf = "C:\Users\Oscar\Desktop\prueba"&i&".pdf"
            rutaXml = "C:\Users\Oscar\Desktop\prueba"&i&".xml"

por esto:

Código: [Seleccionar]
            rutaPdf = "C:\Users\Oscar\Desktop\prueba\"&i&\".pdf"
            rutaXml = "C:\Users\Oscar\Desktop\prueba\"&i&\".xml"

quizás sean las comillas, veamos.

PD: Compañero si o si tiene que ser Visual Basic? En Python un programa como este lo hacés más fácil, yo te podría ayudar.

Saludos!

57
A ver, el usuario trabaja de eso, osea que debería de tener conocimiento, en este caso no lo tiene, pero ¿que tan difícil es para el usuario buscar en Google? ¿Que acaso todo hay que entregarselo servido? No muchacho, no siempre es así y si hasta ahora nadie lo ha podido ayudar, es porque posiblemente no saben sobre el tema, pero no porque sea algo difícil, me imagino que porque no estuvieron en caso así, de todas maneras Alex le dijo perfectamente lo que debe hacer.

y si no sabe de objetos como vos decís, que me parece que estás hablando por él, el es él el que tiene que dar la respuesta, pero si él no sabe de objetos, entónces que lea, que busque así se aprende mi amigo.

Yo le estoy ofreciendo un método para que pueda aprender, que es buscar y leer, estudiar, nada del otro mundo para un programador.
Es más hasta le dejé 3 páginas para que mire ahí a ver si en algo le pueden ayudar esas webs.

58
Hola, disculpame con todo respeto, pero no es necesario que leas todo el curso para poder hacer algo simple, lo que vos necesitás no es más que un simple bucle y como bien te indicó Alex, necesitás ir agregando los que no existen y luego imprimirlos.

Si no eres capaz de hacer eso, la verdad no se en que trabajo podrás estar, porque eso es algo simple, yo no se nada de VB, pero no debe ser algo muy díficil, es cuestión de leer, yo cada vez que necesito saber algo, busco en y ahí encuentro el %95 de las veces lo que necesito.

Aquí te dejo esto que probablemente te sirva:

Tutorial: Manipular archivos y directorios en Visual Basic

Cómo: Obtener la colección de archivos de un directorio en Visual Basic

Buscar los ficheros de un directorio en Visual Basic .Net

Saludos.

59
Hola amigos!!

Somos 3 ahora, yo también soy pobre, me cuesta mucho pagar las cosas que tengo, por ejemplo mi VPS, pero lo mejor es que puedamos aprender, eso es lo más importante, aprender, como se pueda, pero aprender, y aunque no lo crean, es mejor aprender con lo poco y con lo que hay, porque así el cerebro estará más capacitado que comprar un libro donde todo esté resuelto y uno no sepa como exactamente se hizo esto o aquello.

Yo siempre aprendí con casi nada, 1% de recursos, desde un celular con 512kb, que la conexión a internet era malísima y me era imposible conectarme, es más, es un teléfono celular algo viejo ya y que no tenía estabilidad, todos los días enchufando ese cable y sacandolo, pero bueno ahora estoy un poco mejor.

Fuerza amigos que la vida sigue, al menos nos da la cabeza para poder aprender con pocos recursos y eso es más que importante.

60
Hola compañeros!!!

Bueno quiero agradacerles nuevamente y felicitarlos por el saludo y la educación que siempre tienen, me encanta leer ese "Hola" al comienzo de cada mensaje de su primer mensaje en un tema, nunca pierdan eso, demuestren educación y respeto así como lo hacen, porque hay tipos como yo que observan bien esas cosas.

Bueno voy a dejar una librería, es algo simple que hice en C++, digamos que lo mejor que he hecho, pero nunca la he terminado, yo quería que fuese una librería con muchas o varias funciones, como métodos digamos, pero ya abandoné C++, es un gran labor remar con eso y además no pretendo hacer programas y menos trabajar ($$$$) con C++.

Esta librería tiene una explicación y varios ejemplos de cada función.

Primero cargamos la librería:

Código: [Seleccionar]
#include "Funciones.h"

se llama así Funciones.h

y aquí dejo el código:

Código: [Seleccionar]
#include <iostream>
#include <windows.h>
#include <vector>
#include <stdio.h>
#include <fstream>

using namespace std;

int Cuenta(string s, const char Separadorr, int &TotalChars) {
    for (int i = 0; i < s.size(); i++)
        if (s[i] == Separadorr) TotalChars++;
}

void split(string Linea, char Separador, vector<string> &TempBuff, int &TotalVector) {
    TempBuff.resize(0);
    TotalVector = 0;
    int Nums = -1;
    int NumPos = -1;
    int ValorNum = 0;
    int TotalChars = 0;
    int TotalEspacios = Linea.length();
    string Valor;
    Cuenta(Linea, Separador, TotalChars);
    if (TotalChars != 0) {
        while (Nums < TotalChars) {
            Nums++;
            ValorNum = Linea.find(Separador, NumPos + 1);
            Valor = Linea.substr(NumPos + 1,ValorNum);
            Valor = Valor.substr(0, Valor.find_first_of(Separador));
            TempBuff.push_back(Valor);
            NumPos = ValorNum;
            TotalEspacios++;
        }
        TotalVector = TempBuff.size();
    }
    else {
        //TempBuff.push_back(Linea.substr(0, Linea.find_first_of(Separador)));
        TotalVector = 0;
    }
}

void Contar(string &Cadena, const char Caracter, int &NumChars) {
    NumChars = 0;
    for(int IncNums = 0; IncNums <= Cadena.size(); IncNums++) {
        if (Cadena[IncNums] == Caracter) NumChars++;
    }
}

void Multi(string &Texto, int TotalRep) {
    string Texto2 = Texto;
    for(int SumaNums = 1; SumaNums < TotalRep; SumaNums++) {
        Texto += Texto2;
    }
}

void LeeLinea(const char *NombreArchivo, string &DatoLinea, int NumLinea) {
    char Linea[1280];
    ifstream Lectura(NombreArchivo);
    Lectura.getline(Linea, 1280);
    int CuentaNum = 1;
    while (!Lectura.eof()) {
        if (CuentaNum == NumLinea) {
            DatoLinea = Linea;
            Lectura.close();
            break;
        }
        CuentaNum++;
        Lectura.getline(Linea, 1280);
    }
    Lectura.close();
}

y aquí su ayuda:

    /**
    Uso de la función split(VariableString, *"Caracter", NombreVector, TamañoVector)
    Descripción, esta función es muy parecida a la función split() que utiliza Python,
    En esta función split() se deben pasar por parámetros los valores:
    VariableString, *"PunteroDeCaracter", NombreDelVectorTipoString, VariableInt


    Ejemplo 1:

    string Palabra = "Hola feliz dia";
    vector<string> TempBuff(0);
    int TotalVector;
    split(Palabra, *" ",  TempBuff, TotalVector);

    cout << TotalVector << endl; // Devuelve tamaño del vector: 3
    cout << TempBuff[0] << endl; // Devuelve: Hola
    cout << TempBuff[1] << endl; // Devuelve: feliz
    cout << TempBuff[2] << endl; // Devuelve: dia


    Ejemplo 2:

    string Palabra2 = "Programador_de_C_mas_mas";
    int TotalVector2;
    vector<string> TempBuff2(0);
    split(Palabra2, *"_",  TempBuff2, TotalVector2);

    cout << TotalVector2 << endl; // Devuelve el tamaño del vector: 4
    cout << TempBuff2[0] << endl; // Devuelve: Programador
    cout << TempBuff2[1] << endl; // Devuelve: de
    cout << TempBuff2[2] << endl; // Devuelve: C
    cout << TempBuff2[3] << endl; // Devuelve: mas
    cout << TempBuff2[4] << endl; // Devuelve: mas

    NOTA IMPORTANTE: Se puede usar el mismo nombre del vector "TempBuff", también
    la variable string "Palabra" y la variable tipo entero "TotalVector", por lo que
    no es necesario volver a crear ni las variables, ni el vector. No obstante se puede
    crear otro vector y otras variables con otros nombres y pasarlos como parámetros
    en la función split().

    Otro punto a tener muy en cuenta, es que, antes de poder comparar un cierto valor del
    vector de una cierta posición con una variable string, es importante hacer una
    comparación que el vector sea mayor o igual a la posición que se va a comparar, esto
    evitará un fallo de segmentación / violación de memoria.

    Ejemplo:

    if (TotalVector >= 4) {
        cout << "Si, el vector tiene 4 o más valores dentro de él" << endl;
        cout << "Ahora se pueden ejecutar las instrucciones" << endl;


    ---------------------------------------------------------------------------------------
    Uso de la función Contar(VariableString, *"Caracter", VariableInt)


    Ejemplo 1:

    int NumChars = 0;
    string Saludo = "H-o-l-a a-m-i-g-o-s";
    Contar(Saludo, *"-", NumChars);
    cout << NumChars << endl; // devuelve: 8


    Ejemplo 2:

    string Saludo = "H o l a a m i g o s";
    Contar(Saludo, *"-", NumChars);
    cout << NumChars << endl; // devuelve: 9


    Ejemplo 3:

    string Saludo = "Hola";
    Contar(Saludo, *"_", NumChars);
    cout << NumChars << endl; // devuelve: 0


    ---------------------------------------------------------------------------------------
    Uso de la función Multi(VariableString, Int)


    Ejemplo 1:

    int main() {
    string MiTexto = "hola ";
    Multi(MiTexto, 10);
    cout << MiTexto << endl; // devuelve: hola hola hola hola hola hola hola hola hola hola



    --------------------------------------------------------------------------------------
    Uso de la función LeeLinea(ConstanteChar, VariableString, Int)


    Ejemplo 1:

    int main() {
        const char *NombreArchivo = "Prueba.txt";
        string DatoLinea1;
        LeeLinea(NombreArchivo, DatoLinea1, 1);
        cout << DatoLinea1 << endl; // devuelve: El valor de la línea 1
    }


    Ejemplo 2:

    int main() {
        const char *NombreArchivo = "Prueba.txt";
        string DatoLinea1;
        LeeLinea(NombreArchivo, DatoLinea1, 7);
        cout << DatoLinea1 << endl; // devuelve: El valor de la línea 7
    }


    Ejemplo 3:

    int main() {
        const char *NombreArchivo = "Prueba.txt";
        string DatoLinea1;
        LeeLinea(NombreArchivo, DatoLinea1, 43);
        cout << DatoLinea1 << endl; // devuelve: El valor de la línea 43
    }

    */


Espero que a alguien le sirva!!

PD: Todas las funciones funcionan perfectamente, lo que no he terminado es seguir haciendo más de éstas funciones, pero las que ya están aportadas, si funcionan sin problemas.

Saludos!

Páginas: 1 2 [3] 4

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".