Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



viernes, 29 de enero de 2016

Problema y Solución: Mi papelera esta vacía y no muestra los archivos borrados



Problema y Solución: 
Mi papelera esta vacía y no muestra los archivos borrados







Esta mañana me he encontrado con un problema: me había algunas películas las pasé al disco externos y las borré.  El caso es que el tamaño libre de mi disco interno no habia cambiado, y me fuí a la papelera donde tampoco estaban los archivos ¿donde estaban?

Pues buscando por la red, encontré que las ubicaciones posibles de los archivos borrados y que quedan en la papelera están en la carpeta:
  • Si se borra un archivo que esta en la misma partición que el home del usuario se utiliza la papelera que se encuentra en ~/.local/share/Trash
1) Entonces abro una terminal y me voy a dicho directorio:

cd ~/.local/share/Trash

2) listo lo que hay en esa carpeta:

ls 

3) veo que hay varias carpetas, y me voy a la carpeta files

cd files

4) y hago un listado:

ls

y por fin veo los archivos que había borrado.


A continuación borro tanto los archivos como las carpetas que contienen (cuidado: estando en la carpeta ~/.local/share/Trash/files):

rm -rf *


Y ya tengo el espacio libre "recuperado" de los archivos borrados.

Saludos


Fuentes:
http://blog.soluciones3f.com.ar/2008/05/01/%C2%BFdonde-esta-la-papelera-de-reciclaje-linux/comment-page-1/

http://principiante-linux.blogspot.com.es/2007/08/comandos-linux-mover-copiar-borrar-y.html

jueves, 21 de enero de 2016

Tutorial ogame (11): Llegar al Top 500 y consejos sobre defenderse

Video Tutorial Ogame: 

Top 500 

y

 consejos sobre defenderse


En este videotutorial os comento los problemas y soluciones que he tenido que hacer para poder llegar a estar por debajo de los 500 primeros en la clasificación en este juego online multijugador.



Saludos


Lista de reproducción de videos sobre ogame en youtube:
https://www.youtube.com/playlist?list=PLY1AHIjJwXVG8Rs6wPDE0-k8p1iel9JZR

viernes, 15 de enero de 2016

ZipZap: Marcador multiple para ruleta de casino

ZipZap: 

Marcador múltiple 

para ruleta de casino



Normalmente en los juegos de ruleta online, nos muestran un marcador sobre los números que salen, y los van colocando en 3 columnas:  los números Rojos, el Cero, y los números Negros. Pues he hecho un programa para que también veamos la distribución de los números que salen por: Columnas(o filas), Docena,  Par-Impar, 1-18 y 19-36 y por supuesto Rojo y Negro.




Os dejo un video para que lo veais en funcionamiento:




Enlace del instalador y código fuente: alojado en google drive

Gambas3: Enviar un correo y ficheros adjuntos (Actualizacion 2016)

Gambas3: Enviar un correo y ficheros adjuntos

Nos deja Shordi en el foro de gambas-es.org, la funcion que ha realizado para enviar correos electrónicos y fichereos adjuntos:


Public Function sendmail(sFrom As String, aTo As String[], sSubject As String, sBody As String, cServer As CollectionOptionalaBcc As String[]Optional aAttached As String[]Optional ldebug As Boolean) As Boolean

    Dim SmtpC As New SmtpClient
    Dim s, cad, fich, cmime, fname As String

    SmtpC.debug = ldebug
    SmtpC.host = cServer["host"]
    SmtpC.user = cServer["user"]
    SmtpC.password = cServer["password"]
    SmtpC.Encrypt = IIf(cServer["Encrypt"], cServer["Encrypt"], Net.SSL)
    SmtpC.Alternative = False
    SmtpC.From = sFrom
    For Each s In aTo
        SmtpC.To.Add(Replace(s, " """))
    Next
    SmtpC.Subject = sSubject
    SmtpC.Body = sBody
    If Not IsNull(aAttached) Then
        For Each fich In aAttached
            Exec ["file""-bi", fich] To cmime
            cmime = Left(cmime, InStr(cmime, ";") - 1)
            fname = Right(fich, - RInStr(fich, "/"))
            SmtpC.Add(File.Load(fich), cmime, fname)
        Next
    Endif
    If Not IsNull(abcc) Then
        For Each s In abcc
            SmtpC.bcc.Add(s)
        Next
    Endif
    SmtpC.send
    Return True

Catch

    print Error.text;;Error.where
    Return False

End

Fuentes:
enlace al hilo de http://www.gambas-es.org con el código de la función
enlace al hilo de gambas-es org con programa
enlace al código fuente

jueves, 7 de enero de 2016

Tutorial ogame (10): Ataque con misiles interplanetarios

Tutorial ogame (10): 
Ataque con misiles interplanetarios 




En este video tutorial usaremos misiles interplanetarios para destruir las defensas antes de que llegue nuestra flota de ataque.


1) Preparación del ataque

2) Resultados del ataque



Lista de reproducción de videos sobre ogame en youtube:

https://www.youtube.com/playlist?list=PLY1AHIjJwXVG8Rs6wPDE0-k8p1iel9JZR

martes, 5 de enero de 2016

Tutorial Ogame (9): Varias herramientas online y scripts

Tutorial Ogame (9): 

Varias herramientas online y scripts

En este video comento varias herramientas para hacer informes y simulaciones de batallas y un scripts para mostrar más información en las pantalla del juego.



Enlaces:

Crear informes: https://ogotcha.universeview.be/es
Simulador de batallas: https://trashsim.universeview.be/es
Script para mostrar más información en el juego: https://universeview.be/

Lista de reproducción de videos sobre ogame en youtube:
https://www.youtube.com/playlist?list=PLY1AHIjJwXVG8Rs6wPDE0-k8p1iel9JZR

Truco: Como poner el código para poner nieve cayendo en tu blog


Truco: 

Como poner el código para poner nieve cayendo en tu blog



Durante estos días he  añadido un script en el blog, para que se viera nieve cayendo en la página. ¿como se hace?

1) Pues te vas a la página de Diseño


2) Se le coloca un nuevo gadget del tipo "html/javascript"



3) y se le pega el siguiente código:

<script type="text/javascript">
  //Configure below to change URL path to the snow image
  var snowsrc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTt2vMifRdQzrsJVmTZEcrDQFi1Ebc2sff6momVbWK5R5dEH_XXfAwlRiPo9Hg9GiszbW-xH6NwSNaVRILua-vKQlnoU42hh70G_jBB7bcft6HnH6aw7qjzE4Qo0xKYxU0xFEyzbECZG8/s400/snow.gif"
  // Configure below to change number of snow to render
  var no = 30;
  // Configure whether snow should disappear after x seconds (0=never):
  var hidesnowtime = 0;
  // Configure how much snow should drop down before fading ("windowheight" or "pageheight")
  var snowdistance = "pageheight";
///////////Stop Config//////////////////////////////////
  var ie4up = (document.all) ? 1 : 0;
  var ns6up = (document.getElementById&&!document.all) ? 1 : 0;
    function iecompattest(){
    return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
    }
  var dx, xp, yp;    // coordinate and position variables
  var am, stx, sty;  // amplitude and step variables
  var i, doc_width = 700, doc_height = 1600;
  if (ns6up) {
    doc_width = self.innerWidth;
    doc_height = self.innerHeight;
  } else if (ie4up) {
    doc_width = iecompattest().clientWidth;
    doc_height = iecompattest().clientHeight;
  }
  dx = new Array();
  xp = new Array();
  yp = new Array();
  am = new Array();
  stx = new Array();
  sty = new Array();
  snowsrc=(snowsrc.indexOf("dynamicdrive.com")!=-1)? "http://2.bp.blogspot.com/-MsCdyoGtGdA/UX5gk72qNoI/AAAAAAAAAfQ/LaKTmUG-aJM/s1600/snow+falling+effect.gif" : snowsrc
  for (i = 0; i < no; ++ i) {
    dx[i] = 0;                        // set coordinate variables
    xp[i] = Math.random()*(doc_width-50);  // set position variables
    yp[i] = Math.random()*doc_height;
    am[i] = Math.random()*20;         // set amplitude variables
    stx[i] = 0.02 + Math.random()/10; // set step variables
    sty[i] = 0.7 + Math.random();     // set step variables
        if (ie4up||ns6up) {
      if (i == 0) {
        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><a href=\"http://dynamicdrive.com\"><img src='"+snowsrc+"' border=\"0\"><\/a><\/div>");
      } else {
        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>");
      }
    }
  }
  function snowIE_NS6() {  // IE and NS6 main animation function
    doc_width = ns6up?window.innerWidth-10 : iecompattest().clientWidth-10;
        doc_height=(window.innerHeight && snowdistance=="windowheight")? window.innerHeight : (ie4up && snowdistance=="windowheight")?  iecompattest().clientHeight : (ie4up && !window.opera && snowdistance=="pageheight")? iecompattest().scrollHeight : iecompattest().offsetHeight;
    for (i = 0; i < no; ++ i) {  // iterate for every dot
      yp[i] += sty[i];
      if (yp[i] > doc_height-50) {
        xp[i] = Math.random()*(doc_width-am[i]-30);
        yp[i] = 0;
        stx[i] = 0.02 + Math.random()/10;
        sty[i] = 0.7 + Math.random();
      }
      dx[i] += stx[i];
      document.getElementById("dot"+i).style.top=yp[i]+"px";
      document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px";
    }
    snowtimer=setTimeout("snowIE_NS6()", 10);
  }
    function hidesnow(){
        if (window.snowtimer) clearTimeout(snowtimer)
        for (i=0; i<no; i++) document.getElementById("dot"+i).style.visibility="hidden"
    }
if (ie4up||ns6up){
    snowIE_NS6();
        if (hidesnowtime>0)
        setTimeout("hidesnow()", hidesnowtime*1000)
        }
</script>









domingo, 3 de enero de 2016

Tutorial Ogame (8): Ataque en 3 fases

Tutorial Ogame (8): 

Ataque en 3 fases

Es estos 3 videos vemos como organizar un ataque a un jugador y su planeta.
Os dejo en este enlace la hoja de calculo que he usado para calcular el número de naves necesaria para el transporte del botín: enlace a google drive









Resultado de la batalla:


https://ogotcha.universeview.be/es

Saludos

Lista de reproducción de videos sobre ogame en youtube:

https://www.youtube.com/playlist?list=PLY1AHIjJwXVG8Rs6wPDE0-k8p1iel9JZR

Simulador Online Gratuito de Arduino: Como darse de alta en 123d.circuits.io

Simulador Online Gratuito de Arduino: 

Como darse de alta en 123d.circuits.io



En el siguiente video explico como darse de alta en la página web 123d.circuits.io, para poder recrear vuestros montajes de arduino y su programación.




En el siguiente articulo explico como montar un circuito y ejecutar un programa :

http://jsbsan.blogspot.com.es/2015/03/simulador-online-de-arduino-monta-y.html


Saludos

viernes, 1 de enero de 2016

Nuevo Año y Nueva Versión de Gambas3: gambas 3.8.4


Nuevo Año y Nueva Versión de Gambas3

gambas 3.8.4


Hace unos cuantos dias, el 21 de diciembre, Benoit nos trajo la nueva versión 3.8.4 con las siguientes mejoras:

Esta versión incluye todas las correcciones de errores desde el lanzamiento de Gambas 3.8.3.

Aquí hay algunos cambios importantes: 
No se desplome más cuando se ejecuta el IDE a través de un servidor de terminales, o en los escritorios antiguos que no logran algunas propiedades X11.
El apoyo a los valores de sólo de tiempo en las bases de datos PostgreSQL recientes.
Apoyo a la simple y CRAM-MD5 autenticaciones en gb.net.smtp.

Cambios:
CONFIGURACIÓN
  • Actualización Gambas archivo XML 3 appdata.
ENTORNO DE DESARROLLO
Editor de código
  • Ayuda contextual (F2) en clases pertenecientes al proyecto funciona correctamente ahora.
  • Lista procedimiento se centra correctamente el editor sobre el procedimiento de destino.
Editor de base de datos
  • Editor de Solicitud es ahora seleccionable cuando QT4 está en uso.
  • Un poco de rediseño de la barra de herramientas ventana superior.
Editor de formularios
  • Mediante un formulario cuyo nombre comienza con un guión bajo es ahora posible.
  • No inicializar las propiedades de los controles que tienen una propiedad "_DrawWith". No sé por qué lo hice, pero de todos modos Previene Undo / Redo funcione correctamente.
  • Fijar el manejo de propiedades de color con valor alfa.
  • No bloquearse cuando la imagen de un ReportImage o ReportSvgImage no se puede cargar. Mostrar un icono roto rojo grande en su lugar.
Editor de imagen
  • Fijar los choques con selecciones que no tiene medida.
  • Herramientas de rectángulo y elipse ahora tienen una precisión de medio píxel.
  • La herramienta elipse ahora funciona correctamente cuando la elipse se extrae de su centro.
Packager
  • Soporte para gb.gui.qt y componentes genéricos gb.gui.qt.webkit.
  • Utilice debhelper versión 9 requisito en todas partes.
Granja Software
  • Eventos de descarga de software se ignoran correctamente cuando el asistente se trasladó de nuevo a la lista de software.
  • Cuenta de la granja contraseñas deben ser correctamente recordados ahora.
Diverso
No bloquearse si el archivo VERSION es incorrecta. Mostrar un mensaje de error.
Permitir el corto de comandos para el cromo.

INTÉRPRETE
Application.Dir está correctamente declarada ahora. En consecuencia, se trabajará con compilador JIT.
Mesa de subrutina es más rápido que el acceso ahora.
No navegar directorio temporal al final si no hay ningún archivo temporal se ha utilizado.
Object.Raise () ahora funciona correctamente con los eventos que tienen argumentos.

GB.DB.POSTGRESQL
ERROR: Gambas valores de fecha / hora sin fecha de hoy se almacenan como fecha posible mínimo que acepta PostgreSQL, 4713-01-01 BC.

Gb.desktop
Actualización de scripts a la última versión (1.1.1)-utils xdg.

GB.DESKTOP.X11
No bloquearse cuando algunas propiedades de escritorio no están definidos por el gestor de ventanas.

Gb.form
MessageView: Ignorar un mensaje si su contenido es el mismo que el mensaje que se muestra actualmente.
Foto: Fijar cómo se manejan los iconos temáticos específicos. Ellos ahora son juzgados en todos los tamaños posibles y otros iconos no tema específico se ignoran.
Foto: Fijar el apoyo tema de iconos brisa.

GB.FORM.EDITOR
Actualizar sólo las líneas en cuestión cuando cambia la selección.
Fijar la página y página abajo cursor se mueve.
Cada editor tiene ahora un caché de imágenes línea interna para acelerar redibujados. Esta caché de imágenes se borra tan pronto como el editor pierde el foco, para ahorrar memoria, o cinco segundos después de la última redibujado.
Trate de detectar si el escritorio es remota, y desactivar todas las optimizaciones basadas en cachés de imagen en ese caso.
No bloquee al eliminar la selección.

Gb.gtk
Fijar los accidentes en los escritorios no se definen algunas propiedades X11.
Inicialice el evento máscara ventana raíz cuando se ajusta el filtro de eventos X11.
Levantar un error ahora al llamar ESPERA durante un evento de repintado. Esto se -not- una buena idea tha puede estrellarse todo.

GB.GTK3
Fijar los accidentes en los escritorios no se definen algunas propiedades X11.
Inicialice el evento máscara ventana raíz cuando se ajusta el filtro de eventos X11.
Levantar un error ahora al llamar ESPERA durante un evento de repintado. Esto se -not- una buena idea tha puede estrellarse todo.

GB.GUI.BASE
GridView: Aumentar el tamaño de la fila y la columna invisible controladores de tamaño.

GB.NET.SMTP
Apoyo a la simple y CRAM-MD5 autenticaciones.

GB.QT4
Fijar los accidentes en los escritorios no se definen algunas propiedades X11.
Levantar un error ahora al llamar ESPERA durante un evento de repintado. Esto se -not- una buena idea tha puede estrellarse todo.
Propiedad Window.Border funciona correctamente de nuevo.

GB.QT5
Fijar los accidentes en los escritorios no se definen algunas propiedades X11.
Levantar un error ahora al llamar ESPERA durante un evento de repintado. Esto se -not- una buena idea tha puede estrellarse todo.

GB.REPORT2
ReportView: Inicializar el contenido del búfer de imagen temporales cuando la escala de grises está habilitada. De lo contrario píxeles sin inicializar se pintan.

Versión original del documento: http://gambas.sourceforge.net/en/main.html

Información para instalar gambas desde repositorio PPA: