La lealtad es una virtud que se desarrolla en la conciencia y que implica cumplir con un compromiso aĂºn frente a circunstancias cambiantes o adversas. Se trata de uno obligaciĂ³n que uno tiene con el prĂ³jimo. Por ejemplo: “El ayudante tĂ©cnico mostrĂ³ su lealtad al entrenador despedido y dejĂ³ su cargo”... (tomado del web). Para todos aquellos que se han olvidado del concepto bĂ¡sico del ser humano...
sĂ¡bado, 24 de diciembre de 2011
miércoles, 14 de diciembre de 2011
Python + pyExcelerator + Formula: SUM, AVERAGE
Les dejo el cĂ³digo para la generaciĂ³n de un xls desde python puro, estĂ¡ probado desde shell y con el framework turbogears:
"""
El xls generado es un listado de "estudiantes", que permite tener columnas listas para ingresar
datos adicionales (sus notas parciales por ejemplo); ademĂ¡s de tener celdas listas con la fĂ³rmula de suma y promedio general de los datos generados...
"""
from pyExcelerator import *
workbook = Workbook()
worksheet = workbook.add_sheet("mi primera hoja")
d = {0:"A",1:"B",2:"C",3:"D",4:"E",5:"F",6:"G",7:"H",8:"I"}
#listado = [("","","")] tuplas de 3 elementos en este caso
for j in range(0,len(listado)):
worksheet.write(j+11,1,j+1)
worksheet.write(j+11,2, listado[j][1].upper())
worksheet.write(j+11,3,listado[j][2])
worksheet.write(j+11,4,' ')
worksheet.write(j+11,5,' ')
worksheet.write(j+11,6,' ')
worksheet.write(j+11,7,' ')
texto_formula = "SUM(%s%s;%s%s;%s%s;%s%s)"%(d[4],j+12,d[5],j+12,d[6],j+12,d[7],j+12) #para suma de columnas
worksheet.write(j+11,8,Formula(texto_formula))
texto_media_aritmetica = "AVERAGE($%s$%s:$%s$%s)"%(d[8],12,d[8],j+12) #para sacar el promedio
worksheet.write(j+11+3,8,Formula(texto_media_aritmetica))
workbook.save('archivo.xls') #se guarda el archivo donde se desee
"""
El xls generado es un listado de "estudiantes", que permite tener columnas listas para ingresar
datos adicionales (sus notas parciales por ejemplo); ademĂ¡s de tener celdas listas con la fĂ³rmula de suma y promedio general de los datos generados...
"""
from pyExcelerator import *
workbook = Workbook()
worksheet = workbook.add_sheet("mi primera hoja")
d = {0:"A",1:"B",2:"C",3:"D",4:"E",5:"F",6:"G",7:"H",8:"I"}
#listado = [("","","")] tuplas de 3 elementos en este caso
for j in range(0,len(listado)):
worksheet.write(j+11,1,j+1)
worksheet.write(j+11,2, listado[j][1].upper())
worksheet.write(j+11,3,listado[j][2])
worksheet.write(j+11,4,' ')
worksheet.write(j+11,5,' ')
worksheet.write(j+11,6,' ')
worksheet.write(j+11,7,' ')
texto_formula = "SUM(%s%s;%s%s;%s%s;%s%s)"%(d[4],j+12,d[5],j+12,d[6],j+12,d[7],j+12) #para suma de columnas
worksheet.write(j+11,8,Formula(texto_formula))
texto_media_aritmetica = "AVERAGE($%s$%s:$%s$%s)"%(d[8],12,d[8],j+12) #para sacar el promedio
worksheet.write(j+11+3,8,Formula(texto_media_aritmetica))
workbook.save('archivo.xls') #se guarda el archivo donde se desee
domingo, 4 de diciembre de 2011
InvitaciĂ³n - Grupo python-ecuador
Ya han pasado algunos dĂas desde que se creĂ³ el grupo python-ecuador, esperamos que programadores ecuatorianos se unan, para poder debatir y compartir experiencias del uso del lenguaje en proyectos pequeños y grandes en nuestro paĂs.
A la fecha existen 6 miembros, pero esperamos que en el transcurso de las prĂ³ximas horas, se pueda tener mĂ¡s participantes.
Python-ecuador, debe convertirse en el grupo de programaciĂ³n que estĂ© a la vanguardia.
Les dejo el enlance [python-ecuador]
Les dejo el enlance [python-ecuador]
lunes, 14 de noviembre de 2011
sĂ¡bado, 25 de junio de 2011
JQUERY. Uso de funciĂ³n .get de la forma $.get(URL, datos, funcion, tipo_dato_respuesta)
InformaciĂ³n tomada de :
- http://www.desarrolloweb.com/articulos/funcion-get-jquery-ajax.html
- http://api.jquery.com/jQuery.get/
El Ejemplo desarrollado es de la forma $.get(URL, datos, funcion, tipo_dato_respuesta); donde el tipo_de_dato es el tipo que se espera recibir como respuesta del servidor. Lo tĂpico es que del servidor nos llegue un cĂ³digo HTML, pero tambiĂ©n podrĂa ser un XML, un script o un JSON.
Ejemplo:
dos.html
<html>
<head>
<title>REROES - Ajax Simple</title>
<script src="jquery-1.6.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
$("#verificardatos").click(function(){
var nombres = $("#caja_nombre").val();
var apellidos = $("#caja_apellido").val();
var cedula = $("#caja_cedula").val();
var edad = $("#caja_edad").val();
$.get("recibe-parametros-devuelve-json.php", {nombres: nombres, apellidos: apellidos, cedula:cedula , edad:edad}, muestraInformacion, "json");
})
function muestraInformacion(respuesta){
$("#base").html("<h2>Datos Obtenidos</h2>");
$("#base").append($('<br/><span class="clienteext">'+respuesta.nombres+' '+respuesta.apellidos+' con cedula '+ respuesta.cedula+'</span>'));
if (respuesta.tipo == "me"){
$("#base").css("background-color", "#blue");
$("#base").append($('<br/><h3 class="clienteext"> Edad :'+respuesta.edad+' menor de edad</h3>'));
}else{
$("#base").css("background-color", "#red");
$("#base").append($('<br/><h3 class="clienteext"> Edad :'+respuesta.edad+' mayor de edad</h3>'));
}
}
})
</script>
</head>
<body>
<h3>Segunda prueba de Ajax con JQUERY:</h3>
<div>
Cedula: <input type="text" id="caja_cedula" name="fcedula" /><br />
Nombres: <input type="text" id="caja_nombre" name="fname" /><br />
Apellidos: <input type="text" id="caja_apellido" name="lname" /><br />
Edad: <input type="text" id="caja_edad" name="fedad" /><br />
<button id="verificardatos">verificar datos</button>
<br/>
</div>
<br>
<div id="base"></div>
</body>
</html>
recibe-parametros-devuelve-json.php
if ((int)$_GET["edad"]<18){
echo json_encode(array("nombres"=>$_GET["nombres"], "apellidos"=>$_GET["apellidos"], "cedula"=>$_GET["cedula"], "tipo"=>"me", "edad"=>$_GET["edad"]));
}else{
echo json_encode(array("nombres"=>$_GET["nombres"], "apellidos"=>$_GET["apellidos"], "cedula"=>$_GET["cedula"], "tipo"=>"ma", "edad"=>$_GET["edad"]));
}
?>
JQUERY. Uso de funciĂ³n .load()
InformaciĂ³n tomada de:
SEGUNDO ARCHIVO: contenido-ajax.html
- http://api.jquery.com/load
- http://www.desarrolloweb.com/articulos/uso-ajax-jquery.html
- http://www.webintenta.com/Ajax-con-jQuery-el-metodo-load.html
Load data from the server and place the returned HTML into the matched element.
Ejemplo:
PRIMER ARCHIVO: uno.html
<html>
<head>
<title>Ajax Simple</title>
<script src="jquery-1.6.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
$("#enlaceajax").click(function(evento){
evento.preventDefault();
$("#destino").load("contenido-ajax.html");
});
$("#enlaceajaxdatos").click(function(evento){
evento.preventDefault();
var nombres = $("#caja_nombre").val();
var apellidos = $("#caja_apellido").val();
var cedula = $("#caja_cedula").val();
$("#destino").load("recibe-parametros.php", {cedula: cedula ,nombres: nombres, apellidos: apellidos}, function(){
//alert("recibidos los datos por ajax");
});
});
})
</script>
</head>
<body>
<h3>Mi primer prueba de Ajax con Javascript</h3>
<div>
Cedula: <input type="text" id="caja_cedula" name="fcedula" /><br />
Nombres: <input type="text" id="caja_nombre" name="fname" /><br />
Apellidos: <input type="text" id="caja_apellido" name="lname" /><br />
</div>
<div>
[<a href="#" id="enlaceajax">Haz clic!</a>]
[<a href="#" id="enlaceajaxdatos">Haz clic con parametros!</a>]
</div>
<br>
<div id="destino"></div>
</body>
</html>
SEGUNDO ARCHIVO: contenido-ajax.html
<h2>
LLevando algo...
Contenido que debe mostrarse en la pagina solicitada
</h2>
TERCER ARCHIVO: recibe-parametros.php
Recibido los datos desde el html:
<br>
Nombre: <?php echo $_POST["nombres"];?>
<br>
Apellidos: <?php echo $_POST["apellidos"];?>
<br>
Cedula: <?php echo $_POST["cedula"];?>
sĂ¡bado, 26 de marzo de 2011
jueves, 27 de enero de 2011
jueves, 6 de enero de 2011
Tweets perdidos! tweets encontrados!!
Ya habĂan pasado algunos dĂas, cuando ingrese a mi cuenta en twitter y me encontrĂ© con la sorpresa que mi mensajes habĂan desaparecido en el 90%.
Luego de algunas bĂºsquedas mediante #twitter, lleguĂ© a encontrar la cuenta @ayuda y luego de algunos dias, los mensajes regresaron:
Proceso:
1.- Seguir (follow) la cuenta @ayuda
2.- Enviar un mensaje de la siguiente manera:
"d [aqui debe ir el texto, identificando el problema y el nĂºmero de tweets perdidos ]"
3.- Esperar una respuesta ( en mi caso fue de 30 minutos, y todos volviĂ³ a la normalidad)
Nota: mas informaciĂ³n en http://support.twitter.com/entries/192961-desaparecion-tus-tweets .
Luego de algunas bĂºsquedas mediante #twitter, lleguĂ© a encontrar la cuenta @ayuda y luego de algunos dias, los mensajes regresaron:
Proceso:
1.- Seguir (follow) la cuenta @ayuda
2.- Enviar un mensaje de la siguiente manera:
"d [aqui debe ir el texto, identificando el problema y el nĂºmero de tweets perdidos ]"
3.- Esperar una respuesta ( en mi caso fue de 30 minutos, y todos volviĂ³ a la normalidad)
Nota: mas informaciĂ³n en http://support.twitter.com/entries/192961-desaparecion-tus-tweets .
lunes, 3 de enero de 2011
MOODLE:Desarrollo de bloques
En la pĂ¡gina oficial del moodle http://docs.moodle.org, en la secciĂ³n desarrolladores, encontre algo sobre de Desarrollo de bloques..
Lo acabo de probar en mi servidor personal y realmente muy bueno y explicativo la guĂa..
"Una guĂa paso-a-paso para crear bloques
ResĂºmen
El presente documento sirve como guĂa a los desarrolladores que quieren crear sus propios bloques para usar en Moodle. Aplica solamente a la versiĂ³n en desarrollo 1.5 de Moodle (y cualquiera mĂ¡s reciente), ya que el subsistema de bloques fue re-escrito y expandido. Sin embargo, tambiĂ©n la puedes encontrar Ăºtil si quieres modificar los bloques escritos para Moodle 1.3 o 1.4 de modo que funcionen con las Ăºltimas versiones.
La guĂa estĂ¡ escrita como un curso interactivo el cuĂ¡l apunta al desarrollo de un bloque configurable, multipropĂ³sito que despliega HTML arbitrario. EstĂ¡ dirigida principalmente a personas con poca experiencia con Moodle o en programaciĂ³n en general y pretende mostrar que tan fĂ¡cil es crear nuevos bloques para Moodle. A pesar de esto se requieren unos conocimientos bĂ¡sicos en programaciĂ³n PHP ..."
GuĂa completa en Desarrollo de Bloques
sĂ¡bado, 1 de enero de 2011
Feliz 2011 a todos
Siendo las 19 horas del 1 de enero de 2011...
Quiero expresar un cordial saludo a todos, espero que el año nuevo en el que nos encontramos, se lleno de
alegrĂas y buenas acciones, en el Ă¡mbito personal y profesional.
Recordemos que habrĂ¡n momentos muy duros. pero es justamente en ese momento donde la fortaleza, la rebeldĂa y el deseo de mejorar debe salir a flote.
La unidad serĂ¡ nuestra mayor aleada para combatir a los que quieren doblegarnos.. nuestras ideas nunca las vencerĂ¡n, somos de eso jĂ³venes rebeldes que no nos doblegamos ante nada.. y sepan que siempre estaremos unidos esperando con ideas las largas batallas que se nos avecinan
FELIZ AĂ‘O 2001 AMIGOS..
Gracias a todos por sus consejos y palabras de aliento en los momentos duros de la vida y en los momentos dulces de esta vida.. corta... que hay que vivirla con tranquilidad pero con una rebeldĂa que dĂa a dĂa la reforzamos.
Un saludo compañeros!!!
Quiero expresar un cordial saludo a todos, espero que el año nuevo en el que nos encontramos, se lleno de
alegrĂas y buenas acciones, en el Ă¡mbito personal y profesional.
Recordemos que habrĂ¡n momentos muy duros. pero es justamente en ese momento donde la fortaleza, la rebeldĂa y el deseo de mejorar debe salir a flote.
La unidad serĂ¡ nuestra mayor aleada para combatir a los que quieren doblegarnos.. nuestras ideas nunca las vencerĂ¡n, somos de eso jĂ³venes rebeldes que no nos doblegamos ante nada.. y sepan que siempre estaremos unidos esperando con ideas las largas batallas que se nos avecinan
FELIZ AĂ‘O 2001 AMIGOS..
Gracias a todos por sus consejos y palabras de aliento en los momentos duros de la vida y en los momentos dulces de esta vida.. corta... que hay que vivirla con tranquilidad pero con una rebeldĂa que dĂa a dĂa la reforzamos.
Un saludo compañeros!!!
Suscribirse a:
Entradas (Atom)
Con la tecnologĂa de Blogger.
Lema
El mejor hĂ¡bito.... la lectura..