lunes, 28 de octubre de 2019

INSTRUCCIONES DE ENTRADA Y SALIDA



@.. Say: El Comando @..Say le proporciona al usuario la posibilidad de presentar, mostrar o visualizar un campo, valor, dato o contenido de variable en una coordenada específica de pantalla. Se debe indicar la fila (0-38) y después la columna (0-225). Si se indica un valor mayor el programa envía un mensaje de error.
Si se necesita mostrar en pantalla más de una expresión, se deberá convertir todas las expresiones a carácter y luego  concatenarlas. De número a carácter usando STR( ) o de fecha a carácter usando DTOC( ).

Sintaxis: @ F,C Say [“Mensaje”][+] [Variable]
Ejemplos:
 @10,10 Say “Incluya su nombre”
 @15,20 Say Sueldo
 @20,20 Say “Total”+ str(Tot)
Explicación:
-          Presenta en la fila 10 columna 10 el literal Incluya su nombre
-          Presenta el contenido de la variable Sueldo en la fila 15 columna 20
-          Presenta en la fila 20 columna 20 la expresión Total y el valor numérico de la variable Tot pero convertida a carácter con str( ).

Transform( ) una expresión de cualquier tipo de dato (character, numeric, date, datetime,...) se convertirá a carácter, que se podrá concatenar a un mensaje de la sentencia @..say. El código de formato @R es un poco diferente que los demás. Le dice a VFP que lea una máscara de formato y la use para formatear la cadena resultante. Esto es útil para formatear datos numéricos o de caracteres que pueden requerir un formato específico, como valores de moneda, números de seguridad social y números de teléfono. 

El siguiente ejemplo muestra cómo usar Transform con @R y una máscara de formato para formatear un número de teléfono con código de área de la manera convencional.

Transform ("59372935521", "@R (999) 9-9999999") && El resultado es "(593) 7-2935521"

@..Get / Read: El comando Get permite ingresar, capturar o aceptar valores desde el teclado. El comando Read asigna los valores leídos a la variable o variables especificadas en la memoria del computador. Todo Get o grupo de Gets debe tener su correspondiente Read. Esto dos comandos se usan en la mayoría de los casos en combinación con el @..Say.
Sintaxis: @F,C Say [“Mensaje”] get Variable
                Read
Ejemplos:
@10,10 say “Introduzca su nombre “ Get Nombre
Read
@10,10 say “Incluya el monto de la venta “ Get Venta
@12,10 say “Indique el % de descuento “ Get Desc
Read

Picture: La cláusula picture permite establecer un formato (máscara) bien sea de entrada o de salida de los datos. El picture maneja distintas plantillas relacionadas con los diferentes tipos de datos que pueden ser incluidos.

Plantilla
Acción
A
Acepta solamente letras
9
Acepta exclusivamente dígitos y signos
!
Transforma todos los caracteres en mayúsculas
,
En los números indica la representa los miles
.
En los números indica la posición del punto decimal

Se pueden usar combinaciones de estas plantillas en un mismo picture.
Sintaxis: Picture “ plantilla(s)”
Ejemplos:
@ 5,10 say “ Incluya el promedio “ get Prom Pict “99.99”
@ 7,10 say “ Nombre del alumno “ get Nom Pict “@A!”

Explicación.
-          En la variable Prom se pueden almacenar solo dígitos y se ha establecido la posibilidad de especificar dos decimales.
-          En la variable Nom se puede escribir letras y se visualizan en mayúscula

Range: la cláusula range permite establecer o definir un rango de valores válidos para una variable numérica al momento de introducir datos por medio del teclado. Si el valor incluido sobrepasa o es menor al rango especificado, la ejecución del programa se detiene.
sintaxis: Range valor inicial, valor final
Ejemplos:
@ 5,25 say “Introduzca una calificación (de 1 a 20) ” get Nota Pict “99” range 1,20
@ 7,25 say “Introduzca edad del alumno “ get Edad Pict “99” range 6,18
Read
Explicación.
- El valor que puede ser asignado a la variable Nota va de 1 a 20
- El valor que toma la variable Edad va de 6 a 18

Valid: La cláusula  Valid permite validar / definir la entrada de datos a una variable character.
Sintaxis: Valid Variable$”items o datos válidos”
Ejemplo:
@ 5,5 say “Continua la ejecución del programa (S/N) “get Ru Pict “!” Valid Ru$”SN”
Explicación:
-          La variable Ru sólo acepta como posible contenido una S o una N, en caso que el usuario coloque otro carácter la ejecución del programa no continua

Color: Se usa para reportar los datos de una expresión con un color diferente al estándar.

COLOR
PROPÓSITO
I
U
X
W
N
W/N
B
BG
G
GR
GR+
R
RB
*
+
Video Inverso
Subrayado
Vacío (usado para el ingreso de claves)
Blanco
Negro
Video Normal
Azul
Cyan
Verde
Café
Amarillo
Rojo
Magenta
Parpadeante
Alta intensidad
Los Símbolos+ o * se deben utilizar después de especificar el color para la expresión, así: Color W/N+

Sentencia WAIT.- Permite detener la ejecución de un programa y espera el ingreso de información proveniente del teclado.
Sintaxis :
                     Wait [expresión] [Window][Timeout(expN)]
Donde:
expresión :    Es un mensaje ilustrativo para el usuario. Si se omite, FOXPRO enviará el mensaje por defecto, que es: "Press any key to continue...".

Window :    Se utiliza para enviar el mensaje dentro de una ventana de mensajes, en la esquina superior derecha.

Timeout expn : Es el tiempo en segundos que estará la orden WAIT sin que se reciba información.
Ejemplos:
              Wait
               - Detiene la ejecución de un programa enviará el mensaje por defecto:
    Press any key to continue...

       Wait "Presione ENTER para seguir..."
        - Puede especificar un mensaje diferente

        Wait Window “Espere unos segundos..” Timeout 5

- Detiene la ejecución del programa por 5 segundos y enviará el mensaje Espere unos segundos..


martes, 1 de octubre de 2019

VISUAL FOXPRO COMO SGBD Y LENGUAJE DE PROGRAMACIÓN AN & OO


Visual Foxpro  es uno de los gestores de Bases de Datos relacionales más rápido y flexible del mercado, disponiendo de un complejo entorno de desarrollo totalmente orientado al objeto y altamente integrado en el sistema operativo Windows. Soporta interfaces MDI, barras de herramientas, ayuda sensible al contexto, múltiples fuentes, acceso a bibliotecas de enlace dinámico (DLL), etc.


El Foxpro en modo programación, es la forma como se puede almacenar un conjunto de órdenes en un archivo llamado programa, el cual posteriormente será ejecutado.

MODIFY COMMAND:   Permite crear y editar un programa en Foxpro (con extensión .PRG), o también cualquier archivo de texto.
Sintaxis:  :
                MODIFY COMMAND [D:][CAMINO]NOMBRE[.EXT]

Si la unidad y el camino no son especificados, se asumirá la unidad y camino por defecto.cuando se usa Modify Command, Foxpro busca el archivo indicado; si el archivo no existe entonces se crea uno, de lo contrario éste será editado. Cada vez que un archivo es grabado la versión previa es grabado en un archivo de seguridad con extensión .BAK. Al crear un programa, para grabarlo presionaremos las teclas [Ctrl]+[W]. Si desea salir sin grabar presionaremos la tecla [Esc].

DO: Permite ejecutar un programa anteriormente creado.
Sintaxis:  :
                DO [D:][CAMINO]NOMBRE[.EXT]

ESTRUCTURA DE UN PROGRAMA
Encabezados
Contiene información tal como: el nombre del programa, que hace, quién lo escribió, la fecha y una breve historia sobre su edición. Se antepone el * (asterisco) como parte de un comentario que no incide en el resultado final del programa.
Ejemplo:
                *PROGRAMA : STOCK.PRG
                *DESCRIPCION: CONTROL DE STOCK
                *AUTOR : LUIS LOZADA PORTAL
                *FECHA : 05 DE NOVIEMBRE DE 1998
                *--------------------------------------------------------------------------------------*
Área de Seteos
Define los comandos SET que el programa necesita para trabajar eficientemente. En esta parte se puede especificar las relaciones entre las bases de datos, activar los archivos indexados así como inicialización de las variables de memoria, etc.
Ejemplo:
                  SET STATUS off
                  USE personal INDEX codi
                   STORE 0 TO NUM

Para modificar el entorno de Foxpro y ajustarlo a nuestras necesidades, debemos usar las órdenes Sets denominadas también Seteos. La opción por defecto está en mayúscula.

SET STATUS on/OFF.-  Activa la línea de estado.
SET HEADING on/off.- Muestra el nombre de los campos cuando se usa las órdenes List o Display.
SET TALK on/off.- Muestra los mensajes interactivos que retornan órdenes como Replace, Index, Copy, Calculate, Locate, etc.
SET BELL on/off.- Emite un sonido cuando el cursor alcanza el final de un campo.
SET SCOREBOARD on/off.- Muestra el estado de las teclas CapsLock, Ins y Numlock en la fila cero cuando se desactiva la línea de estado.

DECLARACIÓN DE VARIABLES DE MEMORIA
Las variables son espacios de memoria que permiten almacenar datos temporalmente fuera de la estructura de la Base de Datos. Estos espacios de memoria poseen un nombre que los identifica y quedan definidos según el tipo dato que almacenan.

Orden STORE.- Permite asignar un tipo dato a un conjunto de variables.
Sintaxis:
                STORE [DATO] TO [LISTA DE VARIABLES]
Ejemplo:
Si desea inicializar con 0 a las variables N1, N2 y N3, procederíamos de la siguiente manera:
       N1=0
       N2=0
       N3=0
Mejor hubiera sido inicializar simultáneamente el 0 a éstas variables, así:
      STORE 0 TO N1, N2, N3

Ejemplos de creación de variables según su tipo:
CLASE="FOXPRO"  o     STORE “FOXPRO” TO CLASE
Variable cuyo nombre es CLASE de tipo carácter y cuyo contenido es "FOXPRO".

 NUM=0  o   STORE 0 TO NUM     
Variable cuyo nombre es NUM de tipo numérica y cuyo contenido es 0.

FEC={02/10/2019}   o   STORE {02/10/2019} TO FEC
Variable cuyo nombre es FEC de tipo fecha y almacena la fecha 02 de Octubre de 2019.
            
VAR=.T.   o  STORE .T. TO VAR
Variable cuyo nombre es VAR de tipo lógico con un estado de verdad .T..



lunes, 30 de septiembre de 2019

LOS DISPOSITIVOS DE ALMACENAMIENTO


Los dispositivos de almacenamiento son elementos técnicos destinados a proveer de espacio físico para albergar archivos. Los mismos evidenciaron una gran evolución con el paso de los años, sobre todo en lo que respecta a capacidad y velocidad de transferencia. Tienen como finalidad ser un complemento para dispositivos con capacidad de cómputo, siendo las computadoras personales un caso frecuente de uso de los mismos.
Pueden ser internos o externos según mantengan independencia o no del equipo al que se conectan. Con el paso del tiempo vieron caer significativamente su precio y se supone que esta situación continuará en el futuro. No obstante, es importante señalar que muchas tecnologías del pasado son cada vez más obsoletas y requieren una mejora que brinde más eficiencia.
Un típico dispositivo de almacenamiento es el denominado disco rígido. El mismo fue desarrollado por IBM para sus equipos hace varias décadas, aunque en ese momento sus características técnicas diferían bastante de las actuales. Se componen de platos o discos que se dividen en sectores y sobre los que opera un cabezal a una distancia ínfima. Se encuentran sellados para evitar la entrada de polvo, circunstancia que podría afectar el comportamiento de los mismos.
Otro tipo de dispositivo de almacenamiento son los dispositivos ópticos, como el CD ROM, el DVD o Blue Ray. Los mismos consisten en unidades en formas de disco que son leídas de modo óptico, con un láser. También fueron evolucionando con el paso del tiempo en lo que respecta a capacidad de almacenamiento, pudiendo albergar en la actualidad a varios gigabytes de memoria.
En la actualidad se han popularizado dispositivos construidos sobre memoria flash, que se funda en impulsos eléctricos. La misma se utiliza para todo tipo de dispositivos, desde unidades externas para computadoras hasta pequeños accesorios para móviles. En el caso de las computadoras personales se postulan para reemplazar al mentado disco rígido con las unidades de estado sólido. No obstante, todavía su costo es elevado por lo que pasará algún tiempo hasta que esta situación sea una realidad.

EL DISQUETE
Durante las décadas de los ochenta y los noventa, los disquetes gozaron de una gran popularidad usándose en computadoras para distribuir software, almacenar información de forma rápida y eficaz. 

El disquete o disco flexible (en inglés, diskette o floppy disk) es un soporte de almacenamiento de datos de tipo magnético, formado por una fina lámina circular (disco) de material magnetizable y flexible (de ahí su denominación), encerrada en una cubierta de plástico, cuadrada o rectangular, que se utilizaba en la computadora, por ejemplo: para disco de arranque, para trasladar datos e información de una computadora a otra, o simplemente para almacenar y resguardar archivos.


USB DRIVE O PENDRIVE.
Es un dispositivo portátil de almacenamiento, compuesto por una memoria flash, accesible a través de un puerto USB. Su capacidad varía según el modelo, y en la actualidad podemos encontrar en el mercado pendrives con una capacidad de hasta 256 Gb en un mínimo espacio, que en comparación con aquellos viejos discos rígidos de 44 Mb. con que equipaban las primeras PCs, se trata de una verdadera evolución en la tecnología de almacenamiento de datos.


MEMORY O TARJETA SD
Es un dispositivo en formato de tarjeta de memoria para dispositivos portátiles, por ejemplo: cámaras digitales (fotográficas o filmadoras), teléfonos móviles (Smartphone), tabletas, computadoras portátiles y videoconsolas (de sobremesa y portátiles), entre muchos otros.
Si bien en el mercado existe una enorme variedad de tarjetas de memoria de diferentes fabricantes y con muchos diferentes propósitos como Compact Flash, Memory Stick, MultiMedia Card y otras, lo cierto es que el formato más popular de tarjeta de memoria es la llamada tarjeta de memoria SD, llamada así por su nombre en inglés, Secure Digital, las cual tiene muy buenas referencias de todos los que la utilizan a diario, y por esto se ha vuelto un standard muy utilizado, juntamente con sus «hermanos» Mini SD y Micro SD, siendo esta última la más extendida.