Mostrando entradas con la etiqueta system. Mostrar todas las entradas
Mostrando entradas con la etiqueta system. Mostrar todas las entradas

domingo, 15 de febrero de 2015

Python: jugando con PyZenity (3era parte)

En esta ocasión seguimos usando la librería PyZenity. Ahora crearemos un sencillo menú con tres opciones:
  1. Información del sistema
  2. Espacio en los discos duros
  3. Ver directorio
Importaremos estas librerías:
  • os
  • platform
  • commands
  • PyZenity
Nos servirán para ejecutar comandos, obtener plataforma que se ocupa (en este caso se usa Linux), almacenar el resultado de comandos y para los componentes gráficos respectivamente.

Como va ser un script para sistemas Linux hacemos una función que identifique si se trata de un sistema con plataforma Linux:

def identifica():
  return platform.system() == 'Linux'


Para ejecutar un comando (sin necesidad de almacenar el resultado) usamos este método:

os.system('clear')#este comando limpia la pantalla

Ahora si queremos guardar el resultado de un comando usaremos esto:
status, output = commands.getstatusoutput("ls -l")

Para introducir datos de entrada:
entrada=GetText(contenido)

Para mostrar resultados:
InfoMessage('Mensaje')

El código completo:
import os,platform,commands
from PyZenity import *

def identifica():
  return platform.system() == 'Linux'

def menu():
  contenido="\tMenu\n1. Opcion 1[Informacion del sistema]\n2. Opcion 2[Espacio en los discos duros]\n3. Opcion 3[Ver el directorio]\nElije tu opcion (q para salir):"
  while True:
    entrada=GetText(contenido)
    try:
      numero=int(entrada)
      if numero == 1:
        status, output = commands.getstatusoutput("uname -a")
        InfoMessage(str(output))
      elif numero == 2:
        status, output = commands.getstatusoutput("df")
        InfoMessage(str(output))
      elif numero == 3:
        status, output = commands.getstatusoutput("ls -l")
        InfoMessage(str(output))
      else:
        ErrorMessage('Opcion incorrecta.\nIntenta de nuevo')
    except:
      if entrada == 'q':
        break
      Warning('Por favor solo numeros')


def main():
  if identifica():
    os.system('clear')
    try:
      menu()
    except ImportError:
      print "Debes tener instalada la libreria PyZenity"

  else:
    print "Este script solo funciona en plataformas Linux"

if __name__ == '__main__':
  main()



sábado, 27 de julio de 2013

Programando en C++ ... no. 1

main(Una reseña)
Antes de Java el lenguaje C era considerado el mejor lenguaje del mundo, con el paso del tiempo tuvo varios cambios importantes.

Nuevos paradigmas de programación aparecieron y entonces C++ salió a la luz.



El C++  se considera como una extensión del lenguaje C.  Permite la programación orientada a objetos.

Todo lo que programabas en C lo  puedes hacer en C++.

Ya tenía bastante tiempo en no usar C++, y aprovechando el tiempo libre empecé a probar DevC++.



Antes de que un software pueda ser reusable, primero ha de ser usable. ::Ralph Johnson::




1. Este código solo funciona en sistemas Windows, usamos la función system() para obtener el nombre del usuario del sistema.
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>

int main(){
    system("echo Hola %USERNAME%"); // aqui se muestra el nombre del usuario
    system("pause");
    return 0;  
}

2. Uso de clases, creamos un método (dentro de la clase) que imprima un texto
#include <iostream.h>
#include <stdlib.h>
#define TAM 8

//definimos la clase Prueba
class Prueba{
    public:
           Prueba(){} // definimos el constructor
           ~Prueba(){} // aqui esta el destructor
           void ver();  // método sin parámetro
           void ver(char msg[TAM]);    //método con parámetro
};

void Prueba::ver(){
  cout<<"Hola"<<endl;
}

void Prueba::ver(char msg[TAM]){
     puts(msg);
}

int main(){
    Prueba p; //
    char frase[TAM];
    p.ver();
    cout<<"Escribe frase: "<<endl;
    gets(frase);
    p.ver(frase);
    system("pause");
    return 0;
}

3. Manejo de excepciones
#include "stdio.h"
#include "iostream.h"
#include "conio.h"

int main(){
  float a,b,c,d,e,f,denominador,x,y;
  try{
  cout<<"Introduce valor de a,b y c:"<<endl;
  cin>>a;cin>>b;cin>>c;
  cout<<"Introduce valor de d,e y f:"<<endl;
  cin>>d;cin>>e;cin>>f;
  denominador=a*e-b*d;
  if(denominador==0){
   throw denominador;
  }else{
        x=(c*e-b*f)/denominador;
        y=(a*f-c*d)/denominador;
        cout<<"x= "<<x<<"  ,y="<<y<<endl;
  }
 }catch (float e){
  cout<<"el denominador no es valido"<<endl;
 }
 
  system("pause");
  return 0;  
}



4. Llenar un vector con números aleatorios
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>

#define TAM 6

int main()
{   system("color 4f");
    int vector[TAM];
    cout<<"\t[Vector]\n";
    try{
    for (int i=0; i<TAM; i++) {
        vector[i]=rand()*10;
    }
    if(vector==NULL){
      throw vector;
    }else{
     for (int i=0; i<TAM; i++) {
        cout<<"elemento no. "<<i+1<<" ,valor:"<<vector[i]<<endl;
      }
    }
    }catch(int e[TAM]){
      cout<<"el vector no se pudo llenar"<<endl;
    }
   

    system("pause");
    return 0;
}

5. Jugando con cadenas.
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <ctype.h> 
#include <string.h>
 
int main(){
  char cadena[9];
  system("color 1f");
  cout<<"Introduce cadena: "<<endl;
  cin>>cadena;
  for(int i=0;i<strlen(cadena);i++){
          cout<<" "<<cadena[i]<<endl;
  }
  cout<<"tamaño de la cadena: "<<strlen(cadena)<<endl;
  cout<<"cadena en minusculas: "<<strlwr(cadena)<<endl;
  cout<<"cadena en mayusculas: "<<strupr(cadena)<<endl;
  cout<<"cadena al reves: "<<strrev(cadena)<<endl;
  char otra[6];
  strlwr(cadena);
  strncat(otra," viaja a un lugar distante",45);
  strncat(cadena, otra, 45);
  puts (cadena);
  system("pause");
  return 0;    
}

Los código aquí mostrados no son muy complejos.


Links
https://es.wikipedia.org/wiki/C%2B%2B
http://codigoc.org/708-diferencias-entre-c-y-c

domingo, 23 de junio de 2013

Programando en Ruby ... no. 1

["¿Qué es Ruby?","Un poco de historia"]
Ruby es un lenguaje de programación orientado a objetos, muy parecido a Perl y Python.

El creador del lenguaje (Yukihiro  Matsumoto) pretendía hacer un lenguaje "parecido al lenguaje humano".

#este es un comentario
puts "¡Hola, mundo!"

Ruby posee un REPL, si usas una terminal (Windows MS-DOS, Linux) teclea  "irb". Puedes probar como funciona en esta página: http://tryruby.org/levels/1/challenges/0


irb(main):001:0>7+43
=>50
irb(main):002:0>"Codemonkey".reverse
=>yeknomedoC
Ejecutar: ruby programa.rb
1. Mostrar el abecedario
letras=('a'..'z')
for letra in letras
  puts "#{letra}"

end

2. Identificar sistema operativo y ejecutar comando
sistema=ENV['os']

def escribeComando()
  puts "Escribe comando: "
  comando = STDIN.gets.chomp()
  puts "comando a ejecutar: "+comando
  system(comando)
end

if sistema=="Windows_NT"
  puts "Windows"
  escribeComando()
else
  puts "Otro"
  escribeComando()
end

3. Uso  de "try-catch"
begin #try
p "Libro de Ann: "+mapa["Ann"]
p "Libro de Lucio: "+mapa["Lucio"]
rescue #catch
@error_message="#{$!}"
ensure #finally
puts "Fin..."
end

4.Paso de parámetros, mostrar en mayúsculas
ARGV.each do |arg|
  arg=arg.upcase
  puts "hola #{arg}"

end

Jai un lenguaje de programación inspirado en C++

Hoy hablaremos de un nuevo lenguaje de programación llamado Jai . Se trata de un lenguaje de programación que está desarrolland...

Etiquetas

Archivo del blog