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 - nadales56

#11
Buenos días a todos!

Mi pregunta es si alguien sabe cómo cambiar los colores en la terminal.
Lo que quiero hacer es lo siguiente:
Imaginemos que tengo un parámetro X y éste debe de estar en un intervalo [20,25], por ejemplo. La idea es, que si no está en ese intervalo, me muestre por pantalla el valor del parámetro X, pero en color rojo por ejemplo o incluso poner la letra en negrita.
Necesitaría una librería específica para ello?


Eso sería posible en C++?

Muchas gracias! Que pasen un buen Viernes!
#12
Después de casi dos horas he conseguido solucionarlo.

Resulta que esa carpeta compartida con Windows se guarda en una parte de la raíz llamada media y dentro de media yo he creado con el terminal una carpeta llamada windows que contiene los datos de dicha carpeta compartida.

A la hora de poner la ruta en el script, es tan fácil como:

Código (cpp) [Seleccionar]
Ruta_Origen = "/media/windows/fichero_origen.txt";

Espero que les sirva de ayuda. Un saludo
#13
Buenos días a todos y todas.
Les comento una duda, que no sé muy bien si está relacionado con la carpeta de programación en C/C++, pero como el lenguaje que estoy usando es C++ lo coloco aquí. Ruego, me disculpen si no estoy en el sitio correcto.

Programo en Ubuntu a través de VirtualBox, tengo una carpeta compartida con mi PC "real" de sistema operativo Windows.

En un sencillo ejercicio que he estado planteando en otros hilos, basado en copiar el contenido de un fichero en otro fichero, me surge la siguiente duda.

Es posible acceder a un documento de texto (txt) que se encuentra en una carpeta compartida desde el script añadiendo la ruta donde se encuentra?
La carpeta compartida no tiene el icono que tienen las carpetas que hay en el escritorio, es más bien parecido a un disquete, y cada vez que la abro tengo que introducir mi contraseña de usuario.

Alguien ha estado en la misma situación y ha conseguido hacerlo?

Un saludo, muchas gracias!
#14
Escribo aquí el código que he usado para hacer referencia a las rutas donde tengo guardados los ficheros.

En primer lugar, nos ponemos en situación:
En Escritorio -> Carpeta_Origen -> Fichero_Origen.txt

Copiaremos el contenido de Fichero_Origen.txt en un nuevo fichero que denotaremos como Fichero_Destino.txt, que se guardará en:
Escritorio -> Carpeta_Destino

Decir también que nuestro script se encuentra en Escritorio -> Carpeta_Destino.

Lo que quiere decir, que en el terminal especifico que me encuentro en dicha ruta, escribiendo cd Escritorio + ENTER + cd Carpeta_Destino + ENTER

En este caso he usado la ruta relativa, por simplificar.


Código (cpp) [Seleccionar]

ruta_entrada = "../Carpeta_Origen/Fichero_Origen.txt";


Coloco .. para volver a Escritorio, ya que ejecutamos desde una carpeta que está en él (Carpeta_Destino) y luego concreto que quiero ir a Carpeta_Origen


Código (cpp) [Seleccionar]

ruta_salida = "Fichero_Destino.txt";


En este caso, ya me encuentro en la ruta que deseo (la misma donde he ejecutado el script), por lo que lo único que tengo que hacer es ponerle nombre al fichero que quiero crear con el contenido copiado, añadiendo su respectiva terminación


Esto no hubiese posible sin la ayuda y las explicaciones de YreX-DwX.
Un saludo!
#15
YreX-DwX, muchísimas gracias por el curro que te has dado tio!

Mucha información que procesar, una vez procesada la aplicaré y te diré que tal me va!
Gracias por la lección! ;)
#16
Buenas!
Siento ser tan pesado con el tema, pero quiero aprender bien al respecto.

Me he pasado a Ubuntu a través de una maquina virtual. De manera que el script lo escribo desde editor de texto y compilo desde el terminal.

El programa lo que hace es acceder a un fichero que se encuentra en la Carpeta_A y copiar su contenido en un nuevo fichero que se encontrará en la Carpeta_B, siendo la Carpeta_B el lugar donde tengo guardado el archivo cpp que estoy programando.

En el script tengo escrito esto:
Código (cpp) [Seleccionar]
string entrada = "Escritorio/Carpeta_A/Fichero_Origen.txt";
string salida = "Escritorio/Carpeta_B/Fichero_Destino.txt";


Y en el terminal he accedido a Escritorio/Carpeta_B, que es dónde se encuentra el archivo cpp, y para compilar hago:
g++ -o Nombre Archivo.cpp

Me compila y no da error alguno

y para ejecutar:

./Nombre

Pero no da resultado.


Decir también, que he probado copiando el Fichero_Origen en la Carpeta_B, que es donde se está trabajando, y en vez de poner rutas he puesto los nombres de los ficheros entre comillas con su respectiva terminación, y el programa hace lo que comento ahí arriba.
Lo hice para descartar que el error estuviese en el código.

Mis preguntas son:
1) ¿Están bién escritas las rutas en el script?
2) ¿Tengo que especificar en el terminal la ruta donde está el Fichero_Origen?
3) ¿He de usar alguna librería específica para trabajar con directorios?


Gracias de antenmano, un saludo.
#17
Maravilloso! Muchas gracias por la ayuda que he recibido!
Que pasen un buen día! =)
#18
Tienes razón, ese continuo = true está mal, claro, como me funcionaba pues ni me he fijado, y al ser también un indicativo de si el proceso ha ido bien, pues el == es lo que hay que poner. Muchas gracias!

Entonces, si recurro al programador de tareas del PC y mando que esa tarea se ejecute cada 5 min automáticamente, no sería necesario usar los comandos Sleep y demás no?

Agradezco mucho vuestras respuestas! un saludo
#19
Muchísimas gracias por responder!!
ya he conseguido resolver el problema, y me funciona a la perfección.

Código (cpp) [Seleccionar]
do{
    cout << "========== C H E C K I N G - " << cont << " =========="<<endl;
    entrada = "Fichero_Origen.txt";
    salida = "Fichero_Destino.txt";
   
    traspasar_fichero(salida, entrada, ok1);
    codigo_error(ok1);

    entrada = "Fichero_Destino.txt;
    salida = "Datos_Actualizados.txt";

    actualizar_datos(salida, entrada, ok2);
    codigo_error(ok2);


    if(ok1 == OK_traspaso && ok2 == OK_dato){
        continuo = true;
    }else{
        continuo = false;
    }
    cont++;
    cout << "= = = = = = = = = = = = = = = = = = = = =" << endl;
    cout << endl;
    Sleep(300000);

}while(continuo = true);


La duda que tengo ahora es si lo que tengo hecho es algo muy basto o si hay alguna mejora que podría hacerle.
¿cómo hago para dejarlo como tarea programa? en qué beneficiaría exactamente que el código no estuviese siempre ejecutándose?

Un saludo y muchas gracias!
#20
Muchas gracias por responder animanegra!
Lo cierto es que soy un poco manco a la hora de programar, y creo que he entendido lo que me has escrito.

Echaré un vistazo e iré probando.
Un saludo!