Você está na página 1de 5

Universidad Popular Autónoma del Estado de Puebla

Facultad de Tecnologías de información


Examen Final Técnicas de Programación

Nombre:__________________________________________________ Matrícula:________________

1. (100) Escriba un programa C que implemente un Visor de Archivos de texto. El programa


deberá tener las siguientes características:

El programa deberá abrir y mostrar archivos de texto en una ventana:

El programa deberá Configurarse al arrancar, consultando un archivo de texto llamado CONFIG.INI,


que estará dividido en varias secciones y que tendrá la siguiente estructura:

[Ventana Principal]
Coordenadas superiores=0,0
Coordenadas inferiores=78,23
Somabra=Si

[Directorios]
Directorio Inicial=C:\TC\FILES

….

Las secciones del archivo de Configuración se separan entre sí por una línea en blanco. El nombre de
cada sección se coloca entre corchetes ( [ , ] ), ocupando una línea. No hay espacios ni antes ni después de
los corchetes.

Las variables de configuración asociadas con la sección presentan la siguiente sintaxis:

Variable de Configuración=Valor

Note que no hay espacio antes ni después del igual.


Las Secciones del archivo de Inicialización se describen a conticuación:

[Ventana Principal]
Las variables de configuración describen las características de la ventana que mostrará el archivo:

Coordenadas Superiores=x,y Define la coordenada de la esquina superior izquierda


de la ventana
 x: Columna izquierda, valores: 0-79
 y: Renglón izquierdo, valores: 0-25
Coordenadas Superiores=x,y Define la coordenada de la esquina inferior derecha
de la ventana
 x: Columna izquierda, valores: 0-79
 y: Renglón izquierdo, valores: 0-25
Sombra=Valor Define si la ventana tiene sombra o no.
 Valor: 0: Sin sombra, 1: con sombra
Color Ventana=Valor Define el color de frente y de fondo de la ventana.
 Valor: Número decimal que define el color de
frente y fondo
Color Marco=Color Define el color de frente y de fondo del marco de la
ventana.
 Valor: Número decimal que define el color de
frente y fondo del marco y título de la ventana
Tipo Marco=Tipo Define el tipo de marco de la ventana.
 Tipo: Número decimal que define el tipo del
marco. Valores: 1. Marco sencillo; 2. Marco
doble; etc

[Ventana Dialogo]
Las variables de configuración describen las características de la ventana que solicita datos al usuario:

Coordenadas Superiores=x,y Define la coordenada de la esquina superior izquierda


de la ventana
 x: Columna izquierda, valores: 0-79
 y: Renglón izquierdo, valores: 0-25
Coordenadas Superiores=x,y Define la coordenada de la esquina inferior derecha
de la ventana
 x: Columna izquierda, valores: 0-79
 y: Renglón izquierdo, valores: 0-25
Sombra=Valor Define si la ventana tiene sombra o no.
 Valor: 0: Sin sombra, 1: con sombra
Color Ventana=Valor Define el color de frente y de fondo de la ventana.
 Valor: Número decimal que define el color de
frente y fondo
Color Marco=Color Define el color de frente y de fondo del marco de la
ventana.
 Valor: Número decimal que define el color de
frente y fondo del marco y título de la ventana
Tipo Marco=Tipo Define el tipo de marco de la ventana.
 Tipo: Número decimal que define el tipo del
marco. Valores: 1. Marco sencillo; 2. Marco
doble; etc.

[Ventana Error]
Las variables de configuración describen las características de la ventana que mostrará los mensajes
de error:
Coordenadas Superiores=x,y Define la coordenada de la esquina superior izquierda
de la ventana
 x: Columna izquierda, valores: 0-79
 y: Renglón izquierdo, valores: 0-25
Coordenadas Superiores=x,y Define la coordenada de la esquina inferior derecha
de la ventana
 x: Columna izquierda, valores: 0-79
 y: Renglón izquierdo, valores: 0-25
Sombra=Valor Define si la ventana tiene sombra o no.
 Valor: 0: Sin sombra, 1: con sombra
Color Ventana=Valor Define el color de frente y de fondo de la ventana.
 Valor: Número decimal que define el color de
frente y fondo
Color Marco=Color Define el color de frente y de fondo del marco de la
ventana.
 Valor: Número decimal que define el color de
frente y fondo del marco y título de la ventana
Tipo Marco=Tipo Define el tipo de marco de la ventana.
 Tipo: Número decimal que define el tipo del
marco. Valores: 1. Marco sencillo; 2. Marco
doble; etc.

[Directorios]
Las variables de configuración definen los directorios de trabajo de la aplicación.

Directorio Inicial=”Directorio” Define el directorio en el que la aplicación buscará los


archivos. Valor: Cadena entre Comillas dobles que
define un directorio del disco.

Al arrancar, el programa podrá abrir un archivo especificado en la línea de comandos:

C:\>Visor visor.cpp

Actualmente, esta posibilidad de especificar archivos desde la línea de comandos se traduce en


“arrastrar y soltar” (drag & drop) un archivo en el programa:

La imagen anterior equivale a:


C:\>argvargc argcargv.c

Al final de este documento se encuentra una explicación de cómo lograr esto.

El programa arrancará mostrando el archivo especificado en la línea de comandos (o el que se


arrastró y soltó sobre el programa). Si no se especificó archivo, el programa mostrará la ventana vacía. (Nota:
Las características de esta ventana se especificaron en el archivo Config.ini)

El programa deberá responder a las siguientes teclas:

! Ayuda Mostrará una ventana de Ayuda con la descripción del uso de estas
teclas. Las características de esta ventana son definidas por el programa
(formato fijo).

@ Abrir Archivo: El programa deberá abrir una ventana en la que solicita el nombre
del archivo a abrir incluyendo el directorio en el que está si fuera necesario. Las
características de esta ventana se definen en la sección [Ventana Dialogo] del
Archivo Config.ini.

# Guardar Archivo como: El programa deberá abrir una ventana en la que solicita
el nombre del archivo con que se va a guardar una copia del archivo incluyendo
el directorio en el que estará si fuera necesario. Las características de esta
ventana se definen en la sección [Ventana Dialogo] del Archivo Config.ini.

Y Desplazar una línea hacia abajo: El archivo que se muestra en la ventana del
programa, se desplazará una línea hacia arriba, ocultando la última línea y
mostrando la nueva línea.

Z Desplazar una línea hacia arriba: El archivo que se muestra en la ventana del
programa, se desplazará una línea hacia abajo, ocultando la última línea y
mostrando la nueva línea.

| Desplazar una página hacia arriba: El archivo que se muestra en la ventana del
programa, se desplazará n líneas hacia abajo, ocultando las últimas n y
mostrando las nuevas n líneas. El valor de n se define por las coordenadas
especificadas en la sección [Ventana Principal] del archivo Config.ini

© Desplazar una página hacia arriba: El archivo que se muestra en la ventana del
programa, se desplazará n líneas hacia abajo, ocultando las últimas n y
mostrando las nuevas n líneas. El valor de n se define por las coordenadas
especificadas en la sección [Ventana Principal] del archivo Config.ini

X Salir del programa.

Programas con Argumentos


La función main() puede tener 2 argumentos:

int argv Variable entera que guarda el número de argumentos, que se colocan en la
línea de comandos. Al menos existe 1 argumento, y este es el nombre del
programa.
char *argv Variable arreglo de cadenas que guarda cada uno de los argumentos que hay
en la línea de comandos

Gráficamente:
argc 1 2 3

c:\>Copy Archivo.txt Archivo2.txt


argv [1] [2] [3]

argv

"Copy"

"Archivo.txt" argc =3

"Archivo2.txt"

El siguiente programa ilustra el uso de argv y argc:

#include <stdio.h>

void main(int argc, char *argv[])


{
printf("Argumentos: %d\n",argc);
printf("Primer Argumento: %s\n",argv[0]);
printf("Segundo Argumento: %s\n",argv[1]);
putchar('\n');
getch();

La salida del programa será:

C:>argcargv argvargc.c
Argumentos: 2
Primer Argumento: ARGCARGV
Segundo Argumento: ARGCARGV.C

Você também pode gostar