viernes, 21 de agosto de 2015

Normas de Codificación en Visual FoxPro




Convenciones para nombrar objetos

Las primeras tres letras del nombre de un objeto deben ser utilizadas para indicar el tipo del objeto.

    chk – Check box
    cbo – Combo box
    cmd – Command button
    cmg – Command Group
    cnt – Container
    ctl – Control
    cus – Custom
    edt – Edit box
    frm – Form
    frs – Form set
    grd – Grid
    grc – Grid Column
    grh – Grid Column Header
    img – Image
    lbl – Label
    lin – Line
    lst – List box
    olb – OLE Bound Control
    ole – OLE Object como un ActiveX Control
    opg – Option Group
    pag – Page
    pgf – Pageframe
    sep – Separator
    shp – Shape
    spn – Spinner
    txt – Text box
    tmr – Timer
    tbr – Toolbar

Normas para el código fuente

    Utilice abundantes espacios en blanco. Hará más legible su código.
    Utilice tabuladores, en lugar de espacios para indentar.
    Los comandos y funciones de Visual FoxPro deben escribirse en mayúsculas y con la totalidad de sus letras, el resto del código debe estar escrito con combinación de mayúsculas y minúsculas. Mantenga líneas cortas, tanto como sea posible, para evitar desorden (line wrap) durante la impresión. Si una línea de código, ocupa físicamente más de una línea, utilice las expresiones de unión como primer carácter de la línea siguiente. Las expresiones de unión son del tipo +, AND, OR, NOT, etc. Recuerde además, que la línea debe ser tan válida como si fuera una sola línea. Coloque un espacio antes del punto y coma.

Ejemplos de malas separaciones de líneas

lcCommand = "Hoy es Miércoles, 16 de Octubre de 2003" + ;

"Son las 2:00 PM"

 
IF ldBeginDate >= DATE() OR ;

   ldEndDate &gt;= DATE()</pre>

Ejemplos de buenas separaciones de líneas:

lcCommand = " Hoy es Miércoles, 16 de Octubre de 2003" ;


   + "Son las 2:00 PM"



IF ldBeginDate &gt;= DATE() ;

   OR ldEndDate &gt;= DATE()

Por lo visto, cada uno combina las mayúsculas y minúsculas de forma diferente. Aunque no existe vía correcta o incorrecta en este aspecto, si hay algunas normas que ayudan a la legibilidad. Además, utilice expresiones CASE en lugar de IF, cuando parezca que se pueden agregar posteriormente más opciones, incluso si existen sólo dos opciones en el momento en que es escrito el código o, para liberarse de las instrucciones IF, ELSE, IF. Separe cada CASE por una línea en blanco. El comentario para el CASE debe ir por debajo del mismo.

Forma incorrecta:

DO CASE

  * Este es el comentario para el caso 1

  CASE lnCount = 1

    lcRetVal = "Uno"

  * Este es el comentario para el caso 2

  CASE lnCount = 2

    lcRetVal = "Dos"

  * Este es el comentario para otherwise

  OTHERWISE

    lcRetVal = "Otro"

ENDCASE

Forma correcta:

DO CASE

  CASE lnCount = 1

    * Este es el comentario para el caso 1

    lcRetVal = "Uno"

  CASE lnCount = 2

    * Este es el comentario para el caso 2

    lcRetVal = "Dos"

  OTHERWISE

    * Este es el comentario para otherwise

    lcRetVal = "Otro"

ENDCASE

    Trate de evitar macro sustitución. A veces la macrosutitución es la única vía para lograr algo. Asegúrese de documentar, por qué utiliza macrosustitución y cuál es el propósito del código. En la mayoría de los casos, la macrosustitución hace que el código sea menos legible. Utilice la función EVALUATE(). Si es posible, pero nuevamente los comentarios son importantes para ayudar a leer el código.
    Evite utilizar STORE.
    Utilice “[]” en lugar de paréntesis en los arreglos. Así, el código es más legible.
    Coloque espacios entre los operadores matemáticos. Esto mejora la legibilidad.
    Utilice paréntesis cuando llame métodos o funciones, incluso, si no pasa ningún parámetro.
    Evite el uso de m. a la izquierda del signo igual. Esto mejorará el rendimiento.
    Al concatenar cadenas, coloque la variable a la izquierda del signo +. Esto mejorará el rendimiento.

Normas para comentar código

Los comentarios son parte importante de cualquier aplicación. Utilícelos abundantemente. Los comentarios deben explicar por qué se han hecho algunas cosas e indicar cuáles son las líneas de código que están afectadas. Debe explicar solamente cómo se hizo algo, en caso de estar utilizando complejos algoritmos o cálculos.

No emplee comentarios al final de las líneas con &&. Cada comentario debe ocupar una línea propia.

Encabezados de programa, método y procedimiento

Los encabezados de programa, método y procedimiento deben indicar el nombre de la rutina, la fecha en que fue creada originalmente, el autor y una descripción del objetivo del procedimiento o método. En caso de existir parámetros y valores devueltos, incluya una descripción de los mismos. Para los métodos, incluya la jerarquía de objetos.

Ejemplo 1:

*********************************************************

* Método........: frmQueue.cmdNext.Click

* Descripción...: Displays the next item in the selected queue

* Fecha.........: 01-Oct-2001

* Autor.... ....: Fred Flintstone

*********************************************************

* Modification Summary

*

*********************************************************

Ejemplo 2:

*********************************************************

* Función......: CalcIntrest

* Descripción...: Calculate the interest in dollars on the loan

* Parámetros....: tnBalance: Required: The balance amount

* : tnRate: Required: The interest rate to apply

* Devuelve......: Numeric: The dollar amount of the interest

* Fecha.........: 01-Oct-2001

* Autor.........: Bullwinkle J. Moose

*********************************************************

* Modification Summary (Resumen de modificaciones)

*

********************************************************

Comentar modificaciones

Es importante poner comentarios al hacer modificaciones para saber cuáles fueron las modificaciones realizadas, y por qué las realizó. La sección Modification Summary (Resumen de modificaciones) en el encabezado explicará por qué, cuándo y por quién fueron realizadas las modificaciones. En cada lugar del código, donde fue realizada una modificación, debe comentar el código viejo e indicar cuál es el código nuevo que fue añadido. Cada modificación debe ser numerada. Los cambios pueden ser borrados después de un año; pero el Resumen de modificaciones debe permanecer.

*********************************************************

* Modification Summary

*

* /01 05-Oct-2001 George Jetson

* Changed interest calculation to include a date range factor.

* /02 10-Oct-2001 Tennessee Tuxedo

* 1. Added code to handle interest on widgets. The calculation is different.

* 2. Changed the return value from numeric to character.

*********************************************************

*/01 lcNote =  "This is the old line commented out "

*/01

lcNote =  "This is the new line of code. "

*/02-1 lnInterest = a * b

*/02-1 lnInterest = lnInterest / 43

*/02-1 - Begin - Multiple lines are being added, so indicate they start here

IF UPPER(tcIntType) =  "WIDGETS "

  lnInterest = a * c

ELSE

  lnInterest = a * b

  lnInterest = lnInterest / 43

ENDIF

*/02-1 - End

Las líneas de comentario deben indentarse al mismo nivel del código.

Este ejemplo es incorrecto:

IF lnTotalInterest = 0

*/01 Begin

  FOR lnCount = 1 TO lnTotal

    lnTotalInterest = lnTotalInterest + laLoans[lnCount, 2]

  ENDFOR

*/02 End

ENDIF

Este ejemplo es correcto:

IF lnTotalInterest = 0

  */01 Begin

  FOR lnCount = 1 TO lnTotal

    lnTotalInterest = lnTotalInterest + laLoans[lnCount, 2]

  ENDFOR

  */02 End

ENDIF

Al comentar líneas que continúan, hay que comentar cada línea física.

Incorrecto:

*/01 lcString =  "Esta cadena contiene mucho texto porque es un  " ;

  +  "ejemplo de una línea verdaderamente larga "

Correcto:

*/01 lcString =  "Esta cadena contiene mucho texto porque es un  " ;

*/01 +  "ejemplo de una línea verdaderamente larga "

Normas para interfaz de usuario (UI)


Cuando sea posible, la interfaz de usuario debe cumplir con las directivas de Windows Standards descritas en el libro  “Microsoft Windows User Experience “, Microsoft Press, ISBN 0-7356-0566-1. Este libro se encuentra disponible en: http://msdn.microsoft.com/library/en-us/dnwue/html/welcome.asp. Tenga en mente todo el tiempo al usuario. Mientras más sencilla sea la funcionalidad para el usuario, mejor será la aplicación. Esto puede significar que el código que está detrás de esta funcionalidad es más complejo.

Formularios de entrada de datos

    Todos los campos aptos para entrada deben utilizar Select On Entry.
    Los campos numéricos deben ser formateados con comas y signos negativos cuando sea necesario.
    Si un campo es de sólo lectura, establezca la propiedad TabStop en .F., Establezca la propiedad ReadOnly a .T. o la propiedad Enabled a .F., según sea el caso. La propiedad ReadOnly se utiliza cuando el campo nunca es modificable. La propiedad Enabled se utiliza cuando el campo es modificable cuando se cumple una determinada condición (es evaluada a .F.)
    Utilice la barra de estado para mostrar un mensaje al usuario que indique el propósito del campo.
    Muestre siempre los valores predeterminados, en los casos en que se aplique.
    Inhabilite (Enabled = .F.) los objetos cuando sea necesario. Esto proporciona indicación visual al usuario de que el objeto no puede ser modificado en ese momento.

Mensajes

    No utilice WAIT WINDOW para mostrar mensajes importantes al usuario. Es muy fácil que el usuario no note el mensaje. En su lugar utilice MESSAGEBOX. Incluya siempre el icono apropiado en el cuadro de mensaje (message box). Evite la utilización del parámetro TIMEOUT, ya que el usuario puede perder información importante.
    Utilice la barra de estado para mostrar ayuda en línea para el objeto actual, ya sea en un formulario o un menú.

Objetos de formulario

    Text box. (cuadros de texto) El cuadro de texto es el control más comúnmente utilizado. Puede contener valores de caracteres, numéricos o fecha.
    Check box. (casilla de verificación) La casilla de verificación es un control sencillo que está establecido en ON u OFF. Son utilizadas típicamente para indicar un estado de Sí o No.
    Command button. (Botón de comando) El botón de comandos es utilizado para iniciar una acción. Los botones más comúnmente utilizados son OK (Aceptar) y Cancel (Cancelar). Algunas veces los botones de comandos son agrupados en los command group (grupos de comandos). Intente evitar los grupos de comandos, los botones individuales son más fáciles de mantener.
    Option button. (Botón de opción) En ocasiones se les llama radio button. Se utiliza para indicar que el usuario puede seleccionar una opción de un grupo de opciones. Los botones de opciones son frecuentemente agrupados en Option group (grupo de opciones). Esto simplifica el código para el proceso de selección. Se recomienda que los grupos de opciones se utilicen en lugar de los botones de opciones. Los grupos de opciones deben ser preferiblemente ordenados verticalmente antes que horizontalmente.
    Drop-down list. (Lista desplegable) Una lista desplegable permite al usuario hacer una selección de una lista de varios objetos, como con un botón de opción. Sin embargo, la lista desplegable requiere de menos espacio en pantalla.
    Combo box. (Cuadro combinado) Los cuadros combinados se identifican como un textbox en una flecha hacia abajo. Se llama cuadro combinado, porque es una combinación de un cuadro de texto y una lista desplegable. El usuario puede escribir un nuevo valor o seleccionarlo de la lista.
    List box. (Cuadro de lista) Un cuadro de lista puede ser utilizado uno o varios objetos de una lista.
    Spinner. Un control spinner es una especie de textbox con flechas hacia arriba y hacia abajo. Es utilizado normalmente para datos numéricos. El número aumenta o disminuye al hacer clic en las flechas o el usuario puede introducir un valor específico.
    Edit box. (Cuadro de edición) Un cuadro de edición se comporta de forma parecida al textbox; pero normalmente es utilizado para campos memo. Un editbox puede tener barras de desplazamiento y deslizamiento de filas (word wrap)

martes, 18 de agosto de 2015

TV On Line



1) Amazon.comAmazon se está convirtiendo en el mejor lugar para ver películas y programas de televisión en línea. Ahora, con una prueba gratuita de 30 días para todos los nuevos miembros, es el lugar GRATIS MEJOR para ver películas gratis y programas de televisión. El hogar de muchos galardonados programas de televisión y películas, así como la serie de HBO, Amazon tiene la mayor colección de contenido de streaming online.
2) PrimeWire.agEste es el mejor sitio de streaming de películas en línea libre de las manos hacia abajo. Se consigue de actualiza cada minuto con todo el éxito streaming de películas y programas de televisión y tiene un montón de enlaces a streaming de enlaces de películas en cada página de la película. Todo es gratuito y por lo general hay un par de enlaces de alta calidad para ver películas gratis en línea sitios.
3) SolarMovieTenemos dos sitios web vinculados en el # 3 de este mes y los dos sitios son merecedores de sus clasificaciones. De los miles de sitios de películas gratuitos en Internet, SolarMovie es sinceramente uno de los mejores que hay. Tiene todo lo que se podría esperar de un sitio libre de la película. Streaming de películas de alta calidad gratuitos y programas de televisión en línea. Quién podría pedir más? El único problema es que han cambiado su URL mucho en su historia. Para mantenerse en todos los cambios, asegúrese de visitar ButterBlog para ver todos los cambios que suceden en todo el mundo del cine en streaming y programa de televisión en línea.
3) Movie4KUno de los sitios en línea gratuitos más populares de películas por ahí, Movie4K es tiza lleno de enlaces a todas las películas en streaming imaginable. No sólo eso, tiene docenas de enlaces a diferentes sitios web de streaming de vídeo para cada película y programa de televisión que figuran en la página y todo es completamente gratis! También han resistido la prueba del tiempo cuando se trata de liberar a los sitios web de películas. Han cambiado los nombres de dominio y cambiaron anfitriones un par de veces en los últimos años, pero todavía están soportando fuertes.
5) Ver-MoviesHace unos años, este sitio libre de la película era fácilmente en el top 3. Todavía está empatado en el quinto porque todavía conseguir de actualiza super rápido, pero los usuarios son cada vez más cansado de la calidad de las nuevas películas. Sin embargo, esto sigue siendo un gran sitio para comprobar si hay nuevas películas cuando son liberados.
5) Proyecto Free TVSí, hay 5 sitios vinculados a # 5. Todos estos sitios son muy buenos en lo que hacen; principalmente tener vínculos para liberar streaming de películas y programas de televisión. Proyecto Free TV no es la excepción. Ha estado con nosotros desde antes de este blog fue creado en 2007, que ha conseguido que sea uno de los primeros. Todavía se ve exactamente igual que hace 7 años también. Pero una cosa no ha cambiado, es la dedicación a conseguir enlaces de alta calidad para las nuevas películas y programas de televisión ... y para eso se alaban la gente que maneja el sitio web. Sigue siendo uno de los mejores sitio de películas gratis.
5) Los PelículasLos Movies es uno de nuestros sitios web favoritos personales por ahí. El diseño, la calidad y cantidad de enlaces, y las actualizaciones son todos por encima de la media. Generalmente, usted puede encontrar una copia de buena calidad de cualquier película nueva en este sitio web tan pronto como sale. Échale un vistazo!
5) VumooVumoo hizo su primera apariencia en nuestra lista de Top 25 en noviembre de 2014. Es ahora en el top 5. ¿Cómo un sitio de moverse tan rápido, en menos de 3 meses? Un sitio web bien diseñado y actualizaciones constantes a corrientes de alta calidad en la respuesta. Podemos decir con facilidad que este es uno de los mejores sitios web de películas gratuitos en Internet en este momento. Échale un vistazo!
5) Movie25Otro gran sitio que te permite ver los sitios de películas gratis en línea. Ellos no tienen ningún programas de televisión, pero que actualizan sus películas muy rápidamente con enlaces de alta calidad. Hay muchas veces 100 de enlaces para cada película, por lo que sin duda debe ser capaz de encontrar un enlace que trabajará voluntad para usted.
5) CoolMovieZoneEste sitio hace un gran trabajo de actualización de la web con nuevos enlaces a vídeos con sólo ser liberados. También ofrecen un montón de enlaces para cada película que hace que sea más fácil encontrar uno que funcione para usted. Por desgracia, los enlaces no pueden ser clasificados o calificados por la gente por lo que hace que sea un poco más difícil de encontrar el mejor vínculo de trabajo sin pasar por todos ellos.
11) Cine ClubEste es uno de los sitios mejor diseñados en nuestra lista de los mejores 25. Sin embargo, no se encuentra en Inglés, que puede hacer que sea confuso para algunas personas por lo que es difícil ponerlo en el top 10. Cada película tiene una gran miniatura que se puede hacer clic en para ver la película. A partir de ahí simplemente haga clic en "película Gledaj" para ver la película después de un anuncio rápido.
12) MovieManiacMovieManiac hace un gran simplemente actualizar es sitio web con nuevas películas, pero es extremadamente confuso de usar. La forma más fácil de utilizar este sitio web es para filtrar por categoría película. Al hacer clic en las categorías hace que sea muy fácil encontrar películas y haga clic en los enlaces para verlos. Sin embargo, al hacer clic en nuevas películas o vídeos en alta definición muestra de diapositivas y remolques, que tiene poco sentido. De cualquier manera, esto puede ser un gran recurso, si usted sabe cómo usarlo.
13) Tubo +Un gran sitio de TV gratuito que hace que sea muy fácil de encontrar el más nuevo de televisión disponibles en línea. Basta con hacer clic en el enlace de más reciente episodio y verás todos los episodios que se han actualizado en el sitio web. Cada día incluye docenas y docenas de nuevos espectáculos. Super fácil y un gran sitio web para cualquier fan de la transmisión de TV!


* Renuncia * Todos o algunos de estos sitios pueden ser considerados ilegales o en una zona "gris" de la ley en sus respectivos países. Asegúrese de que está cumpliendo con las leyes de los países antes de leer los sitios web de arriba.

LibreOffice 4.4.5

Los desarrolladores de la suite ofimática libre han anunciado el lanzamiento de LibreOffice 4.4.5, una versión sin más pretensiones que las de “pulimentar” lo que ya había con correcciones de errores. Hasta ochenta son los parches que recibe en pos de una mayor estabilidad

Por lo tanto, estamos ante la versión de LibreOffice más avanzada y estable de todas, y de hecho desde The Document Foundation anuncian también que reemplaza a partir de ahora a LibreOffice 4.3.7 como versión recomendada para entornos de producción. No obstante, seguirá gozando de mantenimiento por un tiempo, después incluso del “salto”.

El salto al que nos referimos es el de versión mayor, del que ya adelantamos algo hace unos meses con el lanzamiento de la primera beta de LibreOffice 5.0, cuya versión final llegará en breve. Desde entonces hasta ahora se ha progresado mucho y lo que a todas luces se viene es la mejor suite de oficina libre que nunca hayamos probado. ¿Cómo lo han conseguido? Poco a poco.

Muy buen trabajo el The Document Foundation. Su primera versión estable fue la 3.3, lanzada en enero de 2011, apenas cuatro meses más tarde de desvelarse como fork de OpenOffice.

Que version de windows es la recomendada.?

La respuesta es simple, yo recomendaria ubuntu. nos guste o no sigue siendo la mejor distribucion para principiantes. su entorno grafico es muy distinto al de windows, pero al mismo tiempo es intrutivo y facil de aprender. en su centro de software encuentras todo lo que necesitas, incluso aplicaciones de pago.
pero en mi opinion su punto fuerte en sin dudas la enorme comunidad que pose y su gran difucion. gracias a esto siempre encontraras documentacion y solucion a cualquier problema eventual.
fue mi primera distro y le guardo un gran cariño. actualmente estoy en debian, pero extraño caracteristicas de ubuntu como por ejemplo el comando "add-apt-repository" inexistente en debian, el cual te permite agregar repositorios de una forma facil y rapida.


Cómo cubrir un evento con las redes sociales





1. Seleccione un hashtag
Seleccione un hashtag o etiqueta que explique por sí misma de qué trata el evento; por ejemplo, #FeriadelLibro. Muchas veces vemos etiquetas que son perecederas pues le agregan el año, sobre todo si es un evento que se realiza con cierta periodicidad (#FeriadelLibro2015). Nosotros recomendamos que, precisamente como la etiqueta se puede usar muchas veces, no se le agregue el año para que pueda usarse a lo largo del tiempo, estando presente en la memoria de las personas que están interesadas en el tema que tratamos. Ese mismo consejo se aplica para el lugar; si el evento aparte de ser anual, se desarrolla en diferentes ciudades o países, sería conveniente no incluir la localidad en el hashtag para que pueda usarse para todos los encuentros. Se puede agregar el lugar en otra etiqueta (por ejemplo, #FeriadelLibro #Panamá).
2. Uso de un solo hashtag en todas las redes
Una vez seleccionado el hashtag, se debe incluir y mantener en todos los medios que se estén usando para promocionar y cubrir el evento desde el inicio. Debemos incluirlo en la página web, en artículos de blog propios o de terceros (si nos hacen una entrevista), en Twitter, Facebook, Instagram, Google+, LinkedIn; en fin, en todos los medios sociales en los que participemos. Si tenemos aliados que nos ayudarán en la difusión del evento, debemos indicarles, con suficiente tiempo de anticipación, el hashtag que vamos a usar y pedirles que no le hagan ningún cambio.