CAPÍTULO PRIMERO:
Preliminares: {"Estos apuntes están orientados a usuarios con un poco de conocimiento, por dudas,consultas y solicitar la carpeta completa con todos los archivos pronta para copiar, pedirlas por correo duarteeduardo021@gmail.com, desde ya a sus órdenes!}
Debemos tener en cuenta: Cuando entramos en Terminal para ver que carpetas y archivos hay donde me encuentro escribo dir , para crear una carpeta mkdir Mis_videos y se crea la carpeta Mis_videos para entrar en ella cd Mis_videos dentro de ella copio archivos de videos del pendrive cp /media/LEXAR/videoUruguay.mpg /home/olpc/Mis_videos/ (aquí estoy copiando el video a la carpeta Mis_videos que está en el directorio /home/olpc/Mis_videos/, asi con los archivos que deseo queden en la maquina y que no se borren cuando limpio el diario.
Para borrar las carpetas que hice rmdir Mis_videos (si el directorio está vacío, si está lleno y quiero borrarlo con todo lo que tiene rm -r Mis_videos ) , para borrar un archivo individual rm canción.mp3.
Preliminares: {"Estos apuntes están orientados a usuarios con un poco de conocimiento, por dudas,consultas y solicitar la carpeta completa con todos los archivos pronta para copiar, pedirlas por correo duarteeduardo021@gmail.com, desde ya a sus órdenes!}
Debemos tener en cuenta: Cuando entramos en Terminal para ver que carpetas y archivos hay donde me encuentro escribo dir , para crear una carpeta mkdir Mis_videos y se crea la carpeta Mis_videos para entrar en ella cd Mis_videos dentro de ella copio archivos de videos del pendrive cp /media/LEXAR/videoUruguay.mpg /home/olpc/Mis_videos/ (aquí estoy copiando el video a la carpeta Mis_videos que está en el directorio /home/olpc/Mis_videos/, asi con los archivos que deseo queden en la maquina y que no se borren cuando limpio el diario.
Para borrar las carpetas que hice rmdir Mis_videos (si el directorio está vacío, si está lleno y quiero borrarlo con todo lo que tiene rm -r Mis_videos ) , para borrar un archivo individual rm canción.mp3.
PROGRAMACIÓN EN LENGUAJE PYTHON PARA XO:
1- PARA AQUELLOS QUE NUNCA PROGRAMARON ALGO (EN LA FORMA
“HAGALO USTED MISMO”) EN LA XO, APUNTAN ESTOS HUMILDES CONSEJOS:
a. La XO es una máquina que se comporta igual que el sistema operacional de disco
DOS de otros sistemas, trabajando en su ACTIVIDAD TERMINAL.
b. Los programas(escrituras en código Python) son archivos con extensión (.py)
los cuales al final se auto-conectan entre si haciendo una llamado al siguiente archivo con extención.py regresando siempre al menú de origen del programa, ya veremos un ejemplo completo.
los cuales al final se auto-conectan entre si haciendo una llamado al siguiente archivo con extención.py regresando siempre al menú de origen del programa, ya veremos un ejemplo completo.
c. Podemos crear una carpeta en bloc de notas de Windows o usando el editor que traer TERMINAL que se llama “nano”, tecleamos nano en TERMINAL y aparece un lindo editor(que debemos saber usar para poder escribir en él, el ESTUDIO es primordial si no estudiamos poco podremos hacer si queremos progresar!)
d. La carpeta le llamaremos Mi_base, en ella crearemos una base de datos que tendrá una forma que la inventamos, pero puede tener los campos de datos que se le pueda ocurrir a cualquier persona, sólo falta INVENTIVA personal.
e. Los archivos que pondremos serán:
menú.py (donde se detallan las acciones a realizar)
entrada.py (ingreso de datos a la base)
busca.py (búsqueda de datos por apellidos, etc)
muestra.py (muestreo en pantalla de lo que busco)
modi.py (Las modificaciones que se pueden realizar en este ejemplo)
prueba.dbf (es la base contenedora de datos)
ayudame.py ayudame1.py ayudame2.py ayudame3.py ayudame4.py ayudame5.py ayudame6.py ayudame7.py ayudame8.py ayudame9.py
ayudame10.py otros.py (son los archivos de ayudas varias, pueden varios)
menú.py (donde se detallan las acciones a realizar)
entrada.py (ingreso de datos a la base)
busca.py (búsqueda de datos por apellidos, etc)
muestra.py (muestreo en pantalla de lo que busco)
modi.py (Las modificaciones que se pueden realizar en este ejemplo)
prueba.dbf (es la base contenedora de datos)
ayudame.py ayudame1.py ayudame2.py ayudame3.py ayudame4.py ayudame5.py ayudame6.py ayudame7.py ayudame8.py ayudame9.py
ayudame10.py otros.py (son los archivos de ayudas varias, pueden varios)
f. La base de datos (base.dbf) la vamos a crear manualmente o con SQLITE que es otro programa que se maneja en Windows. En la base van los campos que son donde en forma de columnas depositaremos los datos que queramos que vallan en nuestra base (Ej.: DNI, NOMBRES, APELLIDOS, DIRECCIONES ETC.)
NOTA: Todos los archivos con extensión .py deben estar en una misma carpeta, en este caso las guardé en la xo en (home/olpc/mi_base (donde mi_base es la carpeta con todos los archivos: para copiar desde el pendrive escribir en Terminal: cp -R /media/pendrive/mi_base /home/olpc/ y dar enter se copia la carpeta completa a la xo desde el pendrive(poner el nombre del pendrive que aparece en la xo))
NOTA: Todos los archivos con extensión .py deben estar en una misma carpeta, en este caso las guardé en la xo en (home/olpc/mi_base (donde mi_base es la carpeta con todos los archivos: para copiar desde el pendrive escribir en Terminal: cp -R /media/pendrive/mi_base /home/olpc/ y dar enter se copia la carpeta completa a la xo desde el pendrive(poner el nombre del pendrive que aparece en la xo))
g. MANOS AL TRABAJO :(Se agregaron algunos archivos más, los explicaremos a medida que aparezcan ok!)
Es menu.py (Es el más importante por ser el director del programa)
#!/usr/bin/env python# -*- coding: utf-8 -*-
import os
os.system("clear")
print
print
print " UTILIDAD EDR Ver.0.1.10"
print " (De uso gratuito y libre modificacion) "
print " (Unico pedido comunicar al autor aquellos cambios y/o errores a corregir)"
print " - Gracias por utilizar este programa - "
print " duarteeduardo021@gmail.com)"
print " -------------------------------------------"
print " ESTA PANTALLA ES EL MENU DE LAS ACTIVIDADES "
print " ------------------------------------------- "
print
print " 1 - Ver datos "
print
print " 2 - Ingresar datos "
print
print " 3 - Buscar datos "
print
print " 4 - Modificaciones "
print
print " 5 - Ayudas "
print
print " 0 - Sale de esta utilidad "
print
print
ver=raw_input(" INGRESE EL NUMERO DE LA OPCION QUE DESEE => ")
if ver== str("1"):
execfile("muestra.py")
if ver==str("2"):
execfile("ingresa.py")
if ver==str("3"):
execfile("busca.py")
if ver==str("4"):
execfile("modi.py")
if ver==str("5"):
execfile("ayudame.py")
if ver==str("0"):
raw_input(" Pulse una tecla y termina la utilidad -[> ")
print "** GRACIAS POR USAR ESTA UTILIDAD duarteeduardo021@gmail.com ** "
if ver==str(""):
quit
ES ingresa.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import os
os.system("clear")
import sqlite3 as dbapi
bbdd = dbapi.connect("prueba.dbf")
cursor = bbdd.cursor()
print
print " -------------------------------------------- "
print " INGRESO DE DATOS AL SISTEMA "
print " -------------------------------------------- "
print
ingresa=raw_input("Ingresa realmente o quiere salir ? ")
if ingresa=="salir": raw_input("Pulse una tecla y sale") bbdd.close() execfile("menu.py")
else: print
print
bbdd.commit()
ci=raw_input (" Ingrese DNIC - > ")
curso=raw_input(" Ingrese año que cursa - > ")
nom1=raw_input (" Ingrese 1er.nombre -> ")
nom2=raw_input (" Ingrese 2do.nombre -> ")
ape1=raw_input (" Ingrese 1er.apellido -> ")
ape2=raw_input (" Ingrese 2do.apellido -> ")
dire=raw_input (" Ingrese Domicilio - > ")
cel=raw_input (" Ingrese Celular(si posee) - > ")
tel=raw_input (" Ingrese Telefono fijo(obligatorio) - > ")
personas=[ci, curso, nom1, nom2, ape1, ape2, dire, cel, tel]
cursor.execute("insert into alumnos (aci, aclase, anombres1, anombres2, apellidos1, apellidos2, direccion, tcel, telefono) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?)", personas)
bbdd.commit()
cursor.close()
print
print
raw_input(" Pulse enter regreso al menu")
execfile("menu.py")
Es modi.py (Aqui están las modificaciones a los datos de los campos de la base)
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import os
os.system("clear")
import sqlite3 as dbapi
bbdd = dbapi.connect("prueba.dbf")
cursor = bbdd.cursor()
print " Menu de Correcciones de datos de la base "
print "--------------------------------------------------- "
print
print " Listado de Datos para ver que se corrige "
print
print
bbdd.commit()
cursor.execute("select * from alumnos order by aci")
for tupla in cursor:
print tupla
print
print " 1 - Cambio de DNI "
print " 2 - Cambio de 1er.NOMBRE "
print " 3 - Cambio de 2do.NOMBRE"
print " 4 - Cambio de 1er.APELLIDO"
print " 5 - Cambio de 2do.APELLIDO"
print " 6 - Cambio de Domicilio"
print " 7 - Cambio de Celular"
print " 8 - Cambio de Telefono fijo"
print " 9 - Cambio de Año que cursa"
print "10 - Borra registros "
print
print " escriba -salir- y regresa al menu - Gracias "
print "******************************************************"
print
ver=raw_input("Ingrese el num de la opcion que cambia -> ")
if ver==str("1"):
execfile("ci.py")
if ver==str("2"):
execfile("1ernombre.py")
if ver==str("3"):
execfile("2donombre.py")
if ver==str("4"):
execfile("1erapellido.py")
if ver==str("5"):
execfile("2doapellido.py")
if ver==str("6"):
execfile("domicilio.py")
if ver==str("7"):
execfile("celular.py")
if ver==str("8"):
execfile("telfijo.py")
if ver==str("9"):
execfile("curso.py")
if ver==str("10"):
execfile("borrado.py")
if ver==str("0"):
op=raw_input(" escriba -salir- y termina la utilidad -[> ")
if op=="salir":
print
print "********* GRACIAS POR USAR ESTA UTILIDAD ****"
quit
else:
execfile("menu.py")
else:
execfile("menu.py")
Este es muestra.py (Aquí vemos lo que tiene la base de datos ingresado)
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import os
os.system("clear")
import sqlite3 as dbapi
bbdd = dbapi.connect("prueba.dbf")
cursor = bbdd.cursor()
print " Base de datos de la clase del liceo "
print " --------------------------------------- "
print
print
print " 1 - Muestreo de Datos "
print " **********************"
print
print "C.identidad - Nombre1 Nombre 2 - Apellido1 Apellido2 Direccion Tel Cel "
print "------------------------------------------------------------------------------------"
bbdd.commit()
cursor.execute("""select * from alumnos order by apellidos1""")
for tupla in cursor.fetchall():
print tupla
print
print
PULSE=raw_input (" PULSE UNA TECLA Y RETORNO AL MENU ")
execfile("menu.py")
Este es busca.py (El buscador de datos dentro de la base)
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import os
os.system("clear")
import sqlite3 as dbapi
bbdd = dbapi.connect("prueba.dbf")
cursor = bbdd.cursor()
print " BASE DE DATOS DE LA CLASE DEL LICEO "
print " --------------------------------------- "
print " Menu de busqueda de datos para corregir "
print " ***************************************"
print
print " 1 - Busca por apellidos "
print
print " 2 - Busca por nombres "
print
print " 3 - Busca por DNIC "
print
print " 4 - Por Curso "
print
bbdd.commit()
opcion=raw_input( " Elija una opcion de busqueda ! - > ")
if opcion==str(1):
ape=raw_input(" Que apellido busca ? ")
cursor.execute("""select * from alumnos where apellidos1=? """, (ape, ))
print " DNIC - CLASE - 1er.NOMBRE 2do.NOMBRE 1er.APELLIDO 2do.APELLIDO DIRECCION CELULAR TEL.FIJO "
print "--------------------------------------------------------------------------------------------------------------------------"
for tupla in cursor.fetchall():
print tupla
if opcion==str(2):
nom=raw_input(" Que nombre busca ? ")
cursor.execute("""select * from alumnos where anombres1=? """, (nom, ))
print " DNIC - CLASE - 1er.NOMBRE 2do.NOMBRE 1er.APELLIDO 2do.APELLIDO DIRECCION CELULAR TEL.FIJO "
print "--------------------------------------------------------------------------------------------------------------------------"
for tupla in cursor.fetchall():
print tupla
if opcion==str(3):
ci=raw_input(" Que DNIC busca ? ")
cursor.execute("""select * from alumnos where aci=? """, (ci, ))
print " DNIC - CLASE - 1er.NOMBRE 2do.NOMBRE 1er.APELLIDO 2do.APELLIDOS DIRECCION CELULAR TEL.FIJO "
print "--------------------------------------------------------------------------------------------------------------------------"
for tupla in cursor.fetchall():
print tupla
if opcion==str(4):
ci=raw_input(" Que Curso busca ? ")
cursor.execute("""select * from alumnos where aclase=? """, (ci, ))
print " DNIC - CLASE - 1er.NOMBRE 2do.NOMBRE 1er.APELLIDO 2do.APELLIDOS DIRECCION CELULAR TEL.FIJO "
print "--------------------------------------------------------------------------------------------------------------------------"
for tupla in cursor.fetchall():
print tupla
raw_input (" PULSE S Y RETORNO AL MENU ")
execfile("menu.py")
Este es borrado.py (Permite borrar un registro o registros completos)
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import os
os.system("clear")
import sqlite3 as dbapi
bbdd = dbapi.connect("prueba.dbf")
cursor = bbdd.cursor()
print
print " -------------------------------------------- "
print " BORRADO DE REGISTROS DE ALUMNO "
print " -------------------------------------------- "
print
print
bbdd.commit()
ci=raw_input("Ingrese DNI para localizar - > ")
mira=[ci]
cursor.execute("select * from alumnos where aci=(?)",mira)
for tupla in cursor:
print tupla
print
ciN=raw_input("Ingrese NUM.DNI a BORRAR -> ")
print " Ingresa este 1er.Apellido -> ",ciN
cambia=[ciN]
cursor.execute("delete from alumnos where aci=(?) ; ",cambia)
print " se ha borrado lo pedido "
bbdd.commit()
cursor.execute("select * from alumnos order by aci")
for tupla in cursor:
print tupla
bbdd.close()
Este es ci.py (Ingreso del DNI (Cédula de Identidad)
import sqlite3 as dbapi
bbdd = dbapi.connect("prueba.dbf")
cursor = bbdd.cursor()
print
print " -------------------------------------------- "
print " MODIFICO DNI DE ALUMNOS "
print " -------------------------------------------- "
print
print
bbdd.commit()
ci=raw_input("Ingrese la DNIC vieja a cambiar - > ")
mira=[ci]
cursor.execute("select * from alumnos where aci=(?)",mira)
for tupla in cursor:
print tupla
ciN=raw_input("Ingrese la DNIC nueva -> ")
print " Sale este DNI -> ",ci," Ingresa este DNI -> ",ciN
cambia=[ciN,ci]
cursor.execute("update alumnos set aci=(?) where aci=(?) ; ",cambia)
print " se ha modificado lo pedido "
bbdd.commit()
cursor.execute("select * from alumnos order by aci")
for tupla in cursor:
print tupla
bbdd.close()
print " PULSE UNA TECLA Y REGRESO AL MENU "
raw_input()
execfile("modi.py")
........
Continuará