lunes, 30 de noviembre de 2015
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 >=
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 >= DATE() ;
OR ldEndDate >= 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.
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.
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á).
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.
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.
Suscribirse a:
Entradas (Atom)