Instalar e integrar PeaZip en debian con XFCE 4.10 y superior

PeaZip-3

Cuando instalas debian con Xfce, te encuentras con dos posibles caminos a la hora de manipular archivos comprimidos, uno es descomprimirlos con la linea de comandos (algo que asusta a los novatos) o bien usar algún gestor gráfico de fácil integración en el menú contextual (clic derecho); el asunto es que en Xfce disponemos tan solo de Xarchiver, el cual se encuentra un poco descontinuado y carece de ciertas opciones; a simple vista  File-roller (de Gnome) podrá parecer una opción más completa, sin embargo, lo malo de este último es la gran cantidad de dependencias que requiere para sus instalación, prácticamente medio Gnome.

Es por lo anterior que decidí hacer está guía, la cual nos permitirá usar PeaZip tal y como se hace en Windows, aclaro que el proceso es un poco largo y repetitivo así que les pido paciencia ante todo.

Primero instalaremos PeaZip, para ello vamos a descargar el .deb y procederemos a su instalación mediante el método que sea de su agrado, personalmente usaré gdebi.

Una vez instalado en el sistema procederemos a crear unos pequeños scripts que ejecuten las ordenes, para posteriormente ejecutarlos desde el menú contextual.

Paso 1:

script_captura

Creamos un carpeta de nombre .peazip_scripts dentro de nuestro /home/usuario (el  punto (.) antepuesto es para que no sea visible por defecto) y dentro de ella agregaremos, los scripts que les dejo a continuación.

El primero es para la acción extraer aquí, de modo que abrimos un editor de texto, en mi caso leafpad y pegamos esto, al terminar guardaremos y le daremos un nombre, el que ustedes prefieran, yo le pondré extraer_aqui.


#!/bin/sh
peazip -ext2here "$@"

La segunda acción será extraer en una nueva carpeta, el proceso es el mismo, tan sólo cambiaremos la linea correspondiente en el script y le daremos como nombre extraer_en


#!/bin/sh
peazip -ext2folder "$@"

scriptsYa para terminar, abrimos la terminal y le otorgamos permiso de ejecución a cada uno de los scripts, esto es con la siguiente instrucción


chmod +x nombre_del_script

Ahora que ya tenemos en la carpeta los dos scripts, procedemos a integrarlos en el menú contextual de thunar.

Paso 2:

Abrimos Thunar y vamos al menú de la ventana, Editar, Configurar acciones personalizadas
thunar_acc
En el recuadro posterior, daremos clic en agregar (+) y veremos algo como esto:
editar_accioEn nombre, colocaremos el distintivo peazip, seguido de la acción a ejecutar; mientras que en comando haremos clic en el icono de carpeta y buscaremos la ruta .peazip_scripts (si no les aparece presionen Ctrl + h) y seleccionaremos el script adecuado según la acción.

Tip: Si presionamos donde dice “sin icono”, nos saldrá un recuadro en el cual podremos escoger un icono de nuestra preferencia.

Terminado el proceso anterior, seleccionaremos la pestaña Condiciones de apariencia para que se nos despliegue esto:

editar_acc2En este recuadro deberemos seleccionar Otros archivos y escribir en el recuadro de texto, las extensiones de lo archivos comprimidos que deseamos, la sintaxis es así.

*.extesión_archivo; *.extensión_archivo2

Por ejemplo a mi me interesan que las acciones contextuales aparezcan para los punto Rar, Zip, 7zip, etc, entonces debo colocarlos en orden *.rar; *.zip; *.7zip

Una vez terminados esta configuración, le daremos clic al botón Aceptar y ya podremos probar la descompresión con el menú contextual.

Nota: Para la acción de comprimir escoge Otros archivos.

Nota: Repite el proceso para cada acción de compresión o descompresión.

Esto ha sido todo, si tienen algún comentario o sugerencia, no duden en comentar.
Un abrazo.

Anuncios

Tanglu Beta 2 está ahora disponible para descarga

tanglu-logoonlyAsí como lo leen, Tanglu, la muy esperada distribución Rolling Release basada en Debian, está disponible para su descarga; está versión llamada Tanglu Aequorea es aun una beta como dice el titulo y no se recomienda para su uso cotidiano y productivo.

Aun existen una serie de bugs importantes, para aquellos que deseen ir probándola pueden ir a los enlaces destinados para descarga, presentes en la nota de lanzamiento.

http://blog.tenstral.net/2014/01/tanglu-beta2-now-available.html

Feliz fin y principio de año para tod@s los linuxeros

wardogs_Happy_new_yearEsta entrada tiene como propósito, desearles un feliz fin y principio de año, espero que este nuevo 2014 que aun no ha nacido, los colme de éxitos en cuantas metas se propongan. Yo por mi parte, seguiré aquí como hasta ahora, publicando y aportando aquello que me parezca digno de compartir con ustedes.

Les agradezco a todos los que han visitado este humilde blog, a quienes han comentado y a quienes me siguen, es por ustedes que tengo fuerzas para seguir escribiendo (no tan bien, pero ahí vamos  jeje ;)).

Ahora a disfrutar, y ya saben, si se emborrachan no manejen, que somos pocos los linuxeros y no vale la pena morir en el asfalto.

Bendiciones, atentamente Cooper15.

Montando particiones NTFS en linux automáticamente

hdd

Una de las cosas más básicas que los nuevos usuarios se preguntan es cómo montar al inicio sus particiones de windows, ya sea para acceder a sus datos cómodamente o por simple curiosidad. Bien hoy veremos como realizar esta tarea tan simple y tan preguntada comúnmente por los novatos. Antes de seguir aclaro que este tutorial está hecho sobre debian, pero que sirve para cualquier distribución.

Paso número 1

Nos autenticamos  en una terminal como usuario root y creamos un directorio dentro de /media el cual será utilizado por el sistema, para montar nuestra partición cada vez que el sistema se inicie.

mkdir /media/datos_ntfs
Paso número 2

Identificamos cual es la partición que deseamos montar, esto es, la primer instrucción que aparece de la siguiente forma: /dev/sdaX, donde X es un número.

fdisk -l

fdiskpor ejemplo yo montaré /dev/sda2 así que copio esta “dirección” pues la ocuparemos más adelante.

Paso número 3

Editamos el fichero /etc/fstab, mismo que sirve para decirle al sistema cuales particiones deben ser montadas.

nano /etc/fstab
Paso número 4

Al final del archivo editamos  iremos  escribiendo la información  sobre el montaje siempre respetando el protocolo indicado. Ejemplo:

<file system>      <mount point>          <type>  <options>       <dump>  <pass>

/dev/sda2            /media/datos_ntfs    ntfs        defaults            0            0

Guardamos con Ctrl O y salimos del editor con Ctrl X.

Explicación:

Como podemos notar, en primer lugar colocamos la información obtenida en el Paso 2 y luego montamos la partición dentro del directorio /media/datos_ntfs y por  último colocamos el tipo de datos ntfs, el resto no lo tocamos.

Bien, una vez terminado el proceso anterior solo nos resta reiniciar y tendremos montada nuestra partición.

Muchas gracias por leer y espero que le sea útil a más de uno.

Guia Openbox parte 5

Instalando Slim

Lo cierto es que necesitamos un Login Manager para autenticarnos cada vez que deseemos iniciar sesión gráficamente con openbox, existen varias alternativas, pero siguiendo la idea de esta guía que es construir nuestra propia debian simple y libre de colesterol, procederemos a instalar y configurar Slim.

aptitude install -y slim

Reiniciamos nuestro equipo, con cb-exit (la cual ya deberíamos tener agregada en nuestro menú) y nos saldrá esto:

slim

Bueno llegados a este punto nos autenticamos como toda la vida y pasaremos a modificar algunas opciones de slim, para lo cual abrimos una terminal como superusuario.

Lo siguiente es escribir en dicha terminal

nano /etc/slim.conf

En dicho fichero buscaremos la siguiente linea:

#default_user     simone

La des-comentamos borrando el # y en vez de simone escribimos nuestro usuario, en mi caso seria cooper15

De igual forma bajamos a la siguiente linea la des-comentamos y colocamos yes

#focus_password no

Guardamos los cambios  con Ctrl + O (salimos con Ctrl + X) y lo anterior nos quedaría así:

slimconfCon todo esto se preguntarán ustedes pero.. ¿ Y eso para qué?

Así que les respondo, lo primero que hace es colocar automáticamente nuestro nombre de usuario, a fin de que no tengamos que escribirlo nosotros y la segunda linea permite que Slim se posicione en la contraseña para que simplemente la escribamos

Lo último que haremos en el archivo de configuración de Slim, será cambiar ese tema por uno un poco más pasable, para no complicarnos mucho usaremos uno que trae debian. Entonces nos vamos hasta el final del archivo y buscamos la linea que dice  current_theme y cambiamos el que tiene por otro llamado debian-joy, veamos la imagen que lo ilustra mejor.

slim_themey al reiniciar o cerrar sesión nos toparemos con esto:

slim_joyDa mejor aspecto ¿Verdad? bueno, si gustan bajar más temas para Slim son libres de hacerlo y pues ya saben como habilitarlos, eso si descompriman los nuevos temas en el directorio /usr/share/slim/themes ( necesitaran permisos de root).

Instalando iconos Faenza

Bien, ya tenemos un sistema funcional, pero no tenemos iconos decentes, así que lo siguiente que haremos será instalar los mundialmente famosos iconos Faenza.
Como aun no hemos instalado un navegador (será lo próximo) vamos a descargar los iconos desde la terminal de la siguiente forma:

wget http://faenza-icon-theme.googlecode.com/files/faenza-icon-theme_1.3.zip

instalamos p7zip y unzip

aptitude install unzip p7zip

Luego en orden ejecutaremos las siguientes instrucciones

mkdir faenza
mv *.zip -t faenza
cd faenza
unzip *.zip
tar -xzvf Faenza.tar.gz
su # escribes tu contraseña
mv Faenza -t /usr/share/icons

Instalando Iceweasel (firefox) o Chromium

 Si te gusta Firefox, entonces instalaremos Iceweasel.

aptitude install -y iceweasel

o si te Chrome entonces procedemos a instalar Chromium

aptitude install -y chromium-browser

Compresor y descompresor de archivos

Como podrán haber notado cuando descomprimimos el archivo de los iconos Faenza, lo hicimos utilizando la terminal y un comando, pues bien esto realmente no es muy práctico, así que nuestro siguiente trabajo será instalar un gestor de archivadores.

La elección simple será instalar xarchiver, también es posible instalar File-roller de Gnome, sin embargo la cantidad de dependencias que requiere, me parece francamente ridícula para una aplicación tan simple, en todo caso son libres de hacerlo si gustan.

aptitude install -y xarchiver

Gestor de redes

Siempre necesitaremos de una aplicación gráfica que gestione por nosotros las conexiones, para esto lastimosamente contamos con pocas opciones y si lo que tenemos es un equipo portátil y conexión wifi lo más conveniente será instalar Network-manager y Nework-manager-gnome.

aptitude install -y network-manager network-manager-gnome

Claro que al instalar network-manager-gnome, se instalaran muchas dependencias de este entorno, sin embargo en este caso es inevitable.

Ahora solamente puedo decir felicidades ya tienen una debian con openbox perfectamente funcional, de aquí en adelante los pequeños detalles quedan a gusto de ustedes, ya cuentan con las herramientas necesarias para personalizar su sistema y recuerden que el limite es su imaginación.

Esta ha sido la parte final de la Guía Openbox, ojalá les haya sido de ayuda, pueden comentar si así lo desean, sin más que decir me despido, un abrazo y que estén bien. Hasta la próxima!!!.

Aprende a configurar conky facilmente

conky_configuracion_tuto

Introducción

Existen en la red infinidad de publicaciones relacionadas con la personalización de conky y ahora mismo yo me dispongo a escribir otra, razones me sobran, pero he de admitir que todo conocimiento adquirido debe ser inmediatamente compartido para asimilarlo mejor y también para dejar un registro escrito.

Para aquellos que no saben que es conky, permítanme que les aclare. Conky es un monitor del sistema con el que podemos obtener información de diversa índole, por ejemplo, relacionada con el estado de los dispositivos y procesos  del sistema operativo GNU/Linux; su configuración se efectúa mediante la edición de un fichero, lo cual puede parecer difícil, pero la verdad no es nada complicado, tan solo  requiere un poco de atención y estudio.

Encabezado

Antes que nada abre un archivo en blanco y colócale el nombre .conkyrc guárdalo y comienza a configurar.

Como primer punto revisaremos un poco el “encabezado” de nuestro conky, en él se sitúan opciones tales como el tamaño y ancho de la venta, los intervalos de actualización de conky, las tipografías y otros elementos importantes que permiten la correcta visualización de nuestro monitor de sistema.

xftfont DejaVu Sans:size=8
xftalpha 0.8
text_buffer_size 2048

update_interval 1 # tiempo de actualización de la información

total_run_times 0
own_window no # significa que el conky no tendrá una ventana independiente
own_window_transparent yes
own_window_type normal # existen override, desktop. Para xfce uso normal
own_window_hints undecorate,sticky,skip_taskbar,skip_pager

double_buffer yes
minimum_size 1000 0 # Tamaño mínimo

stippled_borders 0
border_width 1 # distancia de las variables a los extremos del conky

default_color D9D4CC # color de fuente por defecto para el texto
## Posición del conky
#alignment top_left arriba izquierda
alignment  top_right #arriba derecha
#alignment bottom_left # abajo izquierda
#alignment bottom_right # abajo derecha

gap_x 750 #posicion en x de izquierda a derecha
gap_y 0   # posicion en y de arriba hacia abajo

no_buffers yes
uppercase no
cpu_avg_samples 1
net_avg_samples 1

override_utf8_locale yes
use_spacer none

font ubuntu:size=8:bold # tipografica, tamaño y tipo por defecto

Las opciones más importantes están comentadas pero repasemos un poco más. La opción “minimum_size” hace referencia al tamaño minimo establecido para el monitor conky y sus opciones.

Continuando “own_window” significa que el conky tendrá su propia ventana o no dependiendo de nuestra preferencia (cuando usamos composite lo ideal es colocar la opción en falso “no”).

La alineación nos coloca en alguna de las cuatro esquinas y a partir de ahí deberemos acomodar gap “x” y gap “y ” por ejemplo:

Al colocar  alignment top_left las variables gap x y gap y  valdrán cero para establecer la posición en la esquina superior izquierda y a partir de ahí si deseamos desplazar el conky más al centro, tendremos que aumentar gap x (depende de que tan ancho sea nuestro monitor)

Las opciones “default color” y “font” son para establecer el color y la tipografía por defecto que deseamos usar en nuestra configuración.

Este encabezado es perfectamente funcional y lo pueden usar en sus propias configuraciones si así lo desean.

El cuerpo del monitor: texto,variables y otros.

Nota: conviene que repasemos las opciones de conky antes de crear nuestra configuración, en el siguiente enlace encontrarás la información oficial de todos los parámetros.

http://conky.sourceforge.net/config_settings.html

Abajo del encabezado comienza el grueso de nuestra configuración, es decir todo aquella información que nosotros deseamos colocar en pantalla.

Lo primero es colocar la palabra “TEXT” en mayuscula y sin las comillas, esto significa que todo aquello que está debajo será mostrado por conky, incluyendo palabras ordinarias.

Las “palabras reservadas” de conky llevaran antepuesto un signo de dollar $  así por ejemplo para desplegar el total de memoria de nuestro sistema la sintaxis sería la siguiente:

$memmax

Para aquellas instrucciones compuestas o que consten de más de un parámetro, estas deberán ser encerradas entre llaves con el fin de que conky no confunda la información a mostrar, por ejemplo, si deseamos desplegar el tamaño de disco duro utilizado por nuestra partición home, con respecto al total asignado a dicha partición, la sintaxis debería ser la siguiente.

${fs_used /home} de ${fs_size /home}

Si no encerramos “fs_used /home” entre llaves conky colocara toda la información referente a las particiones del sistema, lo cual no conviene puesto que solo nos interesa conocer el estado de nuestra carpeta home.

Otro punto importante de aclarar es que para desplegar texto simple, no hace falta colocar el signo $ puesto que conky lo mostrará tal cual.

Si deseamos agregarle una tipografia y color al texto que no sea la establecida por defecto también usaremos opciones de conky, primero veremos como establecer una tipografía  distinta y cual es su sintaxis.

${font Sans:size=15:bold}Texto de prueba ${font}

Muy bien, lo anterior indica que a ese trozo de texto llamado Texto de prueba, le aplicaremos una tipografía Sans de tamaño 15 y en negrita, por otra parte se debe notar que al finalizar el texto escribimos ${font} de nuevo, esto es así porque solo queremos cambiar la tipografía a ese pequeño texto, si no colocaramos ese delimitador todo lo que este abajo sería afectado por la configuración del primer ${font …. } .

Tip: existen tipografías de solo iconos o logotipos en los que cada letra representa una ilustración, dichas fuentes son de utilidad para darle mejor apariencia a nuestro conky así que prueba instalando alguna y agrégala a tu configuración.

Acomodando variables y texto

Lo cierto es que una de las formas más fáciles de crear una configuración de conky es ir colocando las opciones hacia abajo, de modo que al final nos quede una columna con nuestros datos, sin embargo  mucha gente prefiere colocar dichas opciones de manera horizontal y para ello es práctico hacer uso de dos instrucciones que veremos en seguida.

Voffset

Voffset es la primer instrucción para acomodar texto y variables en conky, ella nos permite establecer la posición de cualquier texto en el eje de las ordenadas o eje Y, a partir de la posición  en la cual colocamos nuestra palabra. Ilustremos un poco.


${voffset 1} texto1${voffset -12}texto2

Lo anterior hará que nuestros dos textos estén exactamente en la misma posición Y, aunque esto parezca difícil de notar a simple vista bastará ejecutar dichas instrucciones para darnos cuenta, esto es aparentemente inútil, puesto que nadie en su sano juicio colocaría un trozo de información encima de otra, sin embargo si pudiésemos mover un poco hacía la derecha el texto2, quedaría perfectamente alineado con el texto1 y además lograríamos nuestro cometido colocando información horizontalmente, así que para eso tenemos nuestra siguiente instrucción.

Offset

Retomando lo anterior, es posible acomodar el texto a nuestro gusto en el eje de las abscisas o eje x, de modo que la información se muestre como una linea continua y perfectamente alineada en Y gracias a voffset. por otra parte offset también depende de la posición en la que está situado el dato a la hora de acomodarlo. Para ilustrar:


${voffset 1} texto1
${voffset -12}${offset 160}texto2

Hará que el texto2 se mueva 160 pixeles en linea horizontal, con lo cual quedará exactamente a la par del texto1, si deseáramos agregar un tercer texto, repetiríamos la operación y luego desplazaríamos un número adecuado de pixeles en el eje X.

Resumiendo, si colocamos en nuestra conkyrc algo como esto:

voffset_offset_conkyrcObtendremos en nuestro conky lo siguiente:

voffset_offset_conky

Ejecutar un comando del sistema

Si lo que necesitamos es desplegar información referente al sistema, ya sea mediante un comando o un script, podemos hacer uso de la instrucción “exec”. A continuación un ejemplo de como mostrar la fecha.

${exec date +'%e de  %B de %Y'}

Conky mostrará esto:

fecha_conky

Conclusión

Bueno esto ha sido un poco de lo básico, no me puedo meter con la configuración como tal, porque eso depende de los gustos de cada quién, sin embargo, espero que este pequeño tutorial sea de ayuda para aprender los conceptos fundamentales de la configuración de conky y así el lector se sienta más cómodo y pueda realizar configuraciones más complejas.

Referencias

http://crunchbanglinux.org/wiki/conky

http://conky.sourceforge.net/variables.html

Conky (transparente) en KDE sin usar Feh

conky_kde

Como indica el titulo, la idea es hacer conky transparente sin necesidad de usar el programa Feh, la razón para no usar este método es que se vuelve sumamente engorroso tener que editar nuestra configuración de conky cada vez que cambiamos nuestro fondo de pantalla.

Ahora bien esto es bien corto y solo requerimos abrir nuestra configuración conkyrc  con nuestro editor preferido (yo usaré Geany) buscar el apartado que contiene las especificaciones de la ventana en conky y agregar las lineas correspondientes.

Lineas para agregar al conky:

own_window_class Conky
own_window yes
own_window_type dock
own_window_argb_visual yes
own_window_argb_value 180
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

Construye tu propia distribución linux con Porteus Wizard

porteus-logo

Para los que no  la conozcan Porteus es una distribución basada en Slackware y optimizada para ser ejecutada en modo live. Algunos pensarán algo así como Knoppix? sí la idea es la misma, solo que por defecto Porteus guarda todos los cambios que realicemos en una sesión como si se tratase de una distribución instalada en nuestro disco duro.

Pero tiene otras ventajas, tales como poder instalar paquetes de otras distribuciones derivadas como salix e inclusive debian(este  último no me funcionó muy bien) así como también de slackware y obviamente sus propios paquetes.

Ahora que sabemos un poco más vamos al asunto que le da nombre a esta entrada y es que los desarrolladores de esta interesante distribución han puesto a disposición de cualquiera que tenga interés, una herramienta que permite realizar nuestra propia Porteus con los programas que creamos convenientes y con ciertas pautas de configuración a nuestro parecer.

Entre las opciones más interesantes tenemos:

  1. Escoger la arquitectura (32 o 64 bits)
  2. Entorno de escritorio (RazorQt,Lxde,Xfce,Gnome,Kde)
  3. Zona horaria y distribución de teclado
  4. Controladores de tarjeta de video (Ati, Nvidia)
  5. Soporte para impresoras y suite ofimática.

Posteriormente podremos descargar nuestra iso resultante, cabe destacar que herramientas de este tipo no son nuevas, por ejemplo opensuse ofrece una experiencia similar y quizás un poquito más completa, sin embargo creo que la magia de Porteus está en su portabilidad.

Sin más les dejo el link de Porteus Wizard y también su página oficial:

Porteus Wizard: –> http://build.porteus.org/

Página Oficial: –> http://www.porteus.org/

Introducción a la programación en C++ linux Codeblocks

Selección_014

Esta es tan solo una entrada de complemento para el post Introducción a la programación en C++ linux   y tiene como función implementar el código expuesto, dentro de nuestro IDE Codeblocks.

Se supone que para este punto ya tienes que haber descargado codeblocks, sino es así descárgalo del siguiente enlace:

http://www.codeblocks.org/downloads/26

Ahora abriremos el IDE y empezaremos.

Code::Blocks 12.11_007como pueden ver en la imagen nos vamos al menú File-New-File  y nos saldrá un cuadro pidiendo el tipo de archivo que deseamos, para nuestro caso usaremos un archivo en blanco o empy file.

Code::Blocks 12.11_008Luego viene el siguiente recuadro, el cual nos pedirá el nombre del directorio en donde guardaremos nuestro programa.

Empty file_009Hacemos clic en el cuadrito  “..” y nos saldrá.

Select filename_010En esta ventana como ven escogemos el directorio y le colocamos un nombre  a nuestro programa, en este caso mi_primer_programa.cpp, ojo que la terminación .cpp es muy importante escribirla, luego guardamos y regresamos al recuadro anterior.

Empty file_011Finalizamos y se nos mostrará el editor de texto en blanco, en el cual pegaremos el código de la entrada anterior.

mi_primer_programa.cpp - Code::Blocks 12.11_012Una vez copiado el código, compilaremos, haciendo uso de los botones correspondientes, fíjate en la imagen de arriba. Entonces le damos clic al botón 1 y luego al botón 2.

-home-cooper15-programas-C++-mi_primer_programa_013

Por último veremos nuestro programa ejecutado y eso es todo.

Cualquier duda que tengan no duden en comentar…

Introducción a la programación en C++ linux (también sirve en windows)

source_c++

Algunas observaciones:

C++ es un lenguaje de alto nivel y base fundamental de sistemas operativos y también de poderosos toolkits para componentes gráficos, como por ejemplo QT.  C++ es un lenguaje que lógicamente puede ser ejecutado tanto en windows como en linux sin que haya ningún problema (siempre y cuando se usen las librerías propias del lenguaje).

Código fuente:

El código fuente lo conforman el conjunto de instrucciones escritas por el programador  en un fichero de texto, a su vez estas instrucciones serán ejecutadas al pie de la letra por el programa resultante.

IDEs y Compiladores:

Dicho en palabras sencillas, un compilador es un programa o aplicación que traduce el código fuente escrito por el programador a un lenguaje que la máquina entienda y pueda ejecutar, posterior a su compilación el programa podrá ser ejecutado si no existen errores sintácticos dentro del código fuente, ejemplos: g++(compilador libre y actualizado), borland compiler (privativo y no actualizado).

Un IDE, Entorno  de Desarrollo Integrado, es como su nombre lo indica, una aplicación cuya función primordial es la proveer al programador de todas las herramientas necesarias para su trabajo en un solo ambiente, en otras palabras, es lo mismo que colocar las herramientas independientes en un mismo lugar, facilitando así la tarea del programador. Algunos componentes del IDE son depurador,compilador,editor de texto (donde se escribe el código fuente), ejemplos: dev c++,codeblocks, codelite, netbeans, eclipse.

Codeblocks:

Codeblocks es un IDE el cual cuenta a su vez con el compilador libre  g++ que a su vez forma parte del conjunto de compiladores GNU, codeblocks nos facilita la programación de nuestras aplicaciones en c++, además es multi plataforma por lo que existen versiones tanto para Windows como para Linux, este es el IDE que recomiendo para los ejemplos y lo pueden descargar del siguiente enlace:

http://www.codeblocks.org/downloads/26

A programar, pero antes…

Es importante para garantizar la portabilidad de aplicaciones entre windows y linux seguir algunas de las siguientes recomendaciones:

  1. En la medida de lo posible no utilizar bibliotecas propietarias o exclusivas del compilador, tales como conio.h y cualquier otra que no forme parte del standard C++.
  2. Siempre usar un compilador actualizado con las ultimas modificaciones del standard C++.
  3. Evitar el uso de código deprecated u obsoleto, por ejemplo evitar la función gets.
  4. Tener cuidado con las llamadas al sistema por ejemplo: para limpiar pantalla en windows es system(“CLS”); mientras que en linux es system(“clear”);
  5. Siempre usar la documentación oficial para c++ o en su defecto libros y manuales actualizados, no anteriores al año 2000.

Manos a la obra:

Un primo me pidió que le ayudara con una tarea y pues la mejor forma es explicar paso a paso, además le puede ser útil a mucha mas gente, así que empecemos por plantear el problema:

Problema:

El problema consiste en escribir un programa que reciba mediante el teclado dos números, que a su vez serán enviados a una función, la cual los sumará y retornará el resultado.

Parte por parte:

primero veamos algo sencillo


#include<iostream>

using std::cout;
using std::cin;
using std::endl;

int main ()
{
    int primerNumero, segundoNumero;

      cout<<"digite el primer numero"<<endl;
         cin>>primerNumero;
      cout<<"digite el segundo numero"<<endl;
         cin>>segundoNumero;

     cout <<"primer numero es: "<<primerNumero<<endl;
     cout<<"segundo numero es:"<<segundoNumero<<endl;

    return 0; // siempre devuelve 0
}

Ahora repasemos linea por linea lo que significa esto. En primer lugar tenemos la cabecera o biblioteca que necesitamos incluir dentro de nuestro programa, en este caso, #include<iostream> significa incluya la biblioteca iostream de entrada y salida, la cual nos permitirá la entrada de valores por parte del usuario y su correspondiente salida por la pantalla.

Seguimos con la instrucción using la cual como su nombre lo indica le dice a nuestro programa, que use la instrucción cout,cin y endl, que están dentro del espacio de nombre std y que a su vez pertenecen a la biblioteca iostream, con lo cual se nos permitirá su uso. si se desea ampliar un poco más sobre este punto puede buscar en manuales de c++.

cout:

permite desplegar en pantalla el valor dentro de una variable o un texto entre comillas indicado por el programador, la sintaxis de uso es la siguiente:

cout<<"texto"<<valorDeVariable;

es importante recalcar que después de cada valor desplegado deben ir los siguientes caracteres << a no ser que ya no se desee incluir nada más y se termina la instrucción con un punto y coma.

endl:

endl es una instrucción sencilla que nos permite mantener la legibilidad y estética de las salidas de texto, su función es simplemente decirle al programa se acabo la linea, la próxima vez que escriba empezará en una nueva. Ejemplo sin endl:

cout<<"texto1";
cout<<"texto2";

lo anterior hará que la salida en pantalla luzca así:

texto1texto2

Ahora un ejemplo con endl:

cout<<"texto1"<<endl;
cout<<"texto2"<<endl;

y obtendríamos una salida así:

texto1
texto2

cin:

Por último la instrucción cin,  nos permite introducir valores por teclado dentro de nuestro programa, cin es particularmente usada para introducir valores numéricos y no cadenas de caracteres como por ejemplo un nombre completo. Ejemplo:

cin>>variable;

su uso es simple, nada más escribimos cin seguida de los caracteres >> y el nombre de la variable que deseamos llenar con un valor del teclado.

Función main:

Es prácticamente una función que siempre debe ir en nuestro programa lo ideal es declararla como entera anteponiéndole el identificador int, ya que al final del main retornara un valor 0, lo ideal es que main no este muy recargada y generalmente se usa para llamar a otras funciones declaradas por el programador.Su sintaxis es la siguiente:

int main()
{
   aquí va el código...
   ....
   ....
   return 0;
}

Funciones declaradas por el programador:

Una función es simplemente una porción de código  dedicada a realizar alguna tarea especifica o subrutina que se repite más de una vez en nuestro programa, son ideales para dividir una gran tarea en otras más pequeñas, de modo que simplifica el trabajo.

Las funciones pueden ser de distintos tipos y devolver algún valor por ejemplo, int,double, char, float, etc; o también pueden no retornar un simple valor, en cuyo caso el identificador usado será void.

A las funciones también se les pasan argumentos, a los cuales se les llama parámetros, estos van incluidos dentro del paréntesis respectivo de la función a la que se le envían.

Ejemplo función que retorna un valor

  int funcion(int a, int b)
  {
     int c=a +b;
     return(c);
  }

como vemos esta función recibe el valor de dos parámetros y los coloca dentro de a y b, luego suma estos números y posteriormente retorna el valor resultante.

dentro del main la llamada a esta función ocupa ser igualada a una variable del mismo tipo en este caso int (entera) para poder “almacenar” el valor que le fue enviado desde la función y además se le pasan los números correspondientes. Quedaría así:

int resultado = funcion (primerNumero,segundoNumero);

El ejemplo propuesto:

Retomando el problema principal, ahora que hemos aclarado las partes del programa podemos pasar al problema que propuse, de modo que el código quedaría así:

#include<iostream>

using std::cin;
using std::cout;
using std::endl;

int llamada (int x, int y)

{

    int suma; // variable local resuldato suma
    suma = x+y;

    return (suma); // envia suma que será igualada a resultado en main

}

int main ()
{

    cout << "vamos a llamar a la funcion" <<endl;

    // crea dos variables para pasarle los parametros

    int numero1,numero2;

    cout<<"Digite primer numero"<<endl;
      cin>>numero1;                     // se inserta desde el teclado el primer numero.

    cout<<"Digite segundo numero"<<endl;
      cin>>numero2;

    int resultado = llamada(numero1,numero2); // envia parametros para sumar y recibe el resultado.
    cout << "resultado es: "<<resultado<<endl;
    return (0);

}

Bien, a grandes rasgos el programa ya ha sido evaluado casi en su totalidad, pero no está de más recalcar los puntos.

En primer lugar la función llamada se encarga de sumar los dos números que le suministramos y que fueron ingresados mediantes las instrucciones cin en sus variables respectivas, posteriormente la función llamada suma esos valores y los retorna, de modo que se almacena en resultado y por último se despliega dicha suma con un cout.

Implementación en codeblocks:

Implementación del código en Codeblocks

Fuentes:

Documentación oficial c++:
http://www.cplusplus.com/

C con clase(apartado de funciones):
http://c.conclase.net/curso/?cap=015