Mostrando entradas con la etiqueta programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta programación. Mostrar todas las entradas

1 de julio de 2014

Programación ANDROID: Capturar y formatear fecha y hora


Para capturar la hora y fecha del sistema Android y formatearla se puede hacer en MainActivity.java con el siguiente código java:


...
         long date = System.currentTimeMillis(); 
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss yyyy/MM/d");
        String dateString = sdf.format(date);

...

y ya tenemos la hora y fecha formateada como string.

y lo podemos usar en un TextView previamente definido:

...
              tvFECHA.setText("DatWIF: " + dateString);
...

apareciendo como 15:45:01 2014/06/13

Ref.:
http://developer.android.com/reference/java/text/SimpleDateFormat.html




26 de junio de 2014

Programación ANDROID: Bloquear apagado de pantalla

En algunas aplicaciones ANDROID es necesario que la pantalla permanezca encendida y so se atenúe ni
apague.

En el archivo MainActivity.java
poner:

...
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
     
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

...

Y la pantalla permanecerá encendida.

Programación ANDROID: Bloquear rotación de pantalla

En una app que he programada cuando cambia la orientación de la pantalla se reinicia el layout y borra todas
las variables.

Para evitarlo se puede bloquear que responda al cambio de posición.

Editar el archivo AndroidManifest.xml añadir dentro del tag activity

android:screenOrientation="portrait"
ó
android:screenOrientation="landscape"

También se puede hacer con programación en java, edita el dicheo ActivityMain.java y poner :

 ...
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);                   setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
...

Cualquiera de estas dos maneras  funciona.

Ref.:
http://stackoverflow.com/questions/4675750/lock-screen-orientation-android

15 de marzo de 2013

Operaciones Aritméticas en Bash Script

From:
http://universo.emergya.es/snippets/operaciones-aritmeticas-en-bash



# Forma tradicional con let
CONTADOR=0
while [ $CONTADOR -lt 10 ]; do
    echo "Contador vale: $CONTADOR"
    let "CONTADOR += 1"
done
 
# Con expr
CONTADOR=0
while [ $CONTADOR -lt 10 ]; do
   echo "$CONTADOR"
   CONTADOR=$(expr $CONTADOR + 1)
done
 
# Forma alternativa
CONTADOR=0
while [ $CONTADOR -lt 10 ]; do
   echo "$CONTADOR"
   CONTADOR=$((CONTADOR + 1))
done
 
# Esta última forma, permite usar o no usar dentro de la expresión '$' para la variable, 
# También se puede poner sin espacios, es decir, esto también lo ejecutará
 
...
CONTADOR=$(($CONTADOR+1))
...
 
# Por último señalar que también permite el uso de otros operadores como son división,
# módulo y potencia:
 
CONTADOR=4
echo "Contador= $CONTADOR"
 
CONTADOR=$((4**5))
echo "Contador= $CONTADOR"
 
CONTADOR=$((CONTADOR%5))
echo "Contador= $CONTADOR"
 
CONTADOR=$((9/3))
echo "Contador= $CONTADOR"
 
# Esto daría los siguientes resultados.
 
Contador= 4
Contador= 1024
Contador= 4
Contador= 3

26 de marzo de 2012

www.pedeefes.com un buscador de Documentos pdf

Reconozco mi debilidad por los documentos en formato pdf. En la red hay gran cantidad de pedeefes de acceso libre.

Yo realizo muchas busquedas centradas especificamente en documentos con este formato ya que suelen ser fuente de información de alta calidad. Pero me encontraba que los buscadores no me daban información sobre el documento como su tamaño, páginas, autor, fecha de publicación, etc.

De modo que hace unas semanas decidí comenzar un proyecto dedicado a buscar, indexar y direccionar documentos pedeefes de la red, almacenado toda la información en una base de datos.

La tarea es inmensa ya que el número de pedeefes en la red es astronómica, de modo que me he centrado en los que me resultan más interesantes como los dedicados a temas de informatica, programación, innovación, economia, empresa, bases de datos, linux, ciencia, ... etc, etc, el número de documentos indexados y la temática crece y crece dia a dia.

Creo que la base de datos ha llegado a un volumen de información interesante de modo que he programado un buscador para su uso público, pudiendo acceder a la información que tiene indexada en www.pedeefes.com , me esta resultando una herramienta tremendamente util para la localización, descarga y lectura de documentos pedeefes libres con mi lector de ebooks.

De momento es una version beta, en desarrollo, que voy mejorando su funcionamiento y alimentando su base de datos.

Espero que sea util y cualquier sugerencia no dudeis en comentármela.



15 de febrero de 2011

zip file with perl

Utilizaremos el modulo Archive::Zip

Comprimir fichero a .zip

#!/usr/bin/perl
use Archive::Zip;
$obj = Archive::Zip->new();
$obj->addFile($file);
$obj->writeToFileNamed('dummy.zip');

para controlar que no ha habido errores:
if ($obj->writeToFileNamed('dummy.zip') = "AZ_OK" ) { print "Archivo comprimido ok\n";}
else { print "Archivo NO comprimido correctamente!!"; }

Descomprimir un fichero .zip

#!/bin/perl
use Archive::Zip; # imports

$obj = Archive::Zip->new(); # new instance
$status = $obj->read('dummy.zip'); # read file contents
if ($status != AZ_OK) { die('Error in file!'); }
else { $obj->extractTree(undef, "/tmp/"); # extract files }

Ref.:



El directorio de trabajo en perl

El directorio de trabajo donde se esta ejecutando la rutina perl:

#!/usr/bin/perl
use Cwd;
$dir = getcwd();
print "$dir\n";
die;

Listar ficheros de un directorio con perl

El uso de comandos linux shell en rutinas perl es habitual usando exec(), system() o `comando linux`.
El problema es entonces que las rutinas solo funcionaran en entornos linux no en widows con perl instalado.
Para solucionas esto y mejorar la portabilidad de las ritnas perl hay que hacerlo todo en "pure perl".

Un clon de "ls" en perl:
#!/usr/bin/perl
$dir = "/directorio";
opendir(DIR, "$dir");
@FILES = readdir(DIR);
foreach $file (@FILES) {
print $file, "\n";
}
closedir(DIR);


14 de febrero de 2011

Perl Command List


Lista de comandos y estruscturas en perl:

Subrutinas en perl


Definir subrutina:

sub nombresubrutina {
Contenido subrutina;
}

Para llamar una subrutina desde el programa:

&nombresubrutina;
$pp = &nombresubrutina(parametro1,parrametro2,etc);


Los parametros en la subrutina, si los tuviera:

Accedemos desde el contenido de la subrutina con el array @_;
cada parámetro seria: $[0]_; $[1]_; etc.

Valores retornados de la subrutina:
Por defecto la subrutina devuelve el último valor procesado.
Se puede determinar dentro del contenido de la subrutina con return


Ref.: http://www.webtaller.com/construccion/lenguajes/perl/lecciones/subrutinas_perl.php

5 de septiembre de 2010

Preguntando, input, prompt, con php

En php la forma habitual de preguntar al usuario humano son los formularios, pero en muchos casos se necesita obtener un dató rápido del usuario en modo texto.
Se puede usar fgets(STDIN)
#!/usr/bin/php
<?php
print "\n Teclea algo: ";
$algo = trim(fgets(STDIN));
print "\n has tecleado: $algo\n";
?>

Ref.:
http://www.ehow.com/how_5321606_prompt-line-interface-using-php.html

17 de agosto de 2010

Cortar archivos con split


Pues resulta que en un script php he intentado pasar un archivo de texto a un array con el comando file( ) y el archivo es algo grande ya que tiene unos 19MB y unas 100.000 lineas. De modo que me ha salido un error al ejecutar el script:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 16 bytes) in /home/pp/globalWebSpider/gws-mantenimiento_spider01/60-z5log-no_mysql_saved-recuperator.php on line 85

Una solucción es cortar el archivo en otros más pequeños:
Para esto esta split:
- Que corta archivos en otros mas pequeños de un tamaño deternimado:

#split -b(tamaño) archivo.grande archivo.
archivos resultantes:
archivo.aa
archivo.ab
archivo.ac
etc...
-Pero en mi caso al ser un archivo de texto es mejor cortarlos en archivitos de un determinano número de lineas, ... digamos 10000 y con la extensión numérica:

#split -d -10000 archivo.grande archivo.
archivos resultantes:
archivo.01
archivo.02
archivo.03
etc...
Ref.: http://linuxmanpages.com/man1/split.1.php

16 de agosto de 2010

Codificar y decodificar caracteres html con php


Los caracteres especiales del código html pueden ser un problema al manejarlos en programación, variables, SQL y por la inyección de código malicioso.

En php estos caraceres se pueden codificar con: htmlspecialchars( )
y luego reponerse con: htmlspecialchars_decode( )
dejando de ser un problema.

12 de abril de 2010

trivial_calculator.php


Ante la insistencia de JR que me deje de chorradas con el Perl y que me dedique al php, pues le voy a hacer algo de caso, solo un poco y me estoy remirando esto del php.
Lo cierto es que son dos lenguajes de programación muy similares y desde el primer momento ya se intuye la enorme potencia del php para la programación de páginas web.
Lo peor es que es necesario algo de HTML con su tediosa e interminable lista de tags.

Vamos con mi primer script en php en el que más que la complejidad matemática de los cálculos es para ver como funciona esto de los formularios y la entrada de datos.

trivial_calculator.php
<html>
<body>
<p> <br><b>Trivial calculator php - by pp - ad2010</b>
<br><a href="http://www.misnotaslinux.blogspot.com">www.misnotaslinux.blogspot.com</a><br>
</p>

<form action="trivial_calculator.php" method="post">
<table> <tr><td>Primer numero: </td><td><input type="text" name="n1" value="" /></td></tr>
<tr><td>Segundo numero: </td><td><input type="text" name="n2" value="" /></td></tr>
</table>
<table>
<tr><td><input type="submit" name="suma" value="Sumar"/></td>
<td><input type="submit" name="resta" value="Restar"/></td>
<td><input type="submit" name="multi" value="Multiplicar"/></td>
<td><input type="submit" name="divi" value="Dividir"/></td>
</table>

<?php

print "Resultado: ";
if ($_POST[suma]) { print "$_POST[n1] + $_POST[n2] = "; print $_POST[n1]+$_POST[n2]; }
if ($_POST[resta]) { print "$_POST[n1] - $_POST[n2] = "; print $_POST[n1]-$_POST[n2]; }
if ($_POST[multi]) { print "$_POST[n1] * $_POST[n2] = "; print $_POST[n1]*$_POST[n2]; }
if ($_POST[divi]) { print "$_POST[n1] / $_POST[n2] = "; print $_POST[n1]/$_POST[n2]; }

?>

</body>
</html>

27 de enero de 2010

Copia diferencial de memoria USB al disco duro C:


Este es un archivo de ejecución por lotes en MS-DOS, o ejecutable .bat, que copia los archivos y directorios nuevos y/o modificados desde la última copia de seguridad de la memoria USB al disco duro C:
Un backup diferencial sencillito:

echo off
cls
echo.

echo ---------------------------------------
echo Programeja .bat que hace una

echo copia de usb/TS al disco duro c:
echo ---------------------------------------
echo (c)by pp))2010
echo.

set usb=%CD:~0,2%
echo.

echo -------------------Comprueba-el-disco-----
dir %usb%

echo ------------------------------------------
echo.

echo Haciendo copia de seguridad de %usb:~0,1%:\ a C:\USB-BCK
pause

xcopy usb:~0,1%:\ C:\USB-BCK\ /D /E /H /Y /K


echo.
echo Copia terminada ...!!!

pause

exit
Lo tengo en un archivo usb-bck.bat en el USB y lo ejecuto para hacer o actualizar la copia de seguridad al ordenador donde este conectada la memoria.
No borra en la copia C:/ los archivos que elimines o renombres en el USB.

ref.:
Variables de entorno de MS-DOS
Extraer caracteres de variables MS.DOS

Ay!! que recuerdos de unos comandos y unos tiempos que nunca volveran gracias a linux, o sí, nunca se sabe.

24 de enero de 2010

Condicional if grep


#!/bin/bash
if grep -q textoabuscar archivo
then
echo "texto esta en el fichero"
else
echo "texto NO esta en el fichero"
fi
exit 0


Ref.:
if condition and grep