Está en la página 1de 185

Windows

José Manuel Alarcón Aguín

jalarcon@pcw.idg.es
1.- Cómo cambiar el diseño de la barra del
navegador

En las primeras versiones de Internet Explorer se estilaba el uso de un fondo


algo estrambótico en la barra de botones de navegación. Este diseño se puso de
moda y muchos programas lo utilizaron a su vez en su interfaz. Posteriormente
en las versiones superiores (a partir de IE4) se abandonó el estilo a favor de un
fondo liso más sobrio.

Sin embargo, si usted es un nostálgico o simplemente le apetece utilizar el


logotipo de su empresa u otro motivo como fondo para la barra del navegador
todavía lo puede conseguir.

Abra el editor del registro (regedit.exe) y sitúese en la rama


HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar.
Añada un valor de tipo alfanumérico con el nombre BackBitmap. A este valor
asígnele la ruta de un archivo de mapa de bits (BMP), como por ejemplo
C:\windows\clouds.bmp.

A partir de ahora las ventanas del Internet Explorer y del explorador de


Windows (son lo mismo) se mostrarán con el gráfico indicado como fondo de
las barras de herramientas.
2.- Nueva opción en el menú de las carpetas
para ir a línea de comandos

Muchos usuarios avanzados hacemos uso habitual de la ventana de línea de


comandos del sistema (o de MS-DOS en Windows 9x). Sin embargo,
accediendo a ella desde el menú Inicio se hace bastante tedioso utilizarla ya que,
para llegar a un directorio concreto donde queramos trabajar, se debe escribir
toda la ruta al utilizar la orden de línea de comandos CD, o bien usarla varias
veces hasta alcanzar el directorio destino.

Sería muy útil disponer de una opción en el menú contextual de cada directorio
que nos abriera una ventana de comandos que ya estuviese situada en ese
directorio.

Existen varias herramientas circulando por la red que permiten obtener esta
función pero, a lo mejor, no tenemos ninguna a mano en un momento dado.

Conseguirlo usando los medios a nuestro alcance es una tarea relativamente


sencilla. Se trata de editar el registro de Windows, al igual que en el truco
anterior. Abra el registro y sitúese en la clave
HKEY_CLASSES_ROOT\Directory\Shell. Una vez allí, cree una nueva
subclave con el nombre que prefiera (por ejemplo, linea_de_comandos). Cambie
el contenido de su valor por defecto (Default) para poner el texto que le gustaría
mostrar en el menú contextual, por ejemplo “Abrir línea de comandos aquí...”.

Cree una nueva subclave dentro de la anterior y nómbrela command (esta sí debe
llevar exactamente este nombre, respetando el que sea en letras minúsculas).
Cambie el contenido de su valor por defecto para que ponga:

- en Windows 9x:

command.com /k cd “%1”

-o bien en Windows NT/2000:

cmd.exe /k cd “%1”

Ahora, cuando pulse con el botón derecho sobre un directorio cualquiera tendrá
la nueva opción disponible.
Puede hacer que funcione también con las unidades de disco si modifica del
mismo modo la clave HKEY_CLASSES_ROOT\Drive\Shell.
3.- Usar nombres largos con facilidad en una
ventana de línea de comandos de Windows 9x

En ocasiones, al trabajar desde línea de comandos, se da la circunstancia de que


necesitamos usar un nombre largo de Windows 9x como argumento para una
orden. Por ejemplo, para listar el contenido del directorio Archivos de Programa.

Si escribimos cd Archivos de Programa para intentar acceder a dicho directorio


obtendremos un mensaje de error porque no se encuentra la ruta y además se
usan parámetros incorrectos (esto no ocurre en Windows NT/2000).

Sin embargo, escribiendo el nombre largo entre comillas dobles obtendremos el


efecto deseado.

Otra situación habitual se produce cuando estamos usando un ejecutable en un


directorio, pero necesitamos actuar con él sobre un archivo situado en otro
directorio. Lo habitual sería que escribiéramos la ruta completa del archivo
después del ejecutable a utilizar. Pero existe una manera mucho más sencilla de
hacerlo en todas las versiones de Windows, que consiste en arrastrar
directamente el archivo desde el explorador de Windows sobre la línea de
comandos. Al hacerlo se escribe la ruta completa de manera automática y nos
ahorra mucho trabajo, tal y como muestra la figura adjunta.
4.- Aumentar la seguridad de las claves en
Windows NT/2000

En Windows NT y Windows 2000 las claves de usuario se guardan en la base de


datos denominada SAM (Security Account Manager). En realidad lo que se
guarda ahí no son las claves, sino unos Hash obtenidos a partir de ellas Los Hash
son números de longitud fija que se obtienen a partir de unos determinados datos
(en este caso las propias claves), y a partir de los cuales no es posible obtener los
datos que los generaron. De esta manera, si se guardan los Hash y no las propias
claves, no es posible determinar cuáles fueron las claves que los generaron, y
para verificar una clave dada basta con comprobar su Hash y ver si coincide con
el que está guardado.

De todos modos, si algún asaltante robase la base de datos del SAM siempre
podría intentar un ataque de fuerza bruta, comparando los Hash de todas las
claves posibles con los que están almacenados en dicha base de datos. En cuanto
encontrara una coincidencia habría determinado una clave.

Con el Service Pack 3 de Windows NT 4 (ya viene integrado por defecto en


Windows 2000), Microsoft incluía una herramienta llamada Syskey cuya misión
era aumentar todavía más la seguridad de la base de datos del SAM mediante el
procedimiento de cifrarla usando encriptación fuerte. De este modo, si un
atacante lograra hacerse con los datos del SAM antes de proceder al ataque de
fuerza bruta tendría que averiguar la clave de cifrado de Syskey. Este hecho
aumenta la seguridad ante este tipo de ataques en varios órdenes de magnitud, de
modo que incluso se ha considerado que sería imposible de llevar a cabo en un
tiempo razonable.

Si quiere añadir este nivel de seguridad a su sistema puede ejecutar la


herramienta con sólo ir a Inicio•Ejecutar y escribir syskey en la línea de
comandos.

El lector que requiera más información podrá encontrarla en el artículo de la


Knowledge Base support.microsoft.com/support/kb/articles/Q143/4/75.asp,
desde donde podrá descargar la herramienta si no dispone de ella en su sistema.
Los usuarios de Windows NT 4 deberán tener en cuenta algunos pequeños
problemas que podrían tener y sus correspondientes soluciones, para lo cual son
recomendables los artículos Syskey Tool Reuses Keystream
(support.microsoft.com/support/kb/articles/q248/1/83.asp) y SYSKEY on
Terminal Server Causes Intermittent Logon Problems
(support.microsoft.com/support/kb/articles/Q231/3/74.ASP).
5.- Cambiar el estado de la tecla NUMLOCK en
Windows NT/2000

En Windows NT y 2000, por defecto, la tecla de bloqueo de números se


encuentra desconectada. Esta tecla está situada en la parte superior izquierda del
teclado numérico y generalmente tiene impreso el texto Bloq Num. Si se nos
olvida activarla es muy probable que en un momento dado vayamos a escribir
algún número empleando el teclado numérico y en lugar de ello nos movamos
por el texto, ya que cuando el bloqueo está desactivado los botones actúan como
flechas del cursor. Esto es especialmente malo si un usuario no lo advierte y
escribe su clave de acceso al sistema usando el teclado numérico desactivado. Al
no escribir los números que formen parte de su clave no será capaz de entrar
hasta que se percate del fallo.

Para cambiar este comportamiento abra el editor del registro y busque la clave
HKEY_USERS\.DEFAULT\Control Panel\Keyboard. Cambie el contenido del
valor InitialKeyboardIndicators. Si se le asigna el valor 0, que es el que tiene por
defecto, NUMLOCK estará desactivada, pero si se cambia para que valga 2,
ahora se encontrará activada nada más iniciarse el sistema.
6.- Escribir rápidamente un correo electrónico

Si está acostumbrado a enviar correos continuamente mientras trabaja, este truco


es para usted. Hay días en los que necesitamos enviar correo a diferentes
personas en distintos momentos a lo largo de una misma jornada de trabajo. Sin
embargo, no nos apetece tener el gestor de correo abierto todo el tiempo y
tampoco queremos tener que ejecutarlo en cada ocasión. Sería mucho mejor
disponer de un botón o de una tecla rápida que nos permitiera escribir un correo
electrónico bajo demanda sin necesidad de abrir el gestor de correo electrónico
que esté configurado por defecto en el sistema.

Para conseguirlo cree un acceso directo en el escritorio de Windows (o en alguna


de las barras de acceso rápido si trabaja con Windows 98 o Internet Explorer 4)
y escriba la palabra mailto: en el cuadro línea de comandos, tal y como indica la
primera figura (no se olvide de los dos puntos finales). Pulse sobre Siguiente y
asígnele un nombre suficientemente descriptivo, como por ejemplo Enviar un
nuevo correo electrónico, y pulse sobre Terminar.

Ahora pulse con el botón derecho sobre el acceso directo recién creado y escoja
la opción Propiedades. En la lengüeta Acceso directo a Internet que aparecerá
seleccione la opción Cambiar Icono. De este modo se mostrarán los iconos
definidos en el sistema para su gestor de correo predeterminado, pudiendo
escoger uno de ellos u otro cualquiera que esté en su disco duro (vea la segunda
figura).
Tras colocar el acceso directo en el sitio que le resulte más cómodo bastará con
pulsar sobre él para que se abra una pantalla de edición de correo electrónico del
programa gestor que tenga como predeterminado en su sistema.

Si trabaja con Windows 98, también resulta útil asignar una tecla de método
abreviado al acceso directo. Para ello, colóquese en el campo que pone Tecla de
método abreviado y pulse una letra cualquiera (por ejemplo la M de “mail”). Al
pulsar una letra, en este caso la M, automáticamente se le añadirán Ctrl y Alt.
Ahora, basta con que pulse la combinación elegida (Control + Alt + M) para que
automáticamente pueda escribir un correo electrónico.
7.- Crear un mensaje de aviso en NT/2000
En determinados sistemas resulta conveniente advertir a los usuarios de ciertas
obligaciones y derechos que adquieren por el hecho de acceder al sistema.

Para que aparezca un mensaje de aviso al iniciar un equipo con Windows NT se


debe editar el registro de configuraciones del sistema.

Ejecute regedit.exe y busque la rama


HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/Current
Version/Winlogin

Edite la clave LegalNoticeCaption y asígnele el texto que desee que aparezca


como título del mensaje de aviso. Edite la clave LegalNoticeText e introduzca el
texto del mensaje.

La próxima vez que se inicie el sistema y antes de pedir la información de


“Login” del usuario se mostrará una ventana con la nota de advertencia que haya
escrito en esta clave.
8.- Arranque más rápido del sistema

En Windows 95/98 cada vez que el sistema operativo se inicia comprueba la


existencia de nuevas unidades de disco. Esta operación ocupa al sistema unos
segundos durante el proceso de arranque, por lo que hace que se tarde más en
iniciar.

Se pueden ahorrar unos segundos en el inicio del sistema operativo desactivando


esta comprobación de existencia de nuevas unidades. Abra la ventana de
propiedades del sistema (tecla Windows + Pause) y acceda a las propiedades del
sistema de archivo. Deberá entrar en la segunda pestaña, Disco. Allí, desactive la
única opción disponible Buscar nuevas unidades de disco cada vez que inicie su
PC. Ahora su PC podrá estar en condiciones de funcionar unos segundos antes
de lo habitual.

Si alguna vez desea añadir una nueva unidad de disco al sistema no debe olvidar
activar de nuevo este proceso de detección de unidades para evitar posibles
problemas.
9.- Inicio de sesión automático en Windows
NT/2000

Windows NT y Windows 2000 requieren que el usuario pulse la combinación de


teclas Ctrl + Alt + Supr para mostrar la ventana de autenticación de usuario, en
la que además se debe introducir un nombre de usuario y una clave antes de
acceder al sistema.

Muchas personas usan estos sistemas operativos como sistema de sobremesa


alternativo a Windows 9x, debido a su rendimiento y estabilidad, sin embargo no
se encuentran utilizándolo en un entorno multiusuario e incluso puede que ni
siquiera en una red. Por lo tanto sería deseable para ellos eliminar los pasos de
inicio descritos de forma que al encender el ordenador este entre directamente
con un usuario y una clave determinadas sin interrumpir al usuario por el
camino, ya que la seguridad no le preocupa.

Se puede conseguir el efecto deseado si se cambian un par de claves en el


registro. Concretamente se deben añadir las claves del tipo REG_SZ:

DefaultDomainName
DefaultUserName

DefaultPassword

a la rama HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Winlogon.

Estas claves especifican, obviamente, el nombre de dominio contra el que se


autenticará de forma automática (generalmente pondremos el nombre del equipo
local si se trata de un ordenador doméstico), el nombre del usuario y su clave.

También se debe fijar el valor de la clave AutoAdminLogon a 1. Si no existe


esta última clave deberá añadirla manualmente. Es también del tipo REG_SZ.

Después de estos cambios el sistema arrancará sin pedirle nombre de usuario ni


contraseña.
10.- Opciones de arranque en Windows 9x

Al arrancar un sistema Windows 9x si pulsamos la tecla F8 justo después de que


aparezca la frase Iniciando Windows... se nos muestra un menú con varias
posibilidades de arranque distintas. Se trata del mismo menú que aparece de
manera automática tras un intento fallido de arrancar o apagar el equipo.

Desde este menú es posible arrancar el sistema de diferentes maneras para


intentar solucionar errores y fallos en el inicio.

Las distintas opciones que aparecen son:

· Normal: si escogemos esta opción se arrancará el sistema de la forma habitual.


Es como si no hubiésemos pasado por el menú de arranque.

· Sesión iniciada (\Bootlog.txt): la primera vez que Windows se inicia tras su


instalación, guarda un registro de las operaciones que se van efectuando en el
proceso de inicio. Dicho registro se guarda en un archivo en el directorio raíz de
nombre Bootlog.txt. En las siguientes ocasiones que arranquemos el sistema no
se guardará tal registro.

Al encontrarnos con un problema en el inicio del sistema, podemos intentar


averiguar qué ha ocurrido guardando un nuevo registro gracias a esta opción.
Posteriormente podremos estudiar con detenimiento lo que se ha guardado en
Bootlog.txt y nos será más sencillo determinar dónde ha ocurrido el fallo.

El lector interesado puede encontrar más información sobre la estructura y


contenidos de Bootlog.txt en el siguiente archivo del Kit de Recursos de
Windows 9x: msdn.microsoft.com/library/winresource/dnwin95/S6F45.HTM

· Modo a prueba de fallos: en esta opción Windows se inicia sin procesar los
archivos de configuración inicial y usando controladores de dispositivo
genéricos que se sabe van a funcionar en cualquier hardware compatible con los
estándares más comunes. De este modo se asegura que si no está dañado
ninguno de los dispositivos indispensables para el funcionamiento del equipo
(disco duro, tarjeta gráfica...), el sistema se iniciará y podremos intentar
solucionar un problema o al menos obtener copias de seguridad de nuestros
archivos.

En este modo a prueba de fallos no dispondremos de conexión a la red local.

Se puede iniciar directamente en modo a prueba de fallos pulsando F5.

· Modo a prueba de fallos con soporte para red: es igual al anterior pero con
posibilidad de utilizar la red local para transferir datos desde y hacia otros
equipos.

· Confirmación paso a paso: mediante esta opción se nos irá preguntando


durante todo el proceso de inicio qué se debe hacer en cada paso: si se debe
cargar un determinado controlador de dispositivo o no, si se debe procesar un
archivo de inicio o no, etc... Sólo se recomienda para usuarios avanzados, ya que
es necesario saber para qué sirve cada uno de los archivos por los que se nos
pregunta.

· Sólo símbolo del sistema: se inicia el sistema procesando sólo los archivos
Autoexec.bat, Config.sys y el registro del sistema, de modo que aparecerá la
línea de comandos en lugar del entorno gráfico de Windows. Nuevamente sólo
se recomienda a usuarios avanzados que sepan manejarse mediante comandos
del antiguo MS-DOS.
· Sólo símbolo del sistema en modo a prueba de fallos: se utiliza para arrancar
en línea de comandos, pero en esta ocasión sin procesar siquiera los archivos de
inicio, usando sólo el común denominador de forma que sea altamente
improbable que el sistema falle. Se puede ir directamente a este modo pulsando
Mayúsculas + F5.

· Versión anterior de MS-DOS: esta opción sólo aparecerá en algunos sistemas,


ya que en otros más modernos ni siquiera está contemplada. Se usaba sobre todo
en Windows 95 porque muchas personas instalaban MS-DOS 6.2 y
posteriormente le añadían Windows 95 por encima. De este modo podían utilizar
ciertos programas más antiguos que sólo podían funcionar en MS-DOS 6.2 y no
en la línea de comandos de Windows. Es recomendable no usar esta opción
aunque le aparezca, porque en las versiones posteriores a Windows 95 OSR2 se
corrompen los archivos del sector de arranque de Windows que luego son
difíciles de reparar.
11.- Denegar el acceso a las propiedades de
pantalla

Si está al cargo de una pequeña sala de informática en alguna academia o


cibercafé, seguro que encontraráútil este truco, ya que impedirá que los usuarios
puedan modificar las propiedades de pantalla de Windows. De este modo no
serán capaces de acceder al diálogo correspondiente y por lo tanto no podrán
cambiar la resolución de la pantalla, ni el número de colores, etc.. asegurándose
de que siempre estarán correctamente ajustados. Este truco funciona en todas las
versiones de Windows.

Abra el editor del registro y busque la rama


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System.
Si esta última clave, System, no existe créela. Dentro de ella añada un nuevo
valor de tipo DWORD y con el nombre NoDispCPL. Si le asigna a este nuevo
parámetro el valor 1 sus usuarios solamente verán la ventana de la figura cuando
intenten acceder a las propiedades de configuración de pantalla. Puede restituir
el sistema a su estado original cambiando el valor del parámetro a 0.
12.- Denegar el acceso a las herramientas de
modificación del registro

Este truco es muy similar al anterior, pero en esta ocasión se restringirá


absolutamente el acceso al registro de configuraciones. Bueno, en realidad lo
que dejará de estar permitido es la utilización de las herramientas del sistema
que facilitan la manipulación y el acceso al registro (regedit.exe y regedt32.exe).

Se trata de añadir el valor DisableRegistryTools (de tipo DWORD también) a la


misma clave que hemos utilizado en el truco anterior, esto es,
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System.
El valor que debe tener para bloquear las herramientas es 1, usando un 0 para
revertirlo a su estado inicial.

Hay que ser cuidadoso y tener en cuenta que usando este truco se bloquea
también el propio acceso al registro, de forma que para obtener una marcha atrás
y volver a habilitar el acceso al registro será necesario usar un programa
especial, ya que las herramientas habituales no nos lo permitirán. Lo más
recomendable para evitar esta situación indeseada es crear el mencionado valor
DisableRegistryTools con el dato 0 (valor por defecto), y antes de cambiarlo a 1
para deshabilitar las herramientas del registro, exportar el contenido de su clave
asociada (System) a un archivo ‘.reg’ desde la correspondiente opción del menú
Archivo de regedit, tal y como ilustra la figura adjunta. Posteriormente, bastará
con hacer doble clic sobre el recién creado archivo para disponer de nuevo de
acceso a las herramientas de edición del registro.
13.- Acceso rápido al escritorio
Desde la aparición, con Internet Explorer 4, de las barras de acceso rápido a
aplicaciones, se puede acceder rápidamente al escritorio si pulsamos el icono que
en la figura adjunta se muestra en quinto lugar por la derecha (recuadrado en
rojo). Al utilizarlo, se minimizan al mismo tiempo todas las ventanas que haya
abiertas de manera que podemos hacer uso de cualquier icono u objeto que se
encuentre en el escritorio. Si lo volvemos a pulsar todas recuperan su estado
inicial.

Se puede conseguir el mismo efecto de manera más rápida si pulsamos al mismo


tiempo la tecla de Windows y la letra D. Este método tiene la ventaja de ser más
rápido que el anterior, ya que no es necesario que atinemos con el ratón sobre el
reducido espacio del icono (de 16 x 16 píxeles solamente).

Este truco funciona con Windows 98, Windows Me y Windows 2000. En


Windows 95 deberemos usar la combinación Windows + M si queremos que
todas las ventanas se minimicen.
14.- Teclas de navegación rápida

Cuando utilicemos el explorador de Windows si tenemos instalado Internet


Explorer (es decir, en el 90% de los casos), podemos comprobar fácilmente que,
en realidad, este explorador es el mismo que se utiliza para navegar por Internet,
sólo que con un aspecto ligeramente distinto al que estamos acostumbrados. Si
escribimos una URL en la barra de direcciones navegaremos hasta ella, aunque
en el instante anterior estuviese mostrando el contenido de un directorio de
nuestro disco duro.

Dado que se trata del mismo programa existen multitud de trucos del navegador
que sirven igualmente para el explorador de archivos. Uno de los más útiles
aunque infrautilizados es el uso de teclas rápidas para moverse por las carpetas
que hemos visitado.

Al igual que Internet Explorer guarda un historial de las páginas que hemos
visitado con la instancia actual del programa, el explorador hace lo propio con
las carpetas. De ese modo podemos regresar a una carpeta que hemos visitado
anteriormente pulsando sobre las flechas de avance situadas en la parte superior
izquierda de la barra del explorador. Al regresar a una vista de carpeta anterior
incluso aparecerán seleccionados los mismos objetos que ya lo estuviesen con
anterioridad, con el ahorro adicional de tiempo que ello supone.

Se puede navegar más rápidamente por las vistas si usamos las teclas de avance,
que son ALT + Flecha Izquierda para ir hacia atrás, y ALT + Flecha Derecha
para moverse hacia delante.
15.- Solucionar el problema de apagado en
Windows cuando hay muchas unidades de red
asignadas

Algunos sistemas Windows (concretamente Windows 95 y Windows 98 SE)


dejan de responder si los apagamos y hemos asignado un número elevado de
unidades de red desde la opción correspondiente del explorador de Windows.
Este comportamiento erróneo ha sido reconocido por Microsoft y, en su día,
pusieron a disposición del público el parche correspondiente.

Si en su red local suele acceder a muchos recursos compartidos que asocia a


unidades de red es probable que pueda llegar a sufrir este problema, por lo que le
aconsejamos que se actualice cuanto antes. Podrá encontrar el parche en la
página
www.microsoft.com/Windows98/downloads/contents/WURecommended/q260067/Default.as

En la segunda ventana se le pedirá que acepte una acuerdo de utilización del


programa y en la lista de la parte superior debe asegurarse de que escoge la
descarga de la versión en español (I Accept•downloadSpanish version), ya que
en caso contrario se descargará una en inglés que no podrá instalar.
Linux
Daniel Avila Rubio

davila@idg.es
16 Arrancar el sistema en modo monousuario

Los sistemas UNIX y compatibles, como Linux, realizan una serie estándar de
pasos para iniciar el sistema. Primero se carga el boot manager, que puede ser
Lilo, el gestor de arranque de OS/2 o el BootMagic, por ejemplo. El boot
manager se encarga de cargar el kernel (base del sistema) en memoria. Una vez
con el kernel en memoria se pasa el control directamente al comando sbininit,
que es el primer comando que se ejecuta en un sistema UNIX. El proceso init
carga los archivos de configuración del sistema localizados en etcrc.d (aunque
depende de la versión) para arrancar los servicios esenciales del sistema, como la
red o tareas básicas de administración, para por fin terminar de iniciar el sistema
y presentar el “login” de usuario.

Existe un método para evitar el arranque normal de un Linux a través de su


gestor de arranque, Lilo. Una de las opciones de este gestor es “init=”, mediante
la cual podemos indicar a Lilo qué proceso arrancar en lugar del sbininit por
defecto. Para acceder a las opciones de Lilo debemos pulsar la tecla TAB al
reiniciar el sistema para que nos muestre el prompt “Lilo boot:”. Pulsando una
vez más TAB vemos una lista de los núcleos disponibles en Lilo, aunque si no
hemos instalado alguno adicional, el nombre será “linux”. Introducimos lo
siguiente para cargar el bash en lugar del proceso init:

Lilo boot: linux init=/bin/bash

Una vez que obtengamos el prompt del shell, estaremos validados como root,
por lo que podemos realizar cualquier tarea de mantenimiento. Pero antes de
efectuar ningún cambio en el disco duro, lo primero que tenemos que hacer es
remontar la partición raíz con las opciones de escritura activas, con el siguiente
comando:
mount / -ro remount

Después podemos realizar los cambios que deseemos, sin olvidarnos de ejecutar
el comando sync antes de finalizar para escribir los buffers almacenados en
memoria al disco duro.
17 Uso del operador <<
En un shell de UNIX existen los llamados operadores de direccionamiento, que
tienen como fin redirigir la entrada y/o salida estándar de un comando a un
fichero. La mayoría de usuarios han empleado alguna vez los operadores >, >> y
<, cuya misión es, respectivamente, redirigir la salida de un comando a un
fichero, añadir la salida al final de un fichero y redirigir la entrada estándar a un
comando.

Normalmente un comando lee la entrada estándar de un teclado hasta que se


produce el final de fichero (End Of File, EOF). En la mayoría de sistemas esto se
consigue pulsando la combinación CTR-D.

Con el operador << podemos simular la introducción de datos en la entrada


estándar en un comando que acepte órdenes interactivas (como la mayoría de
comandos del shell). Para aplicar este operador necesitamos una cadena de
caracteres que vamos a usar como indicador de fin de fichero, que se escribe
directamente detrás del operador. A partir de aquí todo lo que tecleemos se irá
guardando en un buffer temporal, incluyendo los retornos de carro, hasta que el
shell encuentre la cadena en cuestión. Entonces comenzará a procesar el
comando con las líneas que hemos introducido tal y como sería interactivamente.
Veámoslo con un ejemplo:

ftp –n <<_EOF

open ftp.funet.fi

user anonymous anonymous@mail.com

bin

hash

cd pub

dir

bye
_EOF

En el ejemplo arrancamos el software cliente ftp con la opción –n para que no


pregunte la clave, y establecemos como cadena de fin de fichero _EOF. Los
siguientes comandos son internos del ftp y los podemos sustituir por cualquiera
que queramos, como descargar o subir archivos. Por lo tanto, con el operador <<
podemos construir scripts automatizados para realizar tareas frecuentes.
18 Impedir el uso de CTRL+ALT+DEL

La famosa combinación de teclas CTRL+ALT+DEL se usa para reiniciar el


ordenador, tanto en MS-DOS, Windows 9x y también en Linux.

En ocasiones es necesario limitar el uso de estas teclas para evitar el reinicio


innecesario de nuestro servidor Linux, sobre todo si está ejecutando algún
servicio de red o algún demonio (daemon) que no debe ser reiniciado.

Para evitar que cualquier usuario tenga acceso a estas teclas, debemos modificar
el fichero etcinittab y modificar la línea cuyo primer argumento es ca. El último
argumento indica al sistema el comando a ejecutar cuando se presiona esta
combinación de teclas, por defecto ejecuta la orden shutdown –t3 –r now. En
nuestro caso, podemos cambiar el shutdown que hace reiniciar la máquina por el
comando que nosotros deseemos, como por ejemplo un mensaje de aviso:

ca::ctrlaltdel:sbinshutdown -t3 -r now

por

ca::ctrlaltdel:echo “Acceso denegado”

Con esto conseguimos, después de haber reiniciado la máquina, que al pulsar la


combinación CTRL+ALT+DEL se muestre en pantalla el mensaje Acceso
denegado. Para reiniciar el servidor manualmente sólo tenemos que acceder al
sistema como root y teclear la orden reboot.
19 Mejorar tiempos de compilación

Si tiene un sistema multiprocesador o mucha memoria libre (256 MB o más)


existe una opción en el comando make que acelerará el proceso de compilación,
mediante el lanzamiento en paralelo de varias instancias del compilador así
como del linker.

Para activar esta opción pasamos como argumento a make la letra j seguida del
número de trabajos simultáneos que deseemos realizar, por ejemplo: make –j 5

A mayor cantidad de procesos paralelos, mayor cantidad de memoria


necesitaremos. Lo mejor para saber qué número se adecua más a nuestro caso es
probar diferentes valores y monitorizarlos con la utilidad top en otra consola,
vigilando que el tamaño de la memoria usada no supere a la memoria física.
20 Capturar una pantalla remota de X-Window
El sistema X-Window permite el control remoto de aplicaciones mediante una
comunicación cliente-servidor basada en el protocolo TCP/IP.

En ocasiones puede resultar útil capturar una pantalla de un servidor remoto para
poder verla en nuestro equipo, para posteriormente guardarla o imprimirla. Para
ello, el servidor debe permitir el acceso a los recursos a otros equipos en la red.
Una forma fácil de hacer esto es mediante la orden: xhost +.

Una vez con permisos de acceso concedidos podemos capturar la pantalla a


través del comando estándar xwd (man xwd) y mostrarla mediante su homólogo
xwud, creando un PIPE entre ellos de esta forma: shell# xwd –display destino:0 |
xwud –display origen:0

donde destino es la dirección IP del host que queremos capturar la pantalla y


origen es la dirección del display donde queremos mostrarla. Si es el mismo en
el que nos encontramos podemos evitar este parámetro. Al capturar una pantalla
con xwd se produce un pitido en el ordenador afectado.
21 Iniciar varias sesiones X
En el sistema operativo Linux disponemos normalmente de 6 consolas de texto
virtuales (aunque es variable de una distribución a otra) que podemos alternar
con las teclas CTRL+ALT+Fn, donde F indica las teclas de función
correspondiente al número n.

Estas consolas nos permiten establecer sesiones simultáneas en nuestro sistema,


en las cuales podemos ejecutar comandos independientes. Al iniciar el sistema
X-Window con la orden startx, se crea una nueva consola virtual en el número 7,
a la cual podemos acceder con CTRL+ALT+F7 al igual que las demás.

Para poder crear más de una consola virtual gráfica, es decir, arrancar varias
pantallas (displays) de X-Windows en nuestro sistema, cada una totalmente
independiente de otra, necesitamos especificar unos parámetros poco conocidos
al script de inicio de este entorno startx. La orden con la opción en concreto es:
startx -- :1

Con esto iniciamos una nueva consola gráfica a la que podemos acceder con
CTRL+ALT+F8, la cual tendrá como número de display el 1, es decir la variable
DISPLAY en esta consola será unix:1, y en la consola 7 será unix:0 (siendo unix
el nombre o la dirección IP de la máquina).

Si queremos crear más consolas sólo tenemos que ir incrementando el número


que pasamos como parámetro a startx, aunque –eso sí– teniendo en cuenta que
cada sesión X que arranquemos consumirá mucha memoria.
Internet
Gonzalo Álvarez Marañón

gonzalo@pcw.idg.es
22 Cómo ahorrar tiempo consultando el correo
web

Conéctese al sitio en el que tenga su cuenta de correo web e introdúzcase en ella.


Busque la opción para activar la lectura de su correo desde cualquier programa
de correo (como Outlook Express, Eudora o Netscape Messenger) utilizando el
protocolo POP3. Por ejemplo, en Correo Yahoo!, seleccione Opciones•Acceso
POP y reenvíos. Bajo la sección Registrarse, elija Sí Quiero usar el reenvío de
mensajes y el acceso POP. En contrapartida le enviarán publicidad, tal es el
precio que debe pagar, que no es muy alto, ya que sólo lo hacen de vez en
cuando. Por último, pulse Terminado. En la siguiente pantalla seleccione Acceso
Web y POP y apriete el botón Enviar. En otros servicios de correo web el
proceso es muy parecido. Ahora viene la parte más delicada: configurar su
cliente de correo.

Netscape Messenger. Puede crear una nueva identidad para consultar su correo
web. Seleccione Inicio•Programas•Netscape
Communicator•Utilidades•Administrador de perfiles de usuario y pulse el botón
Nuevo. Vaya rellenando todos los datos de su cuenta en Correo Yahoo!,
prestando especial atención a los siguientes: Servidor de correo de salida
(SMTP), igual a smtp.correo.yahoo.es y Servidor de correo de entrada, igual a
pop.correo.yahoo.es. La próxima vez que inicie Messenger con este nombre de
perfil que acaba de crear, podrá enviar y recibir correo desde Messenger a través
de su cuenta Yahoo!.

Outlook Express. En Herramientas•Cuentas seleccione Agregar y después


Correo. A continuación, escriba el nombre que quiera asociar a su cuenta de
correo web, por ejemplo, Juan Martín Campos. En la siguiente pantalla
introduzca su dirección de correo web, por ejemplo, jmarcam@yahoo.es. En la
siguiente, seleccione POP3 como servidor de correo entrante e introduzca su
dirección, pop.correo.yahoo.es. Introduzca después la dirección del servidor
SMTP para el correo saliente, en este caso, smtp.correo.yahoo.es. En la siguiente
pantalla, introduzca su nombre de cuenta y contraseña que utiliza para
conectarse a Correo Yahoo!. En la última pantalla pulse el botón de Finalizar y
ya tiene su cuenta configurada para poder acceder a su correo en Yahoo! desde
Outlook Express.

En adelante, ya no perderá tiempo introduciendo la contraseña y esperando a que


se carguen las páginas. Debe trabajar sin conexión, de manera que sólo se
conecta al principio durante unos segundos para descargar todo el correo nuevo
que pueda tener y al final durante unos instantes para enviar todos los mensajes
que haya escrito. Para trabajar con/sin conexión, simplemente haga doble clic
sobre los iconos que aparecen en la barra de estado. En el caso de Messenger, un
cable con un enchufe abierto o cerrado. En Outlook Express, un ordenador
conectado a red. Si está desconectado y solicita enviar/recibir mensajes, entonces
el módem le pedirá confirmación antes de conectarse de nuevo.
23 Errores de JavaScript bajo control

Resulta frecuente encontrarse con páginas que, debido a un mal diseño o errores
de programación, arrojan errores en JavaScript. Y no hay nada más desagradable
que recibir un aluvión de ventanas de error. Sin embargo, así como al internauta
medio estos mensajes de error no sirven más que para desconcertarle, al
desarrollador le pueden resultar de gran utilidad para localizar el fallo y
solucionarlo.

Netscape Communicator. Netscape incorpora una consola de JavaScript


especialmente pensada para los desarrolladores, que informa de los errores y su
causa, a la que se puede acceder tecleando simplemente javascript: en la ventana
de dirección. Por defecto, los errores no se muestran en ventanas insidiosas, sino
que se vuelcan a la consola, a la que se puede acceder en cualquier momento.

Si se desea que la consola aparezca automáticamente en cuanto se produzca el


primer error de JavaScript, se puede modificar a mano el archivo de
preferencias: cierre primero todas las ventanas de Netscape que tenga abiertas y
entonces (y sólo entonces) abra el archivo prefs.js, que se encuentra en su
directorio personal allí donde haya instalado Netscape, por ejemplo, C:\Archivos
de programa\Netscape\Users\gonzalo\prefs.js. Una vez abierto, añada la
siguiente línea:

user_pref("javascript.console.open_on_error", true);

y cierre el fichero, salvando los cambios. La próxima vez que se produzca un


error de JavaScript, aparecerá la consola informando del mismo.

Ahora bien, si le gusta la ventana de error tradicional, abra entonces el archivo


de preferencias y añada la siguiente entrada en vez de la anterior:

user_pref("javascript.classic.error_alerts", true);

Internet Explorer. Para desactivar las ventanas de error, seleccione


Herramientas•Opciones de Internet•Avanzadas y busque el grupo Examinar.
Busque la casilla Deshabilitar depuración de secuencias de comandos y
márquela. En adelante, cuando se produzca un error de JavaScript, se informará
de ello silenciosamente en la barra de estado, pero no se presentará una ventana.
Si se desea obtener información sobre el error, entonces haga doble clic sobre el
icono de admiración de la barra de estado y se abrirá una ventana informando de
lo que ha ocurrido.
24 Cómo escribir direcciones más rápidamente
¿Cansado de teclear una y otra vez las tres “w” y el puntocom del final? Pues
descanse utilizando el siguiente truco.

Netscape Communicator. Si la dirección que busca empieza por www. y


termina en .com, no tiene más que escribir la palabra que va en medio y
pulsando Enter, el navegador hará el resto.

Internet Explorer. En este caso, debe escribir la palabra central entre www. y
.com y pulsar Ctrl + Enter para que el navegador complete automáticamente lo
que falta.
25 Cómo personalizar la barra de vínculos

Tanto Netscape Communicator como Internet Explorer incluyen una barra de


vínculos (llamada barra personal en Netscape) en la cual el usuario puede
configurar sus propios botones a modo de atajos para llegar inmediatamente a las
páginas que se visitan con mayor asiduidad.

Netscape Communicator. Para añadir nuevos enlaces, simplemente navegue


hasta la página que desea incluir y entonces sitúe el ratón sobre el icono de
marcador. Verá que el puntero adquiere la forma de una mano agarrando algo.
Arrastre la mano hasta la barra personal y suéltela en la posición que desee.
Puede añadir tantos botones como quiera. Si por algún motivo la barra personal
no está visible, seleccione Ver•Mostrar•Barra Personal.

Internet Explorer. El truco consiste en navegar hasta la página que se desea


añadir y entonces arrastrar el icono de la ventana de dirección (que tiene forma
de página con una “e” azul superpuesta) hasta la barra de vínculos. Internet
Explorer proporciona un nivel de personalización mucho mayor, ya que permite
modificar incluso el icono asignado. Para ello, pulse con el botón derecho del
ratón sobre el botón que acaba de crear y en el menú emergente seleccione
Propiedades. Se abrirá una ventana en la que puede modificar el nombre del
botón, el URL a que hace referencia o su icono. Si no puede ver la barra de
vínculos, acuda a Ver•Barras de herramientas•Vínculos o bien pulse sobre
cualquier barra con el botón derecho del ratón y en el menú emergente
seleccione Vínculos.
26 Cómo navegar desconectado

Cuando visita una página web, ésta puede tardar algunos segundos en cargarse,
mientras que usted puede tardar varios minutos en leerla. Entretanto, su factura
telefónica sigue creciendo. En estos casos, puede resultarle útil navegar
desconectado.

Netscape Communicator. Aunque Communicator no ofrece directamente la


utilidad de sincronizar páginas web para navegar desconectado, lo cierto es que
con el siguiente truco se puede conseguir algo. Vaya a la página de su elección y
una vez en ella siga todos los enlaces que crea que le puedan interesar, pero sin
detenerse a leer el contenido de las páginas. De esta forma, el texto y las
imágenes, junto con otros ficheros adicionales, como hojas de estilos, ficheros de
JavaScript o applets de Java se cargarán en la caché. Ahora ya puede desconectar
el módem, seleccionar Archivo•Desconectar•Trabajar desconectado y volver a la
página inicial. Allí estarán todos los elementos y podrá seguir los mismos
enlaces que siguió anteriormente, tomándose todo el tiempo del mundo para leer
las páginas con tranquilidad. Si ha contratado tarifa plana, podría aprovechar
para realizar esta “precarga” de las páginas en el caché en las horas planas y
luego leer su contenido durante las horas en que no se aplica la tarifa plana. Un
atajo para seleccionar el trabajo conectado o desconectado consiste en pulsar con
el ratón sobre el icono del enchufe en la barra de herramientas.

Internet Explorer. Si existe una página que le interesa poder consultar


habitualmente, pero sin estar pendiente del reloj, guárdela en su carpeta de
Favoritos, seleccionando Favoritos•Agregar a Favoritos y asegurándose de que
marca la casilla Disponible sin conexión. Pulse entonces el botón Personalizar y
siga las instrucciones del asistente, que le guiará para configurar entre otras
cosas si desea que las páginas referenciadas estén también disponibles sin
conexión, qué niveles de vínculos desea disponer sin conexión, cuándo desea
que se sincronicen las páginas: cuando usted lo indique o automáticamente al
iniciar sesión o a intervalos regulares u horas del día que usted programe, etc. De
esta forma, puede conservar en su disco una copia siempre al día de las páginas
web que más le interesen, que se actualizará cuando usted lo desee. Puede elegir
trabajar sin conexión en Archivo•Trabajar sin conexión. En la barra de estado
aparecerá un icono que le informa de que está navegando sin conexión.
27 Cómo saber la dirección de la página

Con tanto marco (o frame) y tanta ventana que aparece sin barras de botones ni
de dirección, a veces nos resulta difícil llegar a saber cuál es la verdadera
dirección de una página. Por mucho que naveguemos, en la barra de dirección
siempre aparece el mismo URL. Si se quiere guardar en los marcadores esta
página concreta, no la página de inicio del sitio, o se le quiere pasar el enlace a
un amigo, ¿cómo saber cuáh es la dirección?

Netscape Communicator. Si la página está dentro de un marco, pulse con el


botón derecho del ratón sobre la página en cuestión y en el menú emergente que
aparece seleccione Abrir marco en ventana nueva. Se abrirá una nueva ventana
de Communicator, en la cual ya podrá ver en la ventana de dirección el URL de
la página, ya que no aparece dentro de marcos. Otra posibilidad consiste en ver
la página directamente en una nueva ventana: cuando vaya a seguir un enlace, en
vez de pulsar sobre él con el botón izquierdo del ratón, como haría normalmente,
pulse con el derecho y el menú emergente seleccione Abrir en nueva ventana o
Abrir marco en nueva ventana, indistintamente. Si la página no tiene ninguna
barra, y por lo tanto no aparece la ventana de dirección donde poder leer el URL,
aún puede verlo si pulsa en cualquier lugar de la página con el botón derecho y
selecciona Ver información.

Internet Explorer. A diferencia de Communicator, IE no le permite escapar de


una página de marcos. De manera que si quiere conocer la dirección de una
página web que ya ha visitado, pulse en cualquier punto de ella con el botón
derecho del ratón y seleccione Propiedades. Se abrirá una ventana en la que
puede consultar información sobre la página, entre otros datos, su URL. El otro
truco también se puede utilizar con IE. Antes de seguir el enlace, pulse sobre él
con el botón derecho del ratón y elija Abrir en una ventana nueva.
28 Cómo ganar espacio en la pantalla

Aunque el precio del hardware desciende cada día, los monitores parecen no
darse por enterados. Los de 17 pulgadas son todavía un lujo y los de 21, mejor
no hablar de ellos. En estas condiciones, hay que ganar espacio a toda costa.

Netscape Communicator. Lo primero de todo, haga que los botones ocupen


menos. Vaya a Edición•Preferencias•Apariencia y seleccione Sólo imágenes o
Sólo texto, lo que prefiera. No es mucho, pero peor es nada. Si hoy se siente
aventurero y considera que puede prescindir por completo de la barra de
navegación, entonces elimine su selección en Ver•Mostrar•Barra Navegación. Y
adiós a la barra. Si no le interesa el resto de barras, la de dirección y la personal,
repita la operación para cada una de ellas; aunque bien puede pensar que estas
medidas son un tanto drásticas. Una solución de compromiso consiste en ocultar
las barras, pero sin llegar a eliminarlas. Para ello, restitúyalas a la pantalla, si las
había borrado, y pulse con el ratón sobre el borde de la izquierda. La barra se
oculta, pero volviendo a pinchar sobre el borde, que ahora ha cambiado de
orientación, las devolverá a la pantalla.

Internet Explorer. En primer lugar, conseguirá que los botones de la barra


estándar ocupen menos espacio. Seleccione Ver•Barras de
herramientas•Personalizar. En la ventana que se abre, seleccione Sin etiquetas
para el campo Opciones de texto e Iconos pequeños para el campo Opciones de
icono. Pulse Cerrar y habrá ganado su primera minucia de espacio. Para ganar un
poquitín más, puede ocultar todas o algunas de las barras de herramientas,
desactivándolas en Ver•Barras de herramientas. Un atajo para configurar estos
pormenores consiste en pulsar sobre cualquier barra con el botón derecho del
ratón. Se ofrecerán las mismas opciones que siguiendo el menú. Y si aún cree
que no ha ganado espacio suficiente, le queda el último recurso, la Pantalla
Completa. Pulse F11 o seleccione Ver•Pantalla completa. También existe un
botón que se puede poner en la barra estándar, para activar directamente la
pantalla completa. Si hace la prueba, verá que Internet Explorer ocupa toda la
pantalla y han desaparecido todas las barras, incluida la de menús y la de estado,
excepto la estándar. Se preguntará: “¿Y ahora cómo vuelvo a la pantalla
normal?” Si se fija, en la parte superior derecha tiene un botón de restauración,
que al ser pulsado devuelve el navegador al tamaño original. Opcionalmente,
pulsando con el botón derecho del ratón sobre la barra estándar podrá ir
añadiendo una tras otra el resto de barras.
29 Cómo evitar ser desconectado por
inactividad

Con eso de la tarifa plana, a veces uno se conecta a la Red y mantiene la


conexión aunque no esté utilizando en absoluto la conexión a Internet. Se dará
cuenta de que con mayor frecuencia de la esperada, uno es desconectado por las
buenas, debido al largo tiempo de inactividad, por lo que para seguir navegando
hay que empezar de nuevo el tedioso proceso de conexión. ¿Podrían evitarse
estas molestas desconexiones? Claro que sí. Existen docenas de programas de
antidesconexión que se instalan en el ordenador y velarán por que nunca vuelva
a ser desconectado, simulando actividad a intervalos programables para que su
proveedor de acceso a Internet crea que está continuamente utilizando su
conexión. Algunos de los más populares son: Connection Keeper 4.0
(http://www.gammadyne.com/conkeep.htm), StayOn Pro 3.26 (stayonpro.com) o
Stay Connected! 3.0 (www.inklineglobal.com/products/sc).
30 Cómo encontrar un sitio web desconociendo
su dirección

Recuerda que un sitio web se llama “xyz”, pero no sabe cuál es su dirección
web. Ha probado ya con www.xyz.com, www.xyz.es, www.xyz.net, e incluso
www.xyz.org, pero nada, no hay manera, la página no aparece. Ya no sabe qué
otra combinación probar. ¿Necesitará acudir a un buscador e introducir la
palabra para ver si así da con el dichoso sitio? No hace falta.

Netscape Communicator. Las nuevas capacidades de navegación inteligente de


Communicator resolverán el problema. Simplemente teclee en la ventana de
dirección el nombre del sitio web o alguna palabra significativa del mismo,
como “xyz”, y aparecerá una lista con las páginas más probables de
corresponder a la dirección correcta, por ejemplo, www.abc.com/xyz. Claro, ¿a
quién se le iba a ocurrir meter ese URL?

Internet Explorer. Pulse sobre el botón de Búsqueda de la barra de


herramientas y verá cómo a la izquierda le aparece una nueva ventana, dispuesta
como si fuera un marco o frame. En Buscar páginas Web que contengan escriba
la palabra que desea, por ejemplo “xyz” y se le devolverá una lista con las
páginas más probables.
31 Cómo enviar una página web por correo
electrónico

Sucede a menudo que nos topamos con una página interesante que deseamos
enviar a un amigo, o a nosotros mismos, para verla en otro ordenador. ¿No estará
pensando en copiar la dirección y abrir el cliente de correo para enviársela? No,
claro que no. Existen atajos mucho más rápidos.

Netscape Communicator. Con el navegador en la página que le gustaría enviar,


seleccione Archivo•Enviar página. Se le abrirá la ventana de redacción de
mensajes, en la que no tiene más que incluir la dirección de envío y ya está listo.
Aunque en la ventana Redacción no lo parezca, el destinatario recibirá una
réplica exacta de la página web en su buzón.

Internet Explorer. Ya se encuentra en la página que desea enviar. Bien, es tan


sencillo como apretar el botón Correo y elegir cualquiera de las opciones que se
le ofrecen: Enviar un vínculo, para enviar nada más que la dirección de la página
web visitada o Enviar página, para mandar la página completa, con imágenes y
todo, de manera que el usuario la vea en su cliente de correo igualita que si
estuviera usando el navegador. Alternativamente, puede seleccionar
Archivo•Enviar y luego la opción de envío que desee, sólo el enlace o la página
completa.
32 Cómo buscar grupos de noticias de su
interés

Existen miles y miles de grupos de noticias en Internet. Con tantos grupos,


¿cómo encontrar aquellos en los que se discute sobre algún tema de su interés?

Netscape Messenger. Pulse sobre el botón Leer grupos de noticias de la barra de


componentes o seleccione Communicator•Grupos de noticias. En la ventana de
Messenger, seleccione Archivo•Suscribirse. Se abrirá una ventana de diálogo
con varias pestañas. Seleccione la pestaña Buscar y una vez en ella introduzca la
palabra clave que identifique el tema sobre el que quiere encontrar grupos. Pulse
el botón Buscar ahora y aparecerán listados todos los grupos de noticias con esa
palabra en su nombre. Para suscribirse a uno de los grupos, selecciónelo de la
lista y pulse el botón Suscribirse. Para terminar, apriete el botón Aceptar y ya
habrá quedado suscrito a ese grupo. Puede repetir la operación para suscribirse a
más grupos o para buscar grupos sobre otros temas.

Outlook Express. Se supone que usted ya ha creado una cuenta para acceder a
un servidor de noticias. Seleccione Herramientas•Grupos de noticias y en la
ventana que se abre, en el campo Mostrar los grupos de noticias que contengan,
escriba la palabra clave que desea buscar. Automáticamente se listarán todos los
grupos que contengan en su nombre esa palabra. Es posible que el tema que
busca no aparezca directamente en el nombre del grupo, por lo que también se
pone a su disposición la posibilidad de buscar en la descripción del grupo,
cuando ésta se encuentre disponible. Ahora ya no tiene más que seleccionar los
grupos a los que desea suscribirse y pulsar el botón Suscribir. Para finalizar,
apriete el botón Aceptar y sus cambios se harán efectivos.
33 Cómo ahorrar en el espacio que ocupa el
correo en disco

Con el tiempo, si conserva todos los mensajes que ha ido recibiendo y enviando,
se dará cuenta de que ocupan más y más megas. No olvide que cuando elimina
un mensaje, en realidad no se borra, sino que se copia en la carpeta Trash (en
Messenger) o Elementos eliminados (en Outlook Express). En primer lugar,
debe vaciar esas carpetas para que los correos desaparezcan físicamente, eso sí,
tenga en cuenta que ya no se podrán recuperar. En segundo lugar, si ha recibido
mensajes con ficheros adjuntos, guarde en disco los ficheros y borre los
mensajes. Así ahorrará muchísimo espacio, especialmente cuando se trate de
archivos voluminosos. Por último, existe una forma sencilla de ahorrar espacio,
sin borrar mensajes, consistente en compactar las carpetas.

Netscape Messenger. Puede compactar periódicamente las carpetas


seleccionando Archivo•Compactar carpetas.

Outlook Express. Seleccione Archivo•Carpeta•Compactar si desea compactar


una carpeta específica o bien Archivo•Carpeta•Compactar todas las carpetas si
desea compactarlas todas.
34 Cómo crear plantillas para sus correos
electrónicos

Todos los días tiene que enviar unos cuantos correos con unos informes y unas
cabeceras estándares. No irá a decir que los teclea cada vez. ¡Qué va! Para eso se
crearon las plantillas. Aprenda cómo crearlas en su correo.

Netscape Messenger. Cree un mensaje con la apariencia y el texto que quiere


que aparezca en todos sus mensajes futuros. Puede utilizar imágenes de fondo,
logotipos, fotos... lo que quiera. Cuando haya terminado, seleccione
Archivo•Guardar como•Plantilla. El mensaje que acaba de crear se almacenará
en la carpeta de Plantillas (Templates). En adelante, cuando quiera usarla,
simplemente selecciónela de la carpeta de Plantillas (Templates) haciendo doble
clic sobre ella y edítela, para finalmente enviarla, tras haber rellenado
conveniente los campos del destinatario y el asunto.

Outlook Express. Cuando tenga abierta la ventana de redacción con el mensaje


que ha creado como plantilla, seleccione Archivo•Guardar, y el mensaje quedará
automáticamente almacenado en la carpeta Borrador. Posteriormente, podrá
editar el mensaje y enviarlo a su destinatario.
Microsoft Word 2000
Francisco Martín Peña

fmartin@pcw.idg.es
35 Autotexto e iconos a la carta

¿Cómo se puede colocar un icono en la barra de herramientas que me permita


insertar fácilmente textos y otros objetos con sólo hacer clic en él? Para ello debe
realizar dos tareas. La primera, crear un autotexto con un nombre (por ejemplo,
Cláusula); la segunda, hacer que el nombre elegido para el autotexto aparezca en
la barra de herramientas.

a) Para crear un autotexto, seleccione el texto y pulse Insertar•Autotexto•Nuevo


(o, más brevemente, pulse Alt+F3) para activar un cuadro donde deberá escribir
el nombre del autotexto (en nuestro caso, Cláusula).

b) Para crear un icono con el autotexto antes establecido, pulse


Herramientas•Personalizar•Comandos. En el cuadro que aparece, la pestaña
Comandos presenta una lista de categorías entre las cuales, casi al final, se
encuentra Autotexto. Si selecciona esta categoría, verá los nombres de todos los
autotextos disponibles, entre ellos nuestra ‘Cláusula’: arrástrela con el ratón
hasta la barra de herramientas y ya tiene un icono casero que seguramente le será
muy útil.

Observe que, a pesar de su nombre, puede crear un autotexto donde se encierre


un gráfico (como, por ejemplo, un corazón). El resultado es el mismo, según
puede observar en la imagen de ilustración: cada vez que pulse ‘su’ icono
Corazón el programa se lo dibujará.
36 Cortar de aquí y de allá
Con frecuencia necesitamos almacenar en el portapapeles distintos trozos de
texto dispersos por todo el documento. ¿Cómo hacerlo? Sencillamente,
seleccionando el texto y pulsando Ctrl+F3. Repita esta operación para llevar otro
texto más en el portapapeles, y así hasta que los haya ‘picoteado’ todos. Dentro
del portapapeles Windows estos textos se irán añadiendo al renglón siguiente, de
tal modo que forman una unidad textual que podrá pegar en cualquier sitio.

Dos advertencias: a) Los gráficos y las tablas reciben el mismo tratamiento que
si fueran texto; b) Este procedimiento ‘corta’ los textos seleccionados, es decir,
los hace desaparecer de la vista para ‘esconderlos’ en el portapapeles; si desea
conservarlos deberá recurrir a otro truco mostrado más adelante que hace
intervenir el portapapeles de Office.
37 Portapapeles Office?

Su utilidad está emparentada con truco anterior. El Portapapeles de Office es


capaz de conservar, perfectamente separados, hasta doce fragmentos textuales
que, si el usuario desea, puede insertar de un solo golpe. Para ello se vale de una
pequeña ventana con cabecera Portapapeles (x de 12). Su funcionamiento es
totalmente intuitivo, por lo que sólo indicaremos aquí cómo se activa. Quizás sea
debido a que muchos usuarios ignoran cómo activar el Portapapeles Office el
hecho de que esta interesante función se encuentre olvidada para el común de los
oficinistas y escritores que usan Word.

Para su activación, coloque el cursor en algún lugar de la barra de herramientas,


pulse el botón derecho del ratón y elija Portapapeles de la lista desplegada.
También puede ir a Herramientas•?Personalizar y en la lista que ofrece la
pestaña Barras de herramientas seleccionar Portapapeles. Inmediatamente
aparecerá una minúscula ventana con cuatro nichos, que, según vaya
incorporando fragmentos, mediante la función de copiar (Ctrl.+Ins), se irán
ampliando hasta doce.

Lo bueno de este recurso es que muestra visualmente el tipo de objeto


almacenado (texto, gráfico, etc.). Y si pasa el cursor por cada nicho activará una
leyenda que le orientará aún más sobre su contenido. Puede copiar algunos
fragmentos, todos a la vez, o simplemente vaciar este portapapeles. También
puede situar esta pequeña ventana como una barra de herramientas más, con
arrastrarla sencillamente hasta donde están las barras.
38 Corregir al corrector
Puede evitar que Word ‘auto-corrija’ lo que uno va escribiendo. Por ejemplo, si
desea escribir PCi y PCf (producción en curso inicial y final) y él se empeña en
escribir Pci y Pcf. Otro ejemplo lo habrá encontrado también en la numeración
automática de párrafos cuando en ocasiones lo único que desea es poner unos
determinados números al inicio de los mismos, pero controlando la numeración
personalmente. No se enfade con Word:, la primera vez que lo haga pulse el
icono Deshacer y Word, obediente, entenderá que no lo debe hacer más.

También puede seleccionar el carácter en minúscula (Pci) y reponerlo con


mayúscula (PCi). Cualquiera de estas dos acciones harán que Word detecte este
caso como una excepción y lo incluya en un diccionario de las mismas que
puede consultar y enriquecer. Pruébelo activando Herramientas•Autocorrección
y en la primera pestaña pulse el botón Excepciones.

El control del diccionario ortográfico es algo más complejo, pero igual de


comprensible. Escoja Herramientas•Opciones•Ortografía y gramática. En esta
pestaña haga clic sobre el botón Diccionarios y seleccione el que se llama
personal.dic. En el nuevo cuadro de diálogo haga clic sobre el botón Modificar y
obtendrá, tras un aviso sobre lo que va a hacer, una pantalla con las palabras que
haya agregado al diccionario corrector. Haga los retoques oportunos y hasta
aproveche para agregar directamente otras palabras que vaya a necesitar
(tecnicismos, términos anglosajones, etc.), una por párrafo. Guarde y cierre esta
ventana:

Observe que Word no le devolverá a Herramientas•Opciones sino al documento


desde el cual inició el procedimiento explicado.
39 Barra de herramientas propia

Cuando varios usuarios del mismo Word tienen distintas necesidades resulta
conveniente disponer de barras de herramientas personalizadas para cada uno.
Para ello, active Herramientas•Personalizar. En la pestaña Barras de
herramientas pulse el botón Nueva y coloque el nombre de la nueva barra (por
ejemplo, FMartin) en el cuadro que aparece. Le aconsejamos, además, que
coloque su barra en la plantilla normal seleccionando la opción Disponible en ....
Normal. Al pulsar Aceptar habrá creado una nueva barra de herramientas...
vacía.

Ahora es cuestión de rellenar esa barra, que le aparecerá como un minúsculo


rectángulo presidido por el nombre asignado. Active la pestaña Comandos (en la
ventana Herramientas•Personalizar) y arrastre con el ratón hacia ese rectángulo
los iconos (herramientas) que necesite. El rectángulo irá tomando poco a poco
forma de barra alargada. Usted la podrá desplazar con el ratón hasta colocarla
horizontalmente en la parte superior junto a las otras barras que tenga activadas.

Tenga presente, además, que en cualquier momento puede desplazar cualquier


barra. Si pasa el ratón por la línea vertical que tiene cada barra horizontal en la
extrema izquierda éste se convertirá en una conocida cruz santiagueña en señal
de que ya puede arrastrar la barra. Por último, tendrá en cuenta que se puede
copiar un icono de una barra a otra manteniendo pulsada Alt+Ctrl mientras
arrastra el icono.
40 Copiar un formato varias veces o repetir un
dibujo
El icono Copiar formato copia las características del párrafo (sangrías,
interlineados, etc.) en que se encuentra el cursor en el momento de activarlo, o
bien copia el formato de los caracteres seleccionados (negrita, cursiva, etc.), en
el párrafo o texto en que se pose el cursor (convertido, a su vez, en una expresiva
brocha gorda). Una vez aplicado el formato, la función se desactiva
automáticamente y el cursor vuelve a su figura normal

Pero con frecuencia necesitamos aplicar ese formato en muchos lugares del
documento (por ejemplo, el estilo Título 2 a todos los subapartados de nuestro
artículo científico) y en estos casos se ha de repetir la activación del icono tantas
veces como subapartados, lo que puede resultar realmente fastidioso. ¿Hay otra
manera de copiar formato más rápida? Sí. Basta con activar el icono Copiar
formato con un doble clic para que esta función no se desactive cada vez que se
aplica a algún texto. Una vez concluido el formateo, el icono se desactiva
haciendo un solo clic sobre el mismo.

Este mismo principio vale también para los iconos de línea, flecha, rectángulo y
elipse de la opción Dibujo.

Francisco Martín . Economista. Censor jurado de cuentas y profesor titular de


contabilidad analítica de la escuela de Empresariales de la Universidad de
Barcelona
Microsoft Excel 2000
Antonia Soler Carrascosa

asoler@pcw.idg.es
41 Habilitar (o deshabilitar) la función
Autocompletar

La función Autocompletar se halla activada por omisión en Excel. Su función es


completar el texto que hemos comenzado a escribir en una columna de datos si
los primeros caracteres tecleados coinciden con una entrada ya existente. Esto
facilita la entrada consistente de datos repetitivos en bases de datos. Por ejemplo,
en una lista de productos, facilitaría la introducción siempre igual del nombre de
la categoría del producto.

Sin embargo, si no trabajamos con listas, esta función puede resultar molesta. En
esos casos, puede desactivarse usando la opción de menú
Herramientas•Opciones•Modificar, desactivando la casilla de verificación
Habilitar Autocompletar para valores de celda.
42 Filtrar tablas dinámicas

Las tablas dinámicas ya estaban disponibles en versiones anteriores de Excel,


permitiendo resumir la información de una lista o base de datos. Pero Excel 2000
las ha mejorado considerablemente. Uno de los aspectos más útiles es que ahora
no sólo podemos filtrar la tabla por los campos ubicados en la posición página,
sino que además podemos filtrar los ubicados en las posiciones fila y columna.
Esto aumenta enormemente la flexibilidad de la información resumida en la
tabla.

Para crear una tabla dinámica usaremos la opción Datos•Informe de tablas y


gráficos dinámicos. Con ello se entra en un asistente de tres pasos que guía el
proceso de creación. Para concretar la información que debe mostrar la tabla,
pulsaremos en el paso 3 el botón Diseño. Al finalizar, veremos la tabla en
pantalla, con los botones de campo disponibles para aplicar filtros.
43 Numerar automáticamente facturas

Si usamos Excel para hacer facturas, pedidos o, en general, documentos que


deben numerarse de forma automática, conviene tener en cuenta que existen
unas plantillas ya preparadas para conseguir la autonumeración.

Se trata de las plantillas de Excel Informe de gastos, Factura y Pedido. Pueden


usarse seleccionándolas en Archivo•Nuevo•Soluciones de hoja de cálculo.

Al usarlas por primera vez deben personalizarse, indicando los datos relativos a
nuestra empresa. Para ello usaremos el botón Personalizar o cambiaremos a la
pestaña Personalizar.

Si queremos que la numeración automática de las facturas o pedidos empiece por


1 no hace falta indicar nada en la personalización. La plantilla ya ofrece una
barra de herramientas con un botón que agrega automáticamente números de
seguimiento secuenciales cada vez que un usuario asigne un número automático
a un nuevo formulario basado en la plantilla. Pero si la numeración automática
requiere mayor control, en la personalización podemos indicar la ruta a un
fichero de texto que actuará como contador, lo cual permitirá reiniciar
numeraciones o empezarlas en un número concreto. El fichero contador debe
tener el mismo nombre que la plantilla.

Otro tema interesante es que estas plantillas pueden almacenar la información


introducida en las hojas basadas en ellas en otro fichero (en el caso de Facturas
llamado BDFACTUR.XLS), que va disponiendo la información en forma de
lista o base de datos. Esta función también se facilita mediante uno de los iconos
de la barra de herramientas de la plantilla.

Por último, tengamos en cuenta que, para que todo lo anterior esté disponible,
debe tenerse instalado el complemento Herramientas de plantilla, que se carga
mediante la opción de menú Herramientas•Complementos.
44 Guardar un libro en formato HTML

En Excel 2000, cualquier libro de trabajo puede ser guardado como archivo
HTML mediante la opción Archivo•Guardar como página Web. El fichero así
generado podrá leerse con cualquier navegador, y si contiene hipervínculos,
éstos funcionarán siempre que se refieran a recursos disponibles para el usuario.

La posibilidad de guardar como HTML ya estaba disponible en Excel 97, pero


allí aparecía un asistente que preguntaba qué rangos del libro se deseaban
guardar en formato HTML. Y lo cierto es que el aspecto final del fichero
generado era poco atractivo.

En cambio, ahora no sólo se guarda el libro completo, sino que además podemos
controlar el aspecto final del fichero en el navegador.

Para personalizar el modo en que se realiza la conversión a HTML usaremos la


opción de menú Herramientas•Opciones•General•Opciones Web. Podremos
personalizar, por ejemplo, la ubicación donde se almacenarán los gráficos y
otros archivos auxiliares, especificar el formato en que se guardarán los gráficos
o la resolución del monitor donde se visualizarán las páginas.

Si se dejan las opciones por omisión, en el caso de que el libro contenga datos en
diversas hojas y gráficos, Excel crea un archivo HTML por hoja y un GIF por
gráfico, y los almacena en una subcarpeta con el mismo nombre del archivo
HTML principal seguido por la palabra _archivos. Al abrir el fichero principal
aparece activa la primera hoja, pero pueden usarse las pestañas de la parte
inferior para consultar el libro completo. Además, el archivo HTML puede
volver a abrirse en Excel para editarlo, sin perder ninguna característica del
fichero original. Si posteriormente el archivo se guarda en otra ubicación, se
comprueban los vínculos y se reparan los que no funcionen.
45 Analizar datos de páginas Web

Con Excel 2000 se pueden crear y ejecutar consultas para recuperar datos
disponibles en la web, a fin de analizarlos en Excel. Además de obtener los
datos, podremos periódicamente pedir su actualización automática.

Para obtener datos de web, empezaremos usando la opción de menú


Datos•Obtener datos externos•Nueva consulta Web. Aparece entonces una caja
de diálogo que permite seleccionar una página web e indicar luego si queremos
recuperarla completa, sólo las tablas o sólo una tabla específica. Si pensamos
usar en otras ocasiones la consulta conviene guardarla, y luego podremos volver
a ejecutarla con la opción Datos•Obtener datos externos•Ejecutar consulta
guardada.

En cualquier caso, una vez disponemos de los datos sobre la hoja, la barra de
herramientas Datos externos facilita, entre otras cosas, la actualización de los
datos.

De forma similar a la descrita podemos también obtener datos de bases de datos


externas.
46 Gráficos dinámicos
Relacionado con las tablas dinámicas, Excel ofrece ahora gráficos dinámicos,
que se adaptan a las modificaciones que se introduzcan en la tabla. Sin embargo,
además, pueden usarse para resolver un problema que antes tenía una solución
laboriosa y compleja: la actualización de un gráfico al cambiar el número de
datos que representa. Este tema puede resolverse con gráficos dinámicos siempre
que la información esté dispuesta en columnas. Veamos cómo hacerlo:

1-Empezaremos seleccionando el rango de datos que deseamos representar


gráficamente (o un rango que contenga todos los datos, aunque haya columnas
intermedias). Todas las columnas del rango deben tener algún texto en la
cabecera, y la selección debe incluir esas cabeceras.

2-El paso siguiente es darle un nombre al rango, usando la opción


Insertar•Nombre•Definir.

3-A continuación, usamos la opción Datos•Informe de tablas y gráficos


dinámicos para crear un gráfico dinámico. En el asistente, en el segundo paso,
nos aseguraremos de indicar el nombre del rango, y no las direcciones
equivalentes. En el paso 3 definiremos la información que debe mostrar el
gráfico.

4-Al finalizar, veremos que Excel crea, además del gráfico dinámico, la tabla
dinámica asociada.

Y ahora veamos lo siguiente: añadimos un nuevo dato a la lista, o bien borramos


una línea, a fin de que el rango de origen varíe. Redefinimos el nombre de rango
usando otra vez la opción Insertar•Nombre•Definir, y ya sólo queda dirigirnos al
gráfico y pulsar el botónActualizar datos de la barra de herramientas Tabla
dinámica. El gráfico se adaptará a los nuevos datos.

Antonia Soler . Economista. Profesora de Informática de Gestión en la


Universidad Oberta de Cataluña. Colaboradora de diversos centros de
formación (PIMEC-SEFES, BIT).
Microsoft Access 2000
Jesús Alonso

jalonso@pcw.idg.es
47 Cuadro combinado que añade el valor Todos
a una lista
Cuando se prepara un formulario con un cuadro combinado cuyo valor luego se
usa como criterio en una consulta, es posible que convenga añadir a los valores
de la lista el texto Todos, en cuyo caso la consulta no tendrá criterio.

Conseguir este propósito requiere resolver dos problemas. Por un lado, lograr
que el cuadro combinado muestre también la palabra Todos y, por otro, que la
consulta funcione correctamente.

Para el primer problema partimos de que el tipo de origen de fila del cuadro
combinado es Tabla•Consulta, ya que si fuera Lista de valores sólo tendríamos
que añadir dicho valor. Necesitamos crear una consulta de unión que nos permita
asociar a los elementos de la tabla el texto deseado. Este tipo de consultas sólo se
puede crear en la pantalla de SQL y su sintaxis sería:

SELECT Campo FROM Tabla UNION SELECT ‘(Todos)’ FROM Tabla

Aunque ‘(Todos)’ es una constante, necesita un origen de datos, pero puede


usarse sin problemas la misma tabla.

Veamos ahora cómo solucionar el tema de la consulta. Para que el criterio


funcione bien usaremos la siguiente expresión con la función SiImp:

SiImp(Formularios![NombreFormulario]![NombreCuadroCombinado] =
“(Todos)”; [NombreCampo]; Formularios![NombreFormulario]!
[NombreCuadroCombinado])

Con esta sintaxis se consigue que al seleccionar Todos el criterio sea el propio
nombre del campo, lo cual da como resultado todos los registros.
48 Demasiados campos en una tabla
Un problema bastante inusual, pero que puede provocar problemas al diseñar
una tabla, es que Access muestre el mensaje de que hay demasiados campos,
impidiendo entonces grabar el diseño.

De hecho, Access permite que una tabla pueda tener un máximo de 255 campos.
Aunque este tope es más que suficiente, en algunos casos, normalmente al
modificar una estructura de tabla, podemos encontrarnos con el mensaje de error
mencionado aunque no hayamos llegado al límite descrito.

El motivo es que Access tiene un contador interno del número de campos que
llevamos en la tabla. Al añadir, mover o copiar campos se va incrementando. Sin
embargo, cuando borramos campos el contador no disminuye. Si el contador
llega a 255 aparece el error, y no podemos guardar los cambios en la estructura.

Para resolverlo lo único que hay que hacer es compactar la base de datos
mediante Herramientas•Utilidades de la base de datos•Compactar y reparar base
de datos, ya que la compactación actualiza, entre otros temas, ese contador
interno relativo al número de campos.
49 Organizar los objetos de la base de datos por
temas

La ventana de base de datos de Access organiza los objetos por tipos. Sin
embargo, es posible que en aplicaciones grandes convenga organizar los objetos
por temas. Este problema se resuelve en Access 2000 mediante el uso de la barra
Grupos, que aparece en la zona izquierda de la ventana de base de datos.

Puede crearse un grupo mediante el menú de contexto sobre cualquier objeto, y


luego crear accesos directos a los objetos deseados. Basta con seleccionar el
objeto y, en el menú de contexto, seleccionar la opción Agregar al grupo, e
indicar el grupo apropiado.
50 Trabajar con campos autonuméricos
Dos de las necesidades más típicas con campos autonuméricos son: volver a
empezar en 1 después de ciertas pruebas, o bien conseguir que empiecen a
numerar por un valor determinado.

En el primer caso basta con borrar todos los registros de la tabla y compactar la
base de datos mediante Herramientas•Utilidades de la base de datos•Compactar
y reparar base de datos.

El segundo tema es un poco más complicado. Supongamos que ya tenemos la


tabla con el campo autonumérico creada. A continuación, creamos una tabla
auxiliar con un campo de tipo Numérico Entero largo, a la que añadiremos un
registro con el valor por el que deseamos empezar a numerar menos uno.

Seguidamente crearemos una consulta de datos anexados con la tabla auxiliar, y


añadiremos el registro a la tabla que tiene el campo autonumérico. Tras ejecutar
la consulta podemos borrarla, igual que la tabla auxiliar. Ya sólo queda eliminar
el registro auxiliar de la tabla, con lo que los registros siguientes continuarán la
autonumeración a partir del valor anterior.
51 Formato condicional

Con Access 2000 el formato condicional ya no es un problema, ya que pueden


definirse reglas de formato para cuadros de texto y otros controles en
formularios e informes. Para ello debe usarse el comando Formato condicional
del menú Formato, lo cual permite definir el color de fuente, su tamaño, el color
de fondo de los controles y otras propiedades visuales que proporcionan
información complementaria a los usuarios.

En la figura se ve un ejemplo donde el campo activo se resalta asignándole un


color de fondo. Además, en función del valor, el color de la fuente cambia.
52 Añadir un botón a un formulario que permita
eliminar el registro activo
A nivel de usuario existe la combinación de teclas Ctrl+ – (guión) para eliminar
el registro activo en un formulario. Una solución más cómoda es añadir al
formulario un botón y asociar el siguiente código al evento Al hacer clic:

If Me.NewRecord Then

Me.Undo

Else

Me.RecordsetClone.Bookmark = Me.Bookmark

Me.RecordsetClone.Delete

End If

Es necesario establecer una condición, ya que el registro a eliminar puede ser


uno que se esté creando en ese momento. La propiedad NewRecord devuelve
verdadero si estamos en esta situación, en cuyo caso es suficiente con aplicar el
método Undo (deshacer). Sin embargo, si se trata de un registro existente es
necesario aplicar el método Delete. El problema es que no se puede aplicar
directamente al objeto Me. Por tanto, la solución es aplicárselo a
RecordsetClone, una vez situado el registro activo en el mismo que en el
formulario.

Jesús Alonso es analista, programador y consultor informático. Colaborador de


diversos centros de formación (PIMEC-SEFES, BIT).
Adobe Photoshop 6
David R.Vidal y M. Emmanuel

davidr@pcw.idg.es
53 Añadir una sonrisa a un retrato

No estamos seguros de si el objetivo es añadir la sonrisa a la imagen que


estamos retocando o bien dibujarla en nuestro rostro al ver los resultados de la
herramienta Licuar.

Para aquellos que han manejado Kai's Power Goo, encontrarán en esta
herramienta unas técnicas muy similares, consistentes en deformar la imagen
empujando ciertas áreas. La tentación de crear una cara monstruosa como la de
la figura es muy difícil de resistir, pero realmente se puede usar para otros
menesteres mucho más serios. Por ejemplo, podemos añadir una ligera sonrisa o
mueca a un retrato o ensalzar o disimular ciertos rasgos.

Comenzamos con introducirnos en la herramienta Imagen•Licuar. Es


conveniente activar la opción de Mostrar malla con el fin de tener más precisión
en el resultado. Hemos de tener en cuenta que la imagen se divide en pequeños
rectángulos o celdillas y que al modificar el contorno y posición de éstas
obtenemos las deformaciones esperadas. Cambiando el tamaño de estas celdillas
también modificaremos sustancialmente el resultado, por lo que es conveniente
realizar unas cuantas pruebas preliminares.

Con los distintos botones probamos a deformar, inflar, desinflar, hacer


remolino... en aquellas partes del retrato que nos interesen. Enseguida nos
daremos cuenta de que, a poco que nos pasemos con cualquiera de las
herramientas, obtenemos un mutante de pesadilla más que una persona normal.

Para evitar este efecto secundario, en aquellas ocasiones en que sea muy difícil
concretar la acción en un área sin afectar a las colindantes, debemos utilizar la
herramienta congelar. Con ella marcaremos una zona más o menos extensa en la
que prohibimos los cambios. Su función es proteger aquellas partes delicadas de
la fotografía frente a los efectos aplicados.

Otro consejo es utilizar una malla de tamaño medio, un pincel más o menos
grande, del orden de 80 píxeles y una presión muy baja, del orden de 15. De esta
forma podemos ir lentamente dando pinceladas persiguiendo el punto justo de
deformación que ofrezca, asimismo, naturalidad.
54 Dibujando formas vectoriales propias

Aunque el fuerte de Adobe Photoshop es el tratamiento de imágenes binarias,


también dispone de un tratamiento vectorial que, sin ser demasiado sofisticado,
puede resultar de gran utilidad.

Dentro de este tratamiento vectorial se incluyen unas formas predefinidas como


líneas, rectángulos, estrellas, huellas o formas de flecha. Sin embargo, es posible
añadir nuestra propia forma con el fin de tenerla siempre accesible y repetirla
por doquier.

En la barra de herramientas de la paleta flotante seleccionamos el icono que está


a la derecha de la herramienta pluma. Acto seguido, si tenemos visible la
ventana de opciones, observaremos varios iconos que permiten las formas antes
citadas. En este punto debemos seleccionar herramienta forma personalizada.

Podemos probar a dibujar alguna de las formas vectoriales para comprobar el


funcionamiento de la herramienta. A continuación, si pulsamos sobre el icono de
forma, se nos aparece una ventana desplegable con todas las formas activas. En
la parte superior derecha de esta ventana hay un indicador de menú que al
pulsarlo nos muestra diversas opciones, entre las que se incluyen cargar y grabar
formas.

Sólo nos queda un pequeño detalle por resolver: cómo crear las formas. Para
ello, en primer lugar dibujamos con la pluma la figura que vayamos a utilizar. En
la ventana de trazados seleccionamos aquel que contiene nuestra figura, que bien
puede ser el trazado en uso o cualquier otro. Finalmente, vamos al menú
Edición•Definir forma personalizada. Nos preguntará el nombre de la forma y,
tras proporcionárselo, se añadirá a la colección actual. Estos cambios no son
permanentes y si queremos conservar los cambios debemos de seguir los pasos
antes citados y grabar el archivo de formas.

También puede utilizar el Gestor de ajustes preestablecidos para administrar las


bibliotecas de formas personalizadas.
55 Crear una figura con un hueco en el centro
Éste es un añadido al truco anterior. Cuando utilizamos las formas
personalizadas en la barra de opciones tenemos cuatro botones que se activan al
dibujar más de una forma. En concreto, cualquier nueva forma se puede añadir,
restar, intersectar o unir al área de la forma ya existente.

Por tanto, para crear nuestra figura primero dibujamos la forma más grande,
elegimos la opción de restar, y superponemos la segunda figura. Como resultado
quedará un hueco en la primera.
56 Optimizar al máximo una imagen para Web

Los diseñadores de páginas web persiguen optimizar el tamaño de las imágenes


al máximo, razón por la cual necesitan comprimir los archivos en formatos GIF
o JPEG.

Este último es un formato de compresión con pérdidas, por lo que es difícil


encontrar el equilibrio entre la pérdida de calidad y la ganancia en espacio. Para
facilitar esta tarea, Adobe Photoshop proporciona una herramienta que muestra
de forma gráfica los distintos resultados que se obtendrían tras la variación de
los parámetros relativos a la compresión. Para acceder a esta herramienta
simplemente elegimos en el menú Archivo•Guardar para Web... .

No obstante, existe un truco que permite optimizar aún más esta técnica. Muchas
imágenes tienen unas partes que permiten una gran compresión mientras que
otras son mucho más críticas, y cualquier pérdida de calidad afecta en gran
medida a la apariencia final de la imagen. Para ello, definiremos algo parecido a
una máscara que proteja las partes más sensibles. El proceso se realiza
añadiendo un canal alfa, que definirá el área a proteger.

Lo primero es añadir el canal, pulsando en el botón que abre el menú


desplegable en la ventana de canales. Pulsamos la opción nuevo canal y le
damos el nombre que consideremos oportuno. Las opciones que trae por defecto
son correctas: opacidad al 50% y el color como área de máscara. No obstante, si
el color verde es muy común en la imagen, es mejor seleccionar otro que no lo
sea.

Ahora actuamos sobre la imagen con la herramienta borrador. Aquellas partes


que borremos serán las que quedarán más protegidas, mientras que el resto
sufrirá la mayor degradación en la etapa final de compresión. Activando y
desactivando canales podemos apreciar cómo se solapa el nuevo canal con el
resto de la imagen.

Ya sólo queda el proceso final de grabación. Vamos al menú Archivo•Guardar


para Web... y esta vez pulsamos un pequeño botón que tiene un círculo blanco a
continuación de la casilla de calidad. Nuestro paquete de Adobe Photoshop
tiene, sorprendentemente, esta ventana a medio traducir y el hint nos aparece en
inglés: use a channel to modify quality setting. Una vez seleccionado el canal
observamos ligeros cambios en la imagen que nos permiten aprovechar hasta el
último byte.

Conviene destacar que en la ventana de seleccionar el canal nos aparece una


barra con una serie marcadores. Se trata de seleccionar la compresión mínima y
máxima que serán aplicadas, siempre en función del canal designado.

Aunque hemos hablado de compresión JPEG, este sistema también es válido


para las imágenes GIF. En este último caso se dará prioridad a unos colores
sobre otros, afectando al tramado, que será mayor y por tanto con menos calidad
en aquellas áreas designadas en función del canal.
57 Imágenes para Web de gran superficie y
pequeño tamaño

Nuevamente de cara al Web, no estaría de más crear imágenes de gran tamaño


en lo que se refiere a superficie, pero pequeñas en lo que se refiere a ocupación
en KB.

Una solución podría consistir en redimensionar imágenes pequeñas, pasándolas a


tamaños mucho mayores. En efecto, la imagen más perfecta en cuanto a impacto
visual y con unas dimensiones ridículas son los iconos. Por lo general, apenas
ocupan más de 32 x 32 píxeles con 16 ó 256 colores, pero simbolizan
perfectamente el objeto a tratar.

Partiendo de una imagen de este tipo, acudimos a la herramienta


Imagen•Tamaño de imagen y la agrandamos en un porcentaje que sea múltiplo
de 2. Por ejemplo, 200% o 400% son ampliaciones válidas. Otro aspecto a tratar
es el del remuestreo de la imagen. En este caso la opción por defecto no es la
más adecuada. Si elegimos por aproximación se generarán píxeles más gruesos,
con la ventaja de que la compresión cuando se convierta a GIF será muy alta.
Las opciones Bilineal y Bicúbica tienen menos utilidad en este caso, puesto que
el ruido generado hará peligrar la compresión.

Como resultado final, se obtienen imágenes unos 128 x 128 píxeles o más, que
son comprimidas en formato GIF a apenas un par de kilobytes.
58 Calibrar el monitor para apreciar
adecuadamente los colores
En un mundo ideal, lo que vemos en pantalla es lo mismo que vemos sobre el
papel al imprimirlo. Puestos a exagerar, hasta las imágenes que pasamos por el
escáner o cámara digital deberían reproducirse en pantalla de forma idéntica a
sus originales.

En el mundo real estamos lejos de conseguir tal maravilla, pero debemos


aproximarnos en lo posible. El entorno de trabajo influye en cómo se ve el color
en el monitor y en la impresión final. Tanto las luces de la habitación como el
color de sus paredes o la ropa que llevamos pueden tener su incidencia.

El primer consejo se refiere a que el entorno sea lo mejor posible, siendo


aconsejable trabajar en habitaciones con las persianas bajadas y una iluminación
fluorescente de unos 5.000 K. Intentaremos ajustar la intensidad de luz de la
habitación a la intensidad de luz del monitor. También suprimiremos los motivos
muy cargados o brillantes alrededor del documento que podrían interferir con la
percepción exacta del color, por lo que es recomendable que en el escritorio sólo
aparezcan grises neutros.

El segundo consejo se refiere a la aplicación, donde deberemos ejecutar un


procedimiento que dejará el monitor calibrado. Para ello acudimos a la
aplicación Adobe Gamma sita en el Panel de Control de Windows. Esta utilidad
permite calibrar y describir el monitor de acuerdo con un estándar y, a
continuación, guardar los ajustes como perfil compatible con ICC, que está
disponible prácticamente en cualquier programa que utilice el sistema de gestión
de color. Un asistente nos ayudará en la tarea de calibrado.
59 Métodos abreviados para usar con el zoom
Con el fin de aumentar la productividad del usuario, existen algunos métodos
rápidos que permiten encuadrar rápidamente aquellas partes de la imagen que
nos interesen.

Un doble-clic en la herramienta mano, o bien pulsar CTRL+0 nos encuadrará la


imagen en la ventana. Si el doble-clic lo hacemos sobre la herramienta zoom, o
bien pulsando ALT+CTRL+0 nos vamos directamente a un zoom del 100%.

Pulsando CTRL+”+” o CTRL+”-“ hacemos una ampliación o reducción de la


imagen en saltos relevantes: 100%, 200%, etc... Asimismo, podemos invocar
temporalmente el zoom de ampliación pulsando CTRL+ESPACIO.

En la ventana del navegador, si cambiamos la cifra del zoom que está en la


casilla y pulsamos INTRO, los cambios se reflejarán en la imagen, sin embargo
el foco lo ganará el área de previsualización. Por el contrario, SHIFT+INTRO
aplicará el efecto pero el foco se mantendrá en la casilla, permitiendo cambios
sucesivos. Precisamente, si pulsamos CTRL sobre el área de previsualización, al
arrastrar variamos el área de la misma.
CorelDRAW 10
David R.Vidal y M. Emmanuel

davidr@pcw.idg.es
60 Dibujo de flechas como objetos

Los usuarios de CorelDRAW están acostumbrados, por lo general, a dibujar


líneas a las que se les cambiaban las propiedades para que en sus extremos
apareciese una flecha. Este método era sencillo pero tenía ciertos problemas,
dado que en muchas exportaciones vectoriales las flechas desaparecían sin más,
conservándose únicamente las líneas. Esto se debía a que no siempre el formato
o aplicación destino soportaban esta posibilidad, con lo que trabajos como un
diagrama de flujo podían quedar totalmente inservibles. Una alternativa era
dibujar las flechas una a una, pero era muy tedioso si se trataba de un número
elevado.

Con la opción de formas perfectas resulta muy sencillo dibujar formas de flechas
que en realidad son objetos independientes. Para ello, mantenemos pulsado el
icono de la barra izquierda de herramientas hasta que se desplieguen las distintas
opciones, ante lo cual elegimos el botón de formas de flecha.

Tras dibujar la flecha, las opciones que se nos muestran en la barra superior son
más que suficientes para darle el aspecto deseado. Además de las propiedades
características de un polígono, el pequeño punto rojo situado en el centro de la
flecha nos permite usar la herramienta de forma para cambiar el aspecto general
de la flecha, consiguiendo un cuerpo más o menos grueso.

Otras formas de flecha más sofisticadas (que se obtienen con el botón de formas
perfectas en la barra superior) pueden tener más de un punto de control que se
simbolizan mediante colores diferentes.

Además de las formas de flecha, existen muchas otras (formas básicas, diagrama
de flujo, estrellas y notas) que también son de gran utilidad para crear figuras o
diagramas de manera sencilla, ahorrando tiempo y esfuerzos al artista.
61 Selección avanzada de objetos
El desconocimiento de ciertos procedimientos en CorelDRAW para seleccionar
objetos nos puede llevar a dar una serie de vueltas innecesarias. Por ejemplo, si
realizamos una agrupación de objetos, el grupo se comporta como un objeto
único y siempre que pulsemos el ratón será seleccionado. Para actuar sobre un
solo elemento no es necesario deshacer el grupo, sino que basta con mantener la
tecla CTRL pulsada, realizando la selección individual de cada objeto dentro del
grupo.

Al utilizar una selección basada en un recuadro (pulsando en un área en blanco y


arrastrando el ratón formando un área) más de una vez nos llevamos la sorpresa
de que no hemos seleccionado nada o que nos han quedado sin marcar objetos
que aparentemente estaban dentro del recuadro. La razón es que las extensiones
del objeto pueden ser más grandes de lo que visualmente observamos, siendo
ignorados en el proceso aquellos objetos que no se encuentren completamente
dentro del recuadro de selección.

Para evitar esto, pulsamos la tecla ALT mientras realizamos la operación. Ahora
se seleccionarán todos los objetos a condición de que simplemente toquen el
recuadro marcado.

Otro problema ocurre cuando un objeto sólido tapa por completo a otro objeto
que está detrás y es más pequeño. Invariablemente se selecciona el objeto que
está en primer plano, es decir por encima en el orden de dibujo. Nuevamente la
tecla ALT nos solucionará el problema, dado que si la mantenemos pulsada,
CorelDRAW buscará los objetos ocultos, alternando el resultado de la selección.

A la hora de redimensionar un objeto, existen un par de métodos que también


son de utilidad. Habitualmente, al modificar un objeto por una esquina se
deforma por el mismo sitio que arrastramos. Sin embargo, si mantenemos
pulsada la tecla SHIFT lo que ocurre es que se redimensiona en todas las
direcciones a la vez, manteniendo el centro fijo. De forma análoga, la tecla
CTRL hace que el redimensionado se haga en incrementos del 100%. Es decir,
que en cada salto el objeto duplica su tamaño. La tecla ALT también puede tener
su función práctica en esta operación, de forma que al mantenerla pulsada se
permite el redimensionamiento del objeto tanto en sentido horizontal como en
vertical.

Si estamos rotando un objeto y mantenemos pulsada la tecla ALT, se producirá


una deformación al mismo tiempo que se produce la rotación. No suele ser de
mucha utilidad, pero ahí está.
62 Generar distorsiones interactivas

La versión 10 de CorelDRAW añade una potente herramienta que, si bien es


común en programas de retoque fotográfico, no lo es en absoluto tratándose de
objetos vectoriales.

Se trata de distorsionar cualquier objeto o grupo de objetos mediante tres tipos


de efectos: distorsión empujar y tirar, distorsión cremallera y distorsión
torbellino. La primera permite empujar hacia dentro o tirar hacia fuera de los
bordes de un objeto, mientras que la cremallera aplica un efecto de dientes de
sierra a los bordes del objeto, proceso donde es posible ajustar la amplitud y
frecuencia del mismo. Como se puede uno imaginar, la distorsión torbellino
consigue el efecto que su nombre indica, pudiendo ajustar su dirección, origen,
grado y cantidad de rotación.

Después de distorsionar un objeto, es posible modificar el resultado cambiando


el centro de distorsión. Este punto se identifica por un tirador en forma de
diamante, alrededor del cual aparece el efecto, de forma similar a un compás que
gira alrededor de un punto inmóvil. Este centro de distorsión se puede ubicar en
cualquier lugar de la ventana de dibujo, o se puede situar en el centro de un
objeto, para que la distorsión se distribuya uniformemente y la forma del mismo
cambie con relación a su centro.

Podemos crear efectos más complejos si aplicamos una nueva distorsión a un


objeto que ya se haya distorsionado. Por ejemplo, podemos aplicar una
distorsión Cremallera por encima de una distorsión Torbellino, sin perder el
efecto original.

Para acceder a estas opciones basta con pulsar en la barra izquierda de


herramientas el icono de Herramienta Distorsión interactiva, después de lo cual
ya tendremos las distintas opciones en la parte superior.
63 Cómo alinear objetos sin desplegar la
ventana de herramientas
Si queremos alinear una serie de objetos, el procedimiento normal es
seleccionarlos y acto seguido invocar la herramienta adecuada mediante
Organizar•Alinear y distribuir.

Sin embargo, no es necesario invocar tal menú, pues, una vez seleccionados,
basta con pulsar C para el centrado horizontal, L para alinear a la izquierda, R
para alinear a la derecha y E para centrar verticalmente.
64 Ajustar la distancia donde van a aparecer
duplicados de forma inmediata
Como en el truco anterior, existe un procedimiento típico que es acudir al menú
de Herramientas•opciones y cambiar las preferencias del duplicado.

Este método ajusta los valores por defecto, pero si lo que queremos es un ajuste
inmediato procederemos de otra forma. Una vez duplicado el objeto deseado
(podemos usar de forma abreviada CTRL+D) lo arrastramos manteniendo
siempre la selección. El próximo duplicado conservará la distancia que hemos
arrastrado.

En el momento de perder la selección del duplicado, por ejemplo marcando otro


objeto, también se perderá este ajuste, pasando a utilizarse el valor definido por
defecto.

Si lo que deseamos es duplicar un objeto sin desplazamiento alguno, tan sólo


hemos de seleccionarlo y pulsar + en el teclado numérico. Original y duplicado
se solaparán.
65 Homogeneizar CorelDRAW para un trabajo en
equipo

Gracias a las nuevas características de CorelDRAW 10, es posible personalizar


las aplicaciones gráficas organizando las barras de comandos y los propios
comandos para satisfacer las necesidades de cada usuario. En las barras de
comandos incluimos los menús, las barras de herramientas, la barra de
propiedades y la barra de estado. Para conseguir esta personalización, acudimos
al menú Herramientas•opciones.

Esta configuración de opciones recibe el nombre de espacio de trabajo, siendo


posible la existencia de varios espacios, utilizando aquel que nos interesa.

Pero en nuestro caso lo que queremos es homogeneizar. Dicho de otra manera,


supongamos que tenemos varios ordenadores y queremos que todos utilicen la
misma configuración. Para ello procederemos a ajustar uno de ellos con las
preferencias del grupo y exportamos el espacio de trabajo obtenido mediante
Herramientas•opciones•exportar. En el resto de los ordenadores sólo tenemos
que importar el archivo generado.

Adicionalmente, si alguno de los equipos es remoto no hay ningún problema:


otra de las opciones de CorelDRAW es enviar directamente un e-mail con el
archivo, para que no tengamos que preocuparnos de ningún detalle.
66 Manipulación avanzada de texto
Mientras escribimos texto podemos utilizar algunos trucos que permiten agilizar
la edición.

Por ejemplo, supongamos que queremos cambiar el espaciado entre caracteres.


Seleccionamos aquellos caracteres sobre los que deseamos actuar y,
manteniendo pulsado SHIFT+CTRL, pulsamos también de forma simultánea la
tecla ‘<’ o bien ‘,’ según se precise aumentar o disminuir el espacio
respectivamente.

Si lo que queremos es variar el tamaño de la fuente que estamos utilizando, lo


mejor es utilizar CTRL+2, que lo reducirá en un punto, o bien CTRL+8 que hará
justo lo opuesto, es decir, aumentarlo en un punto. De forma similar actúan
CTRL+4 y CTRL+6, pero aumentan y disminuyen con los mismos tipos que
aparecen en la ventana desplegable, es decir: ...10, 11, 12, 14, 16, 18...

Para pasar de texto artístico a texto de párrafo, nada más fácil que pulsar
CTRL+F8, realizando la conmutación requerida. Y cuando estamos en este
último, podemos añadir o quitar bolos simplemente pulsando CTRL+M.
67 Recuperar archivos perdidos
CorelDRAW tiene algunos sistemas de seguridad para tratar sus archivos. Así,
podemos configurarlo para que haga una copia del documento al guardarlo o que
guarde cada cierto tiempo preestablecido una copia de respaldo.

Las distintas opciones las configuramos desde el menú


Herramientas•opciones•guardar. Una vez activadas, cada vez que se guarda un
documento se crea un archivo BACKUP_OF_documento.cdr que contiene la
versión antigua del trabajo. Por otro lado, el archivo copia que se guarda de
forma automática en el tiempo designado recibe el nombre de
AUTOBACKUP_OF_documento.cdr. Si salimos de CorelDRAW de forma
adecuada este archivo es borrado, mientras que en caso contrario permanecerá a
disposición del usuario. Cualquiera de estos documentos puede ser abierto de la
forma habitual y grabado con un nombre más apropiado.

Pero puede darse el caso de que el documento antiguo haya sido borrado por
nosotros (más de una vez necesitaremos hacer sitio en el disco duro) y que el
nuevo todavía no haya completado su grabación de una manera apropiada. En
este supuesto no hay ningún archivo de extensión CDR que podamos
aprovechar, pero no todo está perdido: el antiguo documento no se sobreescribe,
sino que se renombra como @@@cdr.tmp. Por tanto, sólo queda localizar este
archivo y cambiar su extensión (y su nombre, si así lo estimamos) a .CDR.
Después de esto lo abriremos normalmente.
68 Utilización de varios idiomas en un texto

Finalizamos con otra novedad de CorelDRAW 10, destacando las notables


mejoras en cuanto al corrector ortográfico, con la ventaja añadida de que puede
trabajar simultáneamente con textos en distintos idiomas.

Para ello seleccionamos aquel texto que difiere del idioma por defecto, el cual
puede ser configurado, y acudimos al menú Texto•Herramientas de
escritura•Idioma, donde elegimos el idioma en que vamos a trabajar (realmente
se le asigna a la selección). De forma automática se empieza a aplicar la revisión
ortográfica apropiada, marcando sólo algunas palabras incorrectas y no todas
como venía ocurriendo.

En la herramienta de estadísticas (Texto•Estadística de texto) podremos


distinguir el número de caracteres utilizados en el documento, diferenciando los
distintos lenguajes empleados.
Microsoft Visual Basic
Francisco Charte Ojeda

charte@pcw.idg.es

Según todos los datos estadísticos, ésta es la herramienta de desarrollo más


utilizada a nivel mundial en la actualidad, lo cual no es de extrañar debido a su
simplicidad de uso y sencillez de aprendizaje del propio lenguaje. Veamos
algunos trucos que pueden contribuir a simplificar aún más nuestro trabajo diario
con Visual Basic.
69 Cómo reducir las sentencias Declare

Desde una aplicación escrita con Visual Basic es posible utilizar la mayoría de
las funciones que componen la API de Windows, si bien para ello antes es
necesario codificar la correspondiente sentencia Declare. Con ella se indicará
cuál es el nombre de la función, en qué librería de enlace dinámico se encuentra,
qué parámetros toma y de qué tipo y cuál es su valor de retorno.

Existen funciones realmente sencillas cuya declaración puede realizarse a mano,


pero otras pueden tomar infinidad de parámetros por valor y por referencia, usar
tipos de datos que también es necesario definir con antelación, etc. Por eso es
habitual que se use la herramienta conocida como Visor de texto API para
generar automáticamente las sentencias Declare. Esta herramienta, a la que
corresponde la figura, nos permite seleccionar funciones, constantes y tipos y
copiarlos al portapapeles, desde donde podremos recuperarlos en nuestro módulo
de código.

El inconveniente es que cada vez que necesitemos una función en un nuevo


módulo de código, o un nuevo proyecto, tendremos que volver a crear las
sentencias Declare correspondientes, repitiendo una y otra vez el mismo trabajo.
La solución definitiva, para evitar las sentencias Declare, consiste en crear una
librería de tipos con todas esas definiciones.

Una librería de tipos es una DLL que contiene simplemente información:


definiciones de constantes y tipos de datos, funciones, interfaces COM, etc. Para
crear una librería de este tipo sólo necesitará dos herramientas: el Bloc de notas
de Windows y el compilador Mktyplib.exe que encontrará en la carpeta
Tools\Unsupprt\Typlib del CD-ROM de Visual Basic.

El primer paso sería tomar la descripción de la función que utilicemos


habitualmente. Supongamos que ésta es GetTickCount(). Recuperamos la
descripción usando el Visor de texto API citado antes, tomando la sentencia
Declare facilitada para definir una entrada en la librería de tipos. Ésta podría
quedar así:
[uuid(9E3F3543-B6C3-11d1-A87E-004033CA9316)]

library MisFunciones {

[dllname("kernel32.dll")]

module Kernel32 {

[entry("GetTickCount"),

helpstring("Número de ticks")]

long GetTickCount();

El uuid que hay al principio es un identificador único asignado a la librería.


Puede generarlo con la herramienta guidgen. En el interior de la librería tenemos
un módulo asociado a la DLL kernel32.dll. Este módulo contiene una sola
definición de función, pero en la práctica podríamos incluir todas las funciones
que necesitáramos de esa DLL. Lógicamente, también podemos definir varios
módulos en la misma librería, definiendo funciones de múltiples DLL.

Guardado el código anterior, escrito en un lenguaje conocido como ODL,


bastaría con llamar a la herramienta Mktyplib citada antes facilitando el nombre
del archivo. A cambio se creará un nuevo archivo, con el mismo nombre pero
extensión TLB. Usando la opción Proyecto•Referencias añadiríamos ese archivo
a nuestro proyecto Visual Basic. A partir de ese momento ya podríamos usar la
función GetTickCount() sin necesidad de incluir sentencias Declare. Desde el
Examinador de objetos de Visual Basic, véase la figura, puede ver el contenido
de la librería de tipos.

Lógicamente, esta técnica le será tanto más útil cuantas más definiciones haya
incluido en la librería de tipos.
70 Convertir Intro en Tab

Las interfaces de usuario de Windows aportaron, en su día, diversas diferencias


respecto al mecanismo habitual con el que muchas personas estaban habituadas a
trabajar. Una de esas costumbres, que aún hoy persiste, es la de utilizar la tecla
Intro para indicar que se ha finalizado la introducción de un dato y,
consecuentemente, se desea pasar al siguiente control. En un formulario
diseñado con Visual Basic, sin embargo, la tecla que hay que pulsar para ir de un
control al siguiente no es Intro sino Tab.

Si estamos creando una aplicación que va a ser utilizada por personas


acostumbradas a programas que utilizan Intro en lugar de Tab, podemos
facilitarle la adaptación y ahorrarles problemas con este sencillo truco. Lo
primero que hay que hacer es dar el valor True a la propiedad KeyPreview del
formulario, de tal manera que las pulsaciones de tecla generen un evento antes
en el formulario que en el control que corresponda.

Acto seguido añadiríamos el código siguiente al formulario en cuestión. Como


puede ver, se comprueba si la tecla pulsada ha sido Intro y, en caso afirmativo,
se sustituye por una pulsación de la tecla Tab.

' Cada vez que se pulse una tecla

Private Sub Form_KeyPress( _

KeyAscii As Integer)

' Si la tecla pulsada es Intro

If KeyAscii = Asc(vbCr) Then

KeyAscii = 0 ' obviar esta pulsación y

SendKeys "{Tab}" ' convertirla en Tab

End If
End Sub

Como puede ver, se trata de un proceso muy sencillo y que permitirá pasar de un
control a otro simplemente pulsando la tecla Intro, a menos que el control que
tiene el foco se active mediante dicha tecla, como ocurre con los botones.
71 Controlar las unidades de CD-ROM

Los lectores de CD-ROM actuales cuentan con bandejas motorizadas que, aparte
de responder a la pulsación del botón físico que hay en la propia unidad, pueden
ser controladas desde cualquier programa. Con una simple función, llamada
mciSendString(), podemos abrir y cerrar esa bandeja. También podríamos usarla
para saber si el disco introducido es de datos o de música y, en este último caso,
iniciar la reproducción.

Para poder usar esta función lo primero que hay que hacer es declararla en el
módulo de código donde la necesitemos, o bien incluirla en nuestra librería de
tipos tal y como se explicó en el primero de los trucos. La definición de
mciSendString() es ésta:

Private Declare Function _

mciSendString Lib "winmm.dll" _

Alias "mciSendStringA" _

(ByVal lpstrCommand As String, _

ByVal lpstrReturnString As String, _

ByVal uReturnLength As Long, _

ByVal hwndCallback As Long) As Long

El primer parámetro de esta función es una cadena con la orden a ejecutar,


mientras que los otros tres, para el caso que nos ocupa, podemos obviarlos ya
que no esperamos valores de retorno ni resultados.

Si quisiéramos abrir la bandeja de la unidad de CD-ROM desde un programa


propio, bastaría con introducir una sentencia como la siguiente:

mciSendString "Set cdaudio Door Open", _


vbNullString, 0, 0

De forma análoga, para cerrar la bandeja usaríamos la orden Set cdaudio Door
Closed. En ambos casos estaríamos actuando sobre la única unidad de CD-ROM
del sistema o, en caso de existir varias, sobre la primera unidad disponible. Para
trabajar con una unidad secundaria, o cualquier otra que pudiera haber en el
sistema, primero tendríamos que abrirla. Suponga que tiene dos unidades de CD-
ROM, una con la letra H: y otra con la I:. Podría actuar sobre la segunda de esta
forma:

Open I: type cdaudio Alias MiCd

Set MiCd Door Open

Close MiCd

En estas órdenes se abre una unidad específica, indicando su letra, y asignándole


un alias que, posteriormente, usamos para controlar la bandeja y cerrar la unidad.
Conociendo este truco, podríamos codificar una función genérica que nos
permitiese actuar sobre cualquier unidad. En la figura puede ver la interfaz de un
sencillo programa que facilita la apertura y cierre de la bandeja de cualquier
unidad de CD-ROM. El código asociado a esta interfaz es el siguiente:

' Método para actuar sobre el CD-ROM

Private Sub OperaUnidad( _

ByVal Accion As String)

Dim Unidad As String

' Si se ha introducido una letra

If Text1 <> "" Then

' tenemos que añadir "type"

Unidad = Text1 + " type"

End If
' Abrimos la unidad

mciSendString "open " + Unidad + _

" cdaudio alias MiCd", _

vbNullString, 0, 0

' Ejecutamos la acción solicitada

mciSendString "Set MiCd Door " + _

Accion, vbNullString, 0, 0

' y la cerramos

mciSendString "close MiCd", _

vbNullString, 0, 0

End Sub

' Para abrir el CD-ROM

Private Sub Command1_Click()

OperaUnidad "open" ' enviamos la orden "open"

End Sub

' Para cerrar el CD-ROM

Private Sub Command2_Click()

OperaUnidad "closed" ' enviamos la orden "closed"

End Sub
72 El problema de la propiedad Alignment
Los controles TextBox de Visual Basic cuentan con una propiedad, llamada
Alignment, que permite especificar cuál debe ser la alineación horizontal del
texto, alojado en la propiedad Text, en el interior del control. De esta forma es
posible tener una caja de texto grande y el texto centrado en ella, por poner un
ejemplo. Lo cierto, sin embargo, es que dicha propiedad no funciona siempre.
Esto se debe a que el control TextBox de Visual Basic es una especie de
envoltorio alrededor de un control Windows, o dicho de otra manera, el
funcionamiento de este control no lo gestiona Visual Basic sino el propio
sistema operativo.

Dependiendo del sistema operativo en que se ejecute un programa, la propiedad


Alignment del TextBox funcionará o no adecuadamente. Para conseguir que lo
haga siempre, independientemente de la versión de Windows, lo único que hay
que hacer es dar el valor True a la propiedad MultiLine.

Lógicamente, al dar el valor True a la propiedad MultiLine estamos permitiendo


que el usuario del programa introduzca varias líneas en el TextBox, a pesar de
que las dimensiones de éste sólo sean suficientes para mostrar una de esas líneas.
Con el fin de evitarlo, no hay más que gestionar adecuadamente el evento
OnKeyPress del control ignorando la pulsación de la tecla Intro. Si son muchos
controles los que debemos controlar, siempre podemos dar el valor True a la
propiedad KeyPreview del formulario y hacer el trabajo mucho más simple con
un código como el siguiente:

Private Sub Form_KeyPress( _

KeyAscii As Integer)

If KeyAscii = Asc(vbCr) And _

TypeOf Me.ActiveControl _

Is TextBox Then

KeyAscii = 0 ' obviar esta pulsación


End If

End Sub

Como puede ver, comprobamos que se haya pulsado la tecla Intro en cualquier
control TextBox, ignorándola.
73 Cómo incluir hipervínculos en un formulario

Algunas técnicas habituales de la Web, como el uso de hiperenlaces a


documentos y sitios, se han vuelto tan corrientes que, en ocasiones, pueden ser la
mejor manera de facilitar ciertas acciones en nuestros propios programas.
Suponga que tiene un formulario en el que, entre otros elementos, quiere ofrecer
al usuario un hipervínculo que le permita acceder a una determinada sede web.
Los pasos necesarios serían varios.

Para empezar, tendríamos que crear el elemento de interfaz que va a actuar como
hipervínculo. Parece lógico utilizar un control Label para dicho fin, una etiqueta
de texto cuyas propiedades tendremos que modificar para que aparezca como si
fuese un enlace. Estos cambios serían:

- Modificación de la propiedad Font añadiendo el atributo subrayado al texto.

- Modificación de la propiedad ForeColor seleccionando uno que se asocie


rápidamente con los hipervínculos de una página web, por ejemplo el azul.

- Creación de un cursor en forma de mano, como podría ser el de la figura, que


recuperaríamos en la propiedad MouseIcon.

- Modificación de la propiedad MousePointer a la que asignaríamos el valor 99,


de tal manera que se utilice el cursor asignado a MouseIcon.

Tras todos estos cambios, la etiqueta podría tener una apariencia similar a la de
la imagen. Observe que al situar el cursor del ratón sobre la etiqueta, la
apariencia del puntero cambia y aparece la típica mano señalando el enlace.

La asignación de valores a las propiedades sólo influye en la apariencia del


control Label, pero para que éste actúe realmente como un hipervínculo será
necesario añadir algo de código, concretamente al evento generado al pulsar
sobre el control. El código necesario sería éste:
Private Const SW_SHOWNORMAL = 1

Private Declare Function _

ShellExecute Lib "shell32.dll" _

Alias "ShellExecuteA" ( _

ByVal hwnd As Long, _

ByVal lpOperation As String, _

ByVal lpFile As String, _

ByVal lpParameters As String, _

ByVal lpDirectory As String, _

ByVal nShowCmd As Long) As Long

Private Declare Function _

GetDesktopWindow Lib "user32" () As Long

Private Sub Label1_Click()

ShellExecute GetDesktopWindow, _

"open", "iexplore.exe", _

"http://www.fcharte.com/", _

0, SW_SHOWNORMAL

End Sub

Aparte de las sentencias Declare, lo realmente importante ocurre en el método


Label1_Clic. En él se usa la función ShellExecute() para iniciar Internet
Explorer y facilitarle el URL del sitio web a abrir. Al entregar como primer
parámetro el manejador de la ventana del escritorio, la ventana abierta por
Internet Explorer no guardará una relación directa con la de nuestro programa.
Lógicamente, si en lugar de usar Internet Explorer necesitáramos utilizar otro
navegador web deberíamos cambiar el tercer parámetro.
74 Visualización de imágenes

Aunque Visual Basic cuenta con algunos componentes, como PictureBox, que
permiten la visualización de gráficos, lo cierto es que sus posibilidades son
limitadas en cuanto a los formatos contemplados. En un control de este tipo no
es posible, por ejemplo, mostrar un archivo GIF con una animación o un gráfico
en formato PNG. Tampoco es fácil tratar con imágenes de gran formato, ya que
el control no está pensado para ello.

Todas estas limitaciones encuentran solución en el componente WebBrowser de


Visual Basic, que podemos añadir a la paleta de herramientas simplemente
seleccionando el elemento Microsoft Internet Controls de la ventana a la que da
paso la opción Proyecto•Componentes. Suponiendo que hayamos insertado en
un formulario un componente WebBrowser, un CommonDialog y un botón, el
código siguiente sería suficiente para recuperar cualquier imagen, así como
adaptar el WebBrowser a las dimensiones del formulario. De esta manera tan
sencilla tenemos un completo visor de imágenes aunque, en realidad, podemos
abrir cualquier documento HTML e incluso acceder a la web.

En la figura puede ver el programa mostrando una imagen de gran formato y con
dos barras de desplazamiento, horizontal y vertical, que nos permiten moverla.

Private Sub Command1_Click()

CD.ShowOpen

WebBrowser1.Navigate CD.FileName

End Sub

Private Sub Form_Resize()

WebBrowser1.Move _

0, 0, ScaleWidth, _
ScaleHeight - Command1.Height

Command1.Move _

ScaleWidth - Command1.Width, _

ScaleHeight - Command1.Height

End Sub

Francisco Charte es profesor de informática y autor de diferentes libros sobre


lenguajes y sistemas de información.
Borland Delphi
Francisco Charte Ojeda

charte@pcw.idg.es

Delphi es la herramienta de desarrollo más popular de la firma Borland,


tratándose de un potente entorno de desarrollo RAD que comparte muchas
características con C++ Builder y a cuya familia recientemente se ha añadido
también Borland Kylix, el equivalente de Delphi pero para Linux. Aunque los
trucos siguientes están diseñados para Delphi, pueden ser igualmente útiles en
sus herramientas hermanas.
75 Notificación de cambios en un directorio

La API de Windows dispone de una serie de funciones que nos permiten


solicitar una notificación cada vez que se efectúe un cambio en un directorio o
en los archivos que éste contiene. El método consiste en solicitar la notificación,
mediante la función FindFirstChangeNotification(), y quedar a la espera de que
ésta se produzca, usando para ello la función WaitForSingleObject() u otra de la
misma familia. Puesto que esta última función detendría la ejecución del
programa si la utilizamos en el hilo de ejecución principal, lo habitual es que el
proceso de espera se efectúe en un hilo (thread) independiente.

Esto no supone ningún problema en Delphi, basta con seleccionar la opción


Thread Object del Depósito de objetos. Partiendo de un nuevo proyecto Delphi,
seleccionaríamos la opción citada para añadir un nuevo módulo con una clase
derivada de TThread. Podríamos llamarla TActualiza. En el método Execute de
esta clase será donde solicitemos la notificación por primera vez, usando para
ello la citada función FindFirstChangeNotification().

Esta llamada nos devuelve un identificador que guardaremos en una variable


local. Seguidamente entramos en un bucle que se estará ejecutando
indefinidamente. En su interior quedamos a la espera de que se produzca una
notificación, usando para ello la función WaitForSingleObject(). Al pasar
INFINITE como segundo valor, este hilo de ejecución quedará dormido sin
límite de tiempo, hasta que en el directorio indicado en la llamada a
FindFirstChangeNotification() se produzca algún cambio. En este momento
llamamos de forma sincronizada a la función ActualizaLista, con el fin de poder
acceder en ella a un control TFileListBox que estará mostrando el contenido del
directorio que se está controlando. Por último, mediante una llamada a
FindNextChangeNotification(), se solicita una nueva notificación cuando se
produzca otro cambio, repitiéndose el proceso.

// Este método es el mundo de ejecución

// del nuevo hilo

procedure TActualiza.Execute;
Var // Identificador de la notificación

Id: LongInt;

begin

// Solicitamos una notificación de

// cambios de archivo en la unidad C:

Id := FindFirstChangeNotification(

'C:\', True, FILE_NOTIFY_CHANGE_FILE_NAME);

While True Do // Ejecutar siempre

Begin

// Esperamos que se produzca una

// modificación

WaitForSingleObject(Id,INFINITE);

// Actualizamos la lista

Synchronize(ActualizaLista);

// y esperamos la siguiente notificación

FindNextChangeNotification(Id);

End;

end;

En el formulario de este programa de prueba habrá que insertar el código


necesario para crear un objeto TActualiza. El lugar apropiado para ello es el
método asociado al evento OnCreate de la ventana. La creación la efectuaremos
con la siguiente sentencia:
ActualizaVista :=

TActualiza.Create(False);

Observe que se pasa como parámetro al constructor el valor False, indicando que
el nuevo hilo de ejecución no ha de iniciarse en estado de espera, sino
directamente en estado de ejecución.
76 Cómo calcular la línea y columna del cursor
en un texto

En Delphi existen controles visuales, como TMemo y TRichEdit, capaces de


contener grandes cantidades de texto por los que el usuario puede desplazarse
libremente utilizando teclado y ratón. Dichos componentes, sin embargo, no
disponen de propiedades informativas que permitan saber en qué línea o qué
columna concreta se encuentra el cursor en cada momento, aunque sí es posible
saber el número de carácter absoluto, desde el principio del control, donde está
el cursor.

Con la propiedad SelStart es posible determinar el número de carácter en que se


encuentra el cursor o, para ser más exactos, donde comienza la selección de una
porción de texto. La posición real del cursor en el texto será la indicada por
SelStart más el valor de SelLength. Esta posición, sin embargo, es absoluta y no
relativa a la línea actual, aunque es un dato que nos servirá para recuperar el
número de línea. Con este fin enviaríamos al control el mensaje
EM_LINEFROMCHAR facilitando como parámetro la posición absoluta. El
valor devuelto es el número de línea comenzando a contar desde cero.

Para conocer el número de columna habrá que hacer algunos cálculos. Usando el
mensaje EM_LINEINDEX, junto con el parámetro -1, obtendremos el número
absoluto del primer carácter de la línea actual. Restando a la posición absoluta
del cursor, obtenida antes con SelStart y SelLength, la posición de ese primer
carácter, obtendremos la posición del cursor relativa a la línea.

Realmente, toda esta explicación es más extensa que el código que finalmente
tenemos que escribir. Sería el siguiente:

procedure TForm1.ActualizaPosicion;

var

PosicionCursor,
NumeroCaracteres,

NumeroLinea,

NumeroColumna: integer;

begin

// Calculamos la posición

// absoluta del cursor

PosicionCursor :=

Memo1.SelStart +

Memo1.SelLength;

// Obtener el número de línea

NumeroLinea := SendMessage(

Memo1.handle,

EM_LINEFROMCHAR,

PosicionCursor, 0) + 1;

// y mostrarlo

Label1.Caption :=

IntToStr(NumeroLinea);

// Índice absoluto del primer

// carácter de la línea actual

NumeroCaracteres := SendMessage(

Memo1.handle,
EM_LINEINDEX, -1, 0);

// Calculamos la columna

NumeroColumna := PosicionCursor -

NumeroCaracteres + 1;

// y la mostramos

Label2.Caption :=

IntToStr(NumeroColumna);

end;

Para que este código sea funcional debe insertar en un formulario un control
TMemo y dos TLabel. A continuación habría que llamar a este método desde los
eventos OnKeyUp y OnMouseMove del TMemo, de tal manera que la posición
se actualice cada vez que se mueva una tecla o el ratón.
77 Listas más atractivas

Las listas simples, representadas en Delphi con el control TListBox, por defecto
muestran todos sus elementos en el mismo color que, además, suele ser el mismo
color por defecto usado en cajas de texto, listas desplegables y otros controles
similares. Dicho control, sin embargo, cuenta con una propiedad llamada Style
que nos permite cambiar este estilo por defecto. Si elegimos el estilo
lbOwnerDrawFixed, por ejemplo, el control generará un evento OnDrawItem
cada vez que haya que dibujar un elemento, en lugar de dibujarlo él mismo.

Gracias a este mecanismo podemos personalizar la lista dibujando los elementos


con diferentes tipos de letra, estilos y colores. Incluso podríamos añadir
imágenes en la lista o cualquier otro elemento que sea posible dibujar sobre un
TCanvas.

Puede ver el resultado con este sencillo ejemplo. Inserte en un formulario una
lista, una caja de texto y un botón. Dé el valor citado a la propiedad Style de la
lista, abra la página de eventos y haga doble clic sobre OnDrawItem,
introduciendo el código siguiente:

procedure TForm1.ListBox1DrawItem(

Control: TWinControl; Index: Integer;

Rect: TRect; State: TOwnerDrawState);

begin

With (Control As TListBox) Do

Begin

// Si el número es menor que 0

If StrToInt(Items[Index]) < 0 Then


// lo mostramos en rojo

Canvas.Font.Color := clRed

// si es mayor que cero

Else If StrToInt(Items[Index]) > 0 Then

// lo mostramos en azul

Canvas.Font.Color := clBlue

Else Begin // si es cero lo mostramos

// en negrita y con color negro

Canvas.Font.Color := clBlack;

Canvas.Font.Style := [fsBold];

End;

Canvas.TextRect(Rect, Rect.Left,

Rect.Top, Items[Index]);

End;

end;

Lo único que falta es dar el valor True a la propiedad Default del botón, hacer
doble clic sobre él e introducir la sentencia ListBox1.Items.Add(Edit1.Text);
para poder añadir líneas con números a la lista. Al ejecutarlo podrá ver, como en
la figura, que según el valor del número aparece en un color u otro.
78 Cómo obtener direcciones de red

Todos los adaptadores de red Ethernet, que es el tipo más habitual, cuentan con
una dirección única conocida como MAC, así como con una dirección IP en caso
de que forme parte de una red TCP/IP. Estos datos pueden ser necesarios y útiles
en diversos casos, tanto para identificar al equipo de forma única, con la
dirección MAC, como para saber la subred TCP/IP de que forma parte el equipo
y encontrar a su servidor.

La función NetBios(), cuyo prototipo y estructuras asociadas se encuentran en el


módulo Nb30 de Delphi, permite ejecutar diferentes comandos de servicios de
red, entre ellos uno llamado NCBASTAT que sirve para obtener distinta
información acerca del estado y configuración de los adaptadores.

Para poder recuperar la dirección MAC, que es lo que interesa, básicamente hay
que preparar una estructura TNcb, con los parámetros apropiados, y a
continuación llamar a NetBios() para obtener la información. En este caso habría
que facilitar el número de adaptador, un nombre y la dirección y longitud de un
bloque de memoria en el que se devolverá el resultado. Tras la llamada, el
miembro adapter_address, que es una matriz de seis elementos, contendrá los
bytes que identifican a la tarjeta.

Para obtener la dirección IP propia, lo más fácil es usar las funciones Windows
sockets. Básicamente se llama a gethostname(), para obtener el nombre de
nuestro ordenador, y a continuación a gethostbyname(), que devuelve una
estructura de datos en las que están contenidas las direcciones IP. Para convertir
esas direcciones, que están almacenadas en cuatro bytes, en una cadena, lo más
simple es usar la función inet_ntoa(). Todas estas funciones están documentadas
en la API de Windows.

Puede ver un ejemplo colocando un botón en un formulario e incluyendo el


código del Listado 1. Al pulsar el botón se obtiene y muestra tanto la dirección
MAC como la IP. Para mantener la simplicidad tan sólo se obtiene la primera
dirección de cada tipo, pero bastaría un bucle para recuperar otras que pudieran
existir en caso de que el sistema contase con varios adaptadores.
**************************** OJO LISTADO
**************************

Uses Nb30, Winsock;

procedure TForm1.Button1Click(Sender: TObject);

Type

// Una estructura que une el estado del adaptador

// con una matriz de estructuras TNameBuffer

ASTAT = record

adapt: TAdapterStatus;

NameBuff: Array[0..29] Of TNameBuffer;

end;

Var

Adaptador: ASTAT;

Ncb: TNCB;

Nombre: String;

DatosSocket: WSAData;

BloqueIP: PHostEnt;

DirIP: in_addr;

Mensaje: String;

begin

With Ncb Do // Inicializamos la estructura para ejecutar


Begin // el comando NCBSTAT

ncb_command := char(NCBASTAT);

ncb_lana_num := char(0); // asumimos que sólo hay un adaptador

ncb_callname := '*'; // y no facilitamos nombre

ncb_buffer := @Adaptador; // dirección de la estructura para obtener

ncb_length := sizeof(Adaptador); // los datos devueltos

End;

Netbios(@Ncb); // Llamada a NetBios

// Mostramos los datos

With Adaptador.adapt Do

Mensaje := 'La dirección MAC es: ' +

IntToHex(Integer(adapter_address[0]), 2) +

IntToHex(Integer(adapter_address[1]), 2) +

IntToHex(Integer(adapter_address[2]), 2) +

IntToHex(Integer(adapter_address[3]), 2) +

IntToHex(Integer(adapter_address[4]), 2) +

IntToHex(Integer(adapter_address[5]), 2) + #13#10;

WSAStartup($0101, DatosSocket); // Inicializamos Windows sockets

SetLength(Nombre, MAX_PATH); // y obtenemos el nombre de nuestro equipo

gethostname(PChar(Nombre), MAX_PATH);

// que usamos para obtener un bloque de información sobre IP


BloqueIP := gethostbyname(PChar(Nombre));

// del cual recuperamos la dirección

CopyMemory(@DirIP, (BloqueIP^).h_addr_list^, BloqueIP.h_length);

Mensaje := Mensaje + 'Direccion IP: ' + inet_ntoa(DirIP); // y la mostramos

ShowMessage(Mensaje);

end;

Listado 1. Código Delphi para recuperar las direcciones MAC e IP de un


ordenador
79 Personalización de menús

Una de las opciones que más suelen valorar los usuarios de una aplicación es la
posibilidad de personalizar su interfaz de usuario, por ejemplo barras de botones
y menús, lo cual les permite adaptarlas a sus preferencias y trabajar más
cómodamente. Para el programador, sin embargo, no es una tarea sencilla de
implementar. ¿Cómo permitir, por ejemplo, la personalización de un menú?

Efectuar esa tarea directamente sobre el menú realmente no es sencillo, aunque


con algo de trabajo podría hacerse. Resulta bastante más fácil, sin embargo,
traspasar la estructura del menú a un control pensado específicamente para la
visualización y modificación de listas jerárquicas de datos, como es el caso de un
menú. Este control es TTreeView, y para copiar un menú completo en dicho
control tan sólo habría que llamar a la función siguiente entregando dos
parámetros: el nombre del menú y el del TTreeView destinatario.

// Procedimiento para copiar

// un TMainMenu a TTreeView

Procedure CopiaMenuATreeView(

Menu: TMainMenu; Arbol: TTreeView);

Var

Contador: Integer;

Nodo: TTreeNode;

// Procedimiento interno recursivo que se

// encarga de recorrer las opciones

Procedure AnadeOpcion(

Opcion: TMenuItem; Nodo: TTreeNode);


Var

Contador: Integer;

NuevoNodo: TTreeNode;

Begin

// Añadimos la opción recibida

NuevoNodo := Arbol.Items.AddChild(

Nodo, Opcion.Caption);

// y recorremos todas las que pudiera tener

For Contador := 0 To Opcion.Count-1 Do

// llamándonos de forma recursiva

AnadeOpcion(Opcion.Items[Contador],

NuevoNodo);

End;

Begin

// Añadimos un primer nodo raíz

Nodo := Arbol.Items.Add(Nil,

Menu.Name);

// y recorremos las opciones principales

// llamando a AnadeOpcion por cada una

For Contador := 0 To

Menu.Items.Count-1 Do
AnadeOpcion(

Menu.Items[Contador], Nodo);

End;

Tras insertar en un formulario un menú con algunas opciones y un TTreeView,


podríamos ejecutar el programa y ver cómo la estructura de ese menú pasa
automáticamente a la lista jerárquica. Allí el usuario puede modificar los títulos
de las opciones y cambiar las teclas de acceso rápido. Incluso, disponiendo las
opciones adecuadas, podría permitirse el desplazamiento de las opciones para
que pudieran ser colocadas en el orden que interesase.

Lógicamente, finalizado el trabajo del usuario sería preciso recrear el menú a


partir de los datos existentes en el TTreeView en un proceso que, básicamente,
sería el inverso al desarrollado en el código anterior.
80 Selección de carpetas

En la página Dialogs de la Paleta de componentes de Delphi existen múltiples


componentes que facilitan la selección de archivos para abrir o guardar archivos
con imágenes, colores, estilos de letra, etc. No hay disponible, por el contrario,
ningún cuadro de diálogo que haga posible la elección de una carpeta, algo
bastante usual cuando se crea una aplicación.

Hay que tener en cuenta, sin embargo, que además de componentes Delphi
cuenta con un importante número de funciones muy útiles, entre ellas una
llamada SelectDirectory() que, precisamente, muestra un cuadro de diálogo para
que el usuario pueda seleccionar una carpeta. Los parámetros necesarios son
tres: una cadena con el título que se mostrará en la ventana, otra con el camino a
partir del cual podrá efectuarse la selección y, por último, una variable en la que
se devolverá el resultado.

Dependiendo del segundo parámetro, el usuario podrá ver en el cuadro de


diálogo todas las unidades del sistema, tan sólo el contenido de una unidad o,
incluso, sólo parte de una unidad. Entregando una cadena vacía aparecerá toda la
jerarquía del sistema, como la que se muestra en el Explorador de Windows.
Facilitando el camino de una unidad o carpeta sólo aparecerán los elementos que
haya debajo, jerárquicamente hablando.

Para probar esta función simplemente introduzca un código como el siguiente en


el procedimiento asociado al evento OnClick de un botón:

procedure TForm1.Button1Click(

Sender: TObject);

var

Carpeta: String;

begin
SelectDirectory('Seleccione una carpeta',

'', Carpeta);

ShowMessage(Carpeta);

end;

Al ejecutar el programa y pulsar el botón verá aparecer una ventana similar a la


de la figura. Es un método fácil y rápido de solicitar al usuario de nuestra
aplicación que nos indique el camino donde quiere alojar o del que desea
recuperar una cierta información.

Francisco Charte es profesor de informática y autor de diferentes libros sobre


lenguajes y sistemas de información.
Visual C++/C++ Builder
Francisco Charte Ojeda

charte@pcw.idg.es

Estos dos entornos son los más utilizados en Windows para desarrollar
aplicaciones utilizando el lenguaje C++ y, aunque lógicamente son distintos, los
dos están basados en el mismo lenguaje, por lo que comparten características.
Algunos de los trucos descritos a continuación son aplicables, asimismo, a
cualquier otro compilador de C++.
81 Destructores virtuales
C++ es un lenguaje orientado a objetos en el que es posible definir nuevas clases
a partir de otras ya existentes, usando para ello un mecanismo de herencia. Esta
técnica, conjuntamente con el polimorfismo, permite reutilizar código de una
manera bastante eficiente. En la herencia y el polimorfismo juegan un papel
importante los métodos virtuales, pero la mayoría de los programadores pasan
por alto el hecho de que los destructores también deben ser virtuales.

En lugar de explicar con palabras el motivo de esa necesidad, veámoslo mejor


con un ejemplo bastante claro. Partamos de la definición de las dos clases
siguientes:

class Base {

protected:

int N;

public:

Base() : N(6) {}

~Base()

{ ShowMessage(N); }

};

class Derivada : public Base {

public:

Derivada() {}

~Derivada() { N /= 2; }

};
Con el fin de simplificar, toda la implementación se encuentra en línea dentro de
la misma definición de clases. La clase Base cuenta con un miembro protegido,
accesible por tanto para Derivada, al que asigna un valor inicial. Cuando el
objeto es destruido se muestra el valor que tiene en ese momento. Puesto que en
la clase Base no se manipula la variable, siempre que se destruya un objeto de
este tipo el valor será el mismo dado inicialmente.

En la clase Derivada, que tiene como base a la anterior, se modifica el valor de N


en el destructor, dividiéndolo entre dos. Si creamos un objeto de esta clase y a
continuación lo destruimos, el valor de N mostrado en el destructor de Base será
3 y no 6, como es lógico. Compruébelo ejecutando las sentencias siguientes:

Base *Objeto1 = new Base();

delete Objeto1;

Derivada *Objeto2 = new Derivada();

delete Objeto2;

La técnica conocida como polimorfismo permite usar objetos de distintas clases,


pero con una base común, de manera genérica. Es posible, por ejemplo, asignar
una referencia de tipo Derivada a un puntero Base. Al destruir esa referencia, sin
embargo, los destructores no se ejecutan en el orden correcto y el valor mostrado
no es 3 sino 6, lo cual indica que se ejecutó el destructor Base antes que el
destructor Derivada. Esto es anormal, puesto que el objeto era de la clase
Derivada.

Para solucionar este problema basta con anteponer la palabra virtual en la


definición del destructor de la clase base, lo cual implicará que el destructor sea
virtual en todas las clases derivadas. Es algo que puede tomar como norma:
defina los destructores siempre como virtuales, le evitará problemas.
82 Cadenas AnsiString

El tratamiento de cadenas de caracteres nunca ha sido uno de los puntos fuertes


del lenguaje C++, en contraposición a otros como BASIC o Pascal. La simple
operación de asignar una cadena a una variable, concatenar dos cadenas u
obtener su longitud, por ejemplo, exige el uso de una serie de funciones bien
conocidas por los programadores de C y C++, como strlen(), strcpy() o strcat().
Debido a esto los compiladores de C++ incorporan librerías que, como la STL
(Standard Template Library), cuentan con clases que simplifican ese trabajo.

En C++ Builder, herramienta que dispone de una jerarquía de clases y


componentes conocida como VCL, tenemos disponible la clase AnsiString,
equivalente al tipo String que existe en Delphi. Lo más interesante de esta clase,
aparte de facilitar el trabajo con cadenas de caracteres, es que puede utilizarse
para realizar multitud de conversiones, tan sólo es necesario conocer los
constructores y métodos con que cuenta. Algunos de esos métodos son estáticos,
lo cual significa que podemos usarlos directamente, sin necesidad de crear un
objeto AnsiString.

Mediante los métodos de la clase AnsiString es posible convertir un número


decimal en hexadecimal, un valor de punto flotante en una cadena, una cadena
en un número entero, convertir mayúsculas en minúsculas o viceversa, generar
cadenas a partir de un cierto carácter, dar formato a datos en base a una cadena
de descripción, analizar el contenido de una cadena para encontrar delimitadores
y patrones, etc. Los operadores de esta clase simplifican el acceso individual a
los caracteres, la concatenación y la comparación de cadenas.

Para efectuar una conversión de cualquier dato a cadena de caracteres, lo único


que hay que hacer es crear un objeto AnsiString facilitando como parámetro ese
dato. Es lo que se hace en el siguiente fragmento:

AnsiString Cadena = 103.7;

ShowMessage(Cadena);

Esto es posible gracias a la existencia de más de una docena de constructores


diferentes en la clase AnsiString, constructores que son usados ante asignaciones
como la anterior. En la figura puede ver algunos de esos constructores.
83 Cómo añadir nuevas palabras clave

La mayoría de las herramientas de desarrollo actuales cuenta con editores de


código capaces de realzar el texto sintácticamente, haciendo más fácil y rápida la
identificación de las palabras clave, comentarios, etc. En el caso concreto de
Visual C++ existe la posibilidad de añadir una lista de palabras definidas por el
usuario, palabras cuyo aspecto en el editor puede establecerse según nuestras
preferencias.

Esto es especialmente interesante si usamos el entorno de Visual C++ para


trabajar con otros lenguajes, por ejemplo C#, configurando adecuadamente el
editor y las opciones para compilación.

Lo primero que hay que hacer es localizar el ejecutable msdev.exe que


habitualmente se encuentra en la carpeta Common\MSDev98\Bin del directorio
donde esté instalado Visual Studio. En esa carpeta crearemos un archivo de texto
con el nombre usertype.dat, incluyendo en él todas las palabras clave del nuevo
lenguaje a razón de una por línea.

Finalizada la edición del archivo de palabras clave, lo siguiente sería iniciar


Visual C++ y elegir la opción Options del menú Tools. Ésta da paso a una
ventana con múltiples páginas, de las cuales nos interesa la llamada Format que
puede ver en la figura. No tenemos más que seleccionar el elemento User
Defined Keywords de la lista Colors y definir la apariencia de esas palabras.

Completado todo el proceso, sólo resta comenzar a trabajar en un archivo C++


para comprobar cómo se diferencian las palabras clave de su lista del resto del
código.
84 Cómo definir operadores para clases propias
Una de las cualidades más interesantes del lenguaje C++, sintácticamente
hablando, es la posibilidad de definir operadores para las clases propias. Esto
simplifica el uso de dichas clases al reducir el número de métodos a los que hay
que invocar para realizar las tareas. Siempre es más sencillo disponer el operador
++ detrás del nombre de un objeto que tener que llamar a un hipotético método
Incrementa(), o usar el operador estándar de inserción, <<, para añadir un
elemento que llamar a un método Anade().

La definición de un operador en una cierta clase no se diferencia demasiado de la


de cualquier método, contando con un valor de retorno y unos parámetros. La
distinción es que, en lugar de facilitar un identificador propio, usaremos la
palabra operator seguida del operador a definir. El fragmento siguiente, por
ejemplo, podría ser la definición del operador + para una hipotética clase
Unidad.

long operator+(Unidad& OtraUnidad);

No todos los operadores pueden ser redefinidos, pero sí la mayor parte de ellos:
aritméticos, incremento y decremento, inserción y extracción, corchetes e,
incluso, los operadores new y delete, lo cual facilitaría el control de la creación y
destrucción de objetos de la clase.

Una posibilidad muy interesante, especialmente cuando se trabaja con clases que
contienen o representan listas de elementos, es la de poder redefinir el operador
[], facilitando así el acceso a los elementos en lugar de implementar métodos
como LeeElemento() y AsignaElemento(). Suponga que cuenta con una clase,
llamémosla Unidad, que serviría para realizar diversas operaciones sobre las
unidades de almacenamiento que hay en el sistema. En principio esta clase
podría ser así de sencilla:

// Clase que ofrece datos de unidades

class Unidad {

private:
// Camino raíz de la unidad "X:\"

AnsiString Camino;

protected:

// El constructor está protegido

Unidad(char Letra) :

Camino(Letra) { Camino += ":\\"; }

// sólo la clase Unidades podrá usarlo

friend class Unidades;

public:

// Métodos públicos

long EspacioTotal();

long EspacioLibre();

};

Como se aprecia, el único constructor disponible es protegido, lo cual significa


que no habrá manera de crear directamente un objeto de esta clase. La
declaración friend class Unidades, sin embargo, indica que otra clase, llamada
Unidades, sí tiene acceso a todos los miembros de ésta. ¿Cómo permitiría esa
clase obtener un objeto Unidad asociado a una determinada unidad física de
almacenamiento? Podríamos definir un método para ello, pero resultaría más
sencillo usar un operador, como se hace aquí:

// Esta clase ofrece una lista de

// unidades y crea objetos Unidad

class Unidades {

public:
// Operador [] que acepta como

// índice la letra de unidad

Unidad* operator[](char Letra)

// crea un objeto Unidad y

// lo devuelve

{ return new Unidad(Letra); }

// Este método crea una lista

// con las letras de unidad

static AnsiString ListaUnidades();

};

A partir de este momento podríamos obtener objetos Unidad usando expresiones


como las del fragmento de código siguiente:

Unidades varUnidades;

Unidad * UnaUnidad;

UnaUnidad = varUnidades['C'];

ShowMessage(

UnaUnidad->EspacioLibre());

ShowMessage(

varUnidades.ListaUnidades());

ShowMessage(

varUnidades['G']->EspacioTotal());
La sintaxis varUnidades['C'] resulta bastante más intuitiva que si hubiésemos
definido un método y tuviésemos que escribir algo como
varUnidades.Unidades('C'), no cabe duda. Para obtener realmente algún
funcionamiento útil sería preciso finalizar la implementación de las clases
Unidad y Unidades, implementación que bien podría ser la mostrada en el
Listado 2.

************************** OJO LISTADO ***********************

long Unidad::EspacioTotal()

// Variables para recuperar datos

unsigned long // de la unidad

SectoresCluster, BytesSector,

ClustersLibres, ClustersTotales;

// Obtenemos esos datos

GetDiskFreeSpace(

Camino.c_str(), &SectoresCluster,

&BytesSector, &ClustersLibres,

&ClustersTotales);

// y devolvemos el espacio Total en Ks

return SectoresCluster BytesSector

ClustersTotales / 1024;

long Unidad::EspacioLibre()

{
{

// Variables para recuperar datos

unsigned long // de la unidad

SectoresCluster, BytesSector,

ClustersLibres, ClustersTotales;

// Obtenemos esos datos

GetDiskFreeSpace(

Camino.c_str(), &SectoresCluster,

&BytesSector, &ClustersLibres,

&ClustersTotales);

// y devolvemos el espacio libre en Ks

return SectoresCluster BytesSector

ClustersLibres / 1024;

// Este método crea una lista de unidades

// y la devuelve como cadena

AnsiString Unidades::ListaUnidades()

char CadenaUnidades[MAX_PATH];

AnsiString Resultado = "";

int IndiceOrigen = 0;
// Obtenemos la cadena con unidades

GetLogicalDriveStrings(MAX_PATH,

CadenaUnidades);

// Recorremos la cadena hasta

// encontrar un doble nulo

while(CadenaUnidades[IndiceOrigen]) {

// tomamos la letra de unidad

Resultado += CadenaUnidades[IndiceOrigen];

// y si no es la última

if(CadenaUnidades[IndiceOrigen+4])

Resultado += ','; // añadimos separador

// pasamos al siguiente elemento

IndiceOrigen += 4;

// Devolvemos la lista

return Resultado;

Listado 2. Implementación de los métodos de las clases Unidad y Unidades.


85 Automatización en C++ Builder
En Windows existe un mecanismo, conocido como automatización, que permite
a una aplicación controlar a otra o a un componente. Lenguajes como Visual
Basic y Delphi permiten usar dicho mecanismo de una manera realmente
sencilla, siendo tan natural que los programadores la utilizan prácticamente sin
darse en cuenta.

Con C++ el caso es distinto, ya que, a diferencia de Visual Basic y Delphi, no es


un lenguaje tan estrechamente ligado a Windows. Dependiendo de la
herramienta C++ que usemos, el sistema para poder automatizar una aplicación
será uno u otro. En el caso de C++ Builder todo el secreto está en conocer
algunos métodos de la clase Variant. Ésta tiene por finalidad representar en C++
Builder el tipo de dato Variant que existe en otros lenguajes.

Simplemente conociendo dos métodos de Variant tendremos suficiente. El


primero de ellos, llamado CreateObject(), es estático, lo cual significa que
podemos llamarlo directamente sin necesidad de crear un objeto de la clase. El
único parámetro que precisa es el identificador de automatización del objeto a
crear, generalmente compuesto por el nombre de la aplicación, un punto y el
nombre de un componente de esa aplicación.

El otro método de interés es Exec(). Éste toma como parámetro un objeto


Procedure o un objeto Function y lo ejecuta en la aplicación automatizada. El
siguiente fragmento de código, por ejemplo, abrirá Microsoft Word, creará un
nuevo documento, insertará en él una línea de texto y la guardará en un archivo:

Variant Word;

Word = Variant::CreateObject(

"Word.Basic");

Word.Exec(Procedure("AppShow"));

Word.Exec(Function("FileNew"));

Word.Exec(Procedure("Insert") <<
"Texto insertado desde C++ Builder");

Word.Exec(Function("FileSaveAs") <<

"Prueba.doc");

Observe que cuando es necesario facilitar algún parámetro a un procedimiento o


una función, por ejemplo la cadena a insertar o el nombre del archivo, se utiliza
el operador de inserción estándar.

Conociendo esta técnica, lo único necesario para poder automatizar una


aplicación es conocer su modelo de componentes: nombres de objetos,
procedimientos, funciones y propiedades. Es algo que, generalmente, se
documenta en la propia ayuda de la aplicación.
86 Automatización en Visual C++

Al igual que ocurre con C++ Builder, Visual C++ dispone de una clase que,
hasta cierto punto, simplifica la programación de controladores de
automatización. Dicha clase es COleDispatchDriver y, aunque permite las
mismas operaciones que la clase Variant de C++ Builder, su uso es algo más
complejo. Esto se debe a que la clase Variant de C++ Builder se ocupa de
muchos de los detalles de bajo nivel relativos al mecanismo de automatización,
como la resolución de nombres y el empaquetado de parámetros, mientras que la
clase COleDispatchDriver nos deja a nosotros esas tareas.

El equivalente a CreateObject() en la clase COleDispatchDriver es


CreateDispatch(). Necesita dos parámetros: el identificador de automatización y
un objeto COleException donde devolver información de posibles errores.
Internamente, los métodos y propiedades de un componente automatizable son
reconocidos mediante identificadores y no con nombres descriptivos, como
FileSaveAs. Cada vez que necesitemos usar un método tendremos que obtener
ese identificador de alguna manera.

Uno de los miembros de la clase COleDispatchDriver, llamado m_lpDispatch,


permite acceder directamente a la interfaz IDispatch del objeto automatizable.
Esa interfaz cuenta con un método GetIDsOfNames() que, facilitándole el
nombre de un método o propiedad, nos facilita el correspondiente identificador.

Disponiendo ya del identificador, lo único que hay que hacer es llamar al método
InvokeHelper() de la clase COleDispatchDriver. Los parámetros necesarios son:
el identificador, una constante indicando si se trata de un método, una lectura de
propiedades, una asignación a propiedad, etc., una constante indicando el tipo
del valor de retorno, un puntero a la variable donde se almacenará ese valor, una
matriz con los tipos de los parámetros y, finalmente, una lista variable con esos
parámetros.

Lo mejor es ver en la práctica cómo hacer exactamente lo mismo que en el truco


anterior: crear un documento de Word e insertar un texto en él. El código
necesario sería el siguiente:
COleDispatchDriver Word;

COleException * Excepcion =

new COleException;

CoInitialize(NULL); // Inicializamos COM

// y creamos el objeto

Word.CreateDispatch(

"Word.Basic", Excepcion);

DISPID disp;

BYTE Tipos[] = VTS_BSTR;

LPOLESTR Metodo;

// Llamamos al método AppShow

Metodo = L"AppShow";

// Recuperamos el dispid del método

Word.m_lpDispatch->GetIDsOfNames(

IID_NULL, &Metodo, 1,

GetUserDefaultLCID(), &disp);

// y lo ejecutamos

Word.InvokeHelper(disp,

DISPATCH_METHOD,

VT_EMPTY, NULL, NULL);

// Lo mismo con el método FileNew


Metodo = L"FileNew";

Word.m_lpDispatch->GetIDsOfNames(

IID_NULL, &Metodo, 1,

GetUserDefaultLCID(), &disp);

Word.InvokeHelper(disp,

DISPATCH_METHOD,

VT_EMPTY, NULL, NULL);

// Para Insert es necesario facilitar

Metodo = L"Insert";

Word.m_lpDispatch->GetIDsOfNames(

IID_NULL, &Metodo, 1,

GetUserDefaultLCID(), &disp);

// un parámetro

Word.InvokeHelper(disp,

DISPATCH_METHOD,

VT_EMPTY, NULL, Tipos,

"Texto insertado desde Visual C++");

Como puede ver, el código es considerablemente más extenso y complejo que en


el caso de C++ Builder, aunque el resultado final es el mismo.

Tanto Visual C++ como C++ Builder son capaces de simplificar el uso de
aplicaciones automatizables siempre que dispongamos de una librería de tipos.
Usando la opción adecuada del entorno, esa librería de tipos se importa y genera
una clase que permite trabajar con la aplicación de una manera mucho más
sencilla.

Francisco Charte es profesor de informática y autor de diferentes libros sobre


lenguajes y sistemas de información.
Montaje del PC
Noé Soriano

noe@idg.es

¿La forma de ensamblar un ordenador personal puede afectar a su rendimiento?


Esto, que a primera vista parece absurdo, tiene mucha importancia. A
continuación vamos a dar unos sencillos consejos de montaje de algunos de los
elementos del hardware de un equipo informático, que pueden aumentar el
rendimiento del mismo y reducir algunos errores de funcionamiento. Los
lectores escépticos que piensen que las recomendaciones de montaje no influyen
en el funcionamiento de un dispositivo electrónico podrán comprobar la utilidad
de seguir estos sencillos consejos, aunque la mayoría nada tiene que ver con la
mejora de los procesos electrónicos internos que se producen en un equipo
informático. Hay que recordar que un ordenador personal no es un dispositivo
enteramente electrónico, dispone de partes mecánicas y procesos analógicos que
pueden reducir su nivel de errores siguiendo estas sencillas recomendaciones.
87 Disipador del microprocesador

El disipador metálico y el ventilador del microprocesador tienen como objetivo


reducir la temperatura de este componente para evitar posibles cuelgues del
sistema y mejorar el rendimiento de la CPU. Actualmente, tanto el disipador
como el ventilador se montan en todos los equipos nuevos que se ponen a la
venta. Sin embargo, casi ningún ensamblador incluye en el montaje un elemento
que mejora el rendimiento del disipador hasta en un 60%: la silicona para
semiconductores. Tanto la superficie del microprocesador como la del disipador
metálico, aunque a primera vista puedan parecer planas, en realidad a nivel
microscópico son muy irregulares. Estas irregularidades de las superficies hacen
que se pierda contacto entre ambas y que se reduzca la transmisión de calor,
perdiendo capacidad de disipación. La silicona evita esto cubriendo las
hendiduras de la superficie y permitiendo la transmisión del calor sin pérdidas en
la capacidad de disipación.

Este producto es utilizado con regularidad por los profesionales del sector de la
electrónica para mejorar las propiedades de los disipadores de los componentes
que emiten calor de forma no deseada. Nosotros recomendamos su uso, incluso
el mismo usuario puede adquirir este producto en cualquier comercio
especializado, para extender una pequeña cantidad entre en microprocesador y la
superficie del disipador metálico. Con esto mejora la transmisión del calor entre
ambas superficies, disipándose una mayor cantidad.
88 Slot1 a Socket 370

Debido a la estandarización del Socket 370 en detrimento del Socket 1 para


procesadores Intel, es posible que necesitemos utilizar un procesador de última
generación y aún tengamos una placa Socket 1. No hay mayor problema;
actualmente podemos conseguir por muy poco dinero un convertidor para Socket
370. De hecho, viene incluido con algunas placas. Se trata de una placa que
contiene el Socket 370 y se inserta en el zócalo para Slot1. Esta placa suele venir
acompañada de un adaptador que ofrece mayor sujeción a la placa base.
Soportan los procesadores Intel Celeron y Pentium III, e incluso Cyrix III.
Podemos seleccionar el voltaje en el propio adaptador mediante unos jumpers o
dejar que el sistema lo autodetecte, al igual que su velocidad. AGAMA es una de
las empresas que fabrican este tipo de adaptadores, como el AS370 Card. Su
dirección web es www.agamatech.com.
89 Montar un sistema multiprocesador con
Celeron

En teoría y en la práctica esto es imposible, y es imposible porque Intel no


permite hacerlo, no considera este procesador adecuado para constituir un
sistema informático multiprocesador, quizá porque le conviene que el usuario
que necesite este tipo de equipos se gaste más dinero en sus productos
profesionales. Afortunadamente, Intel no tiene bajo su tutela a todos los técnicos
del mundo y uno de estos profesionales, Tomohiro Kawada, se saltó el sistema
que impide montar en una placa base dual dos procesadores Intel Celeron.

La forma de hacerlo, además, es extremadamente sencilla; una prueba más de la


premeditación de Intel en este sentido. Simplemente hay que soldar dos patillas
del microprocesador y ya es posible montarlo sobre placas madre duales. No
vamos a comentar el proceso porque no merece la pena. Intentar soldar las dos
patillas era la práctica que se seguía al principio de desarrollarse esta técnica.
Ahora mismo, por un módico precio ya se venden adaptadores de Socket a Slot
preparados precisamente para montar procesadores Celeron y poder utilizarlos
en placas duales. Incluso algunos fabricantes ya comercializan placas duales
especiales para estos microprocesadores de Intel.

Cualquiera de estas dos soluciones permitirá al usuario montar un equipo dual


con un coste bastante más reducido que si utilizase procesadores Pentium III.
Hay que recordar, eso sí, que realizar este tipo de ampliación sólo es
recomendable si se va a utilizar un sistema operativo con soporte para
multiprocesador, como por ejemplo Windows 2000 o Linux, ya que si no, no
aprovecharíamos las ventajas del sistema y utilizaríamos únicamente uno de los
dos Intel Celeron.
90 Fajas, alimentaciones y cables

Las fajas y cables de alimentación, audio, etc., es conveniente que estén sujetos
y recogidos en el interior del ordenador personal. Con esto evitaremos, por
ejemplo, que una faja pueda obstruir la entrada de aire del ventilador del
microprocesador, o que al instalar una tarjeta o componente podamos
desconectar alguno por accidente. Para recoger los cables se pueden utilizar
bridas, aunque no son muy recomendables porque a la hora de quitarlas hay que
utilizar alguna herramienta de corte y podrían dañarse los cables. Existen
sujeciones especiales con dos “antenas” que cumplen la misma función y pueden
quitarse con facilidad. Otro elemento interesante son los cubreconectores,
especialmente diseñados para tapar las alimentaciones sobrantes y evitar que
entren en contacto con alguna parte metálica, provocando un cortocircuito.
91 Ventilación de la torre
Algunos modelos de torre y minitorre vienen preparados para instalar
ventiladores adicionales y mejorar la ventilación interna del ordenador. El
usuario puede adquirir uno de estos ventiladores e instalarlo fácilmente
simplemente atornillándolo en la ubicación destinada para el mismo. Otro
consejo recomendable es el de mantener la carcasa de la torre siempre puesta y
atornillada, así como las tapas de las ranuras de expansión para tarjetas. Aunque
pueda parecer que así se calienta más el equipo, en realidad es al contrario, ya
que con la torre bien cerrada se crea un circuito por el que circula el aire,
impulsado por el ventilador de la fuente de alimentación y por los adicionales
que estén instalados, refrigerando así el resto de componentes. Para favorecer
este circuito de aire también es conveniente montar las tarjetas de vídeo, sonido,
etcétera, en slots alternos, dejando así mayor espacio entre las tarjetas para que
circule el aire y ventile mejor los componentes. Si se montan varios ventiladores
adicionales, hay que comprobar que la dirección de salida de aire en cada uno de
ellos es la misma, precisamente para crear las corrientes de aire en la misma
dirección y favorecer el circuito de aire.

Cuando hablamos de ventilación hay que tener en cuenta la siguiente


recomendación: nunca hay que obstruir las rendijas ni de la CPU ni del monitor.
Son muy corrientes algunas mesas de escritorio con un soporte especial para la
minitorre del PC. Si este soporte no dispone del suficiente espacio en la parte de
atrás de la torre, puede obstruir el orificio de ventilación de la fuente de
alimentación y provocar que el sistema se sobrecaliente y se apague debido al
sistema de seguridad que incorpora la propia fuente de alimentación. En el caso
del monitor, nunca hay que poner trapos o adornos que puedan tapar las rendijas
de ventilación. Por supuesto, tampoco pondremos ninguno de los componentes
del equipo cerca de una fuente de calor o expuesto a la luz directa del sol, y en el
caso de sistemas corporativos como servidores, incluso es conveniente disponer
de una sala refrigerada para su ubicación.
92 Conexión de dispositivos SCSI

Una de las características que más destacan de las controladoras SCSI es la


posibilidad de instalar una cadena de dispositivos que, según el tipo de
controladora instalada en el sistema, puede llegar hasta los 15 elementos al
mismo tiempo, además de la propia controladora. Si dispone de una controladora
SCSI con más de un dispositivo instalado, puede mejorar el rendimiento de su
ordenador personal, configurándola correctamente. Lo primero que hay que
saber es que en una cadena SCSI cada dispositivo debe tener un número de
identificación asignado. La cadena SCSI comprueba los dispositivos que tiene
instalados y les da preferencia en orden inverso, según el número que tengan
asignado. Así, el 6 tiene preferencia sobre el 5 y éste a su vez sobre el 2, por
ejemplo. El único dispositivo que siempre tiene preferencia sobre los demás son
las grabadoras de CD-ROM, ya que cuando realiza una copia bloquea la cadena
para evitar que se produzcan fallos de grabación.

Sabiendo esto vamos a explicar cómo asignar los números de identificación a


cada dispositivo SCSI para lograr el mejor rendimiento y velocidad de
funcionamiento. Dado que cada número prevalece sobre todos los inferiores a él,
reservaremos el más alto, que dependerá del tipo de controladora instalada, para
la propia controladora, siempre y cuando ésta permita configurar este parámetro,
bien a través de una BIOS accesible al usuario o con jumpers en la misma placa
del dispositivo. Después de la controladora, conviene asignar los dispositivos
más utilizados, como por ejemplo discos duros, seguidos de unidad lectora de
CD-ROM o DVD. Como ya hemos dicho, las grabadoras disponen de un sistema
para prevalecer sobre los demás dispositivos cuando se está realizando una
copia, así que si se dispone de una y sólo se le da este uso, no es necesario darle
prioridad sobre los demás. Los dispositivos que no se usen continuamente pero
que sí necesiten de una buena tasa de transferencia de datos, como unidades ZIP
o de cinta, serán los siguientes en preferencia, y por último en las asignaciones
más bajas se pueden instalar dispositivos como escáneres, cuya utilización es
esporádica y no necesitan de altos niveles de transferencia de datos.

Éste es el método más recomendable de configuración de una cadena SCSI para


sacarle el mayor rendimiento. Luego hay que comprobar si es posible aplicarlo
con los dispositivos instalados o hay que realizar modificaciones. Algunos
dispositivos SCSI sólo permiten configurar unos números de asignación
específicos, teniendo el usuario que adaptar toda la cadena en función de las
posibles configuraciones de las que pueda disponer.
93 Conexión de las unidades de disco IDE

Actualmente todos los equipos informáticos tienen por lo menos un disco duro y
una unidad lectora de CD-ROM. La mayoría de los ordenadores que están a la
venta tienen montado el disco duro como maestro y el CD-ROM como esclavo
en el canal primario de la controladora EIDE. Esto se hace así por la comodidad
en el montaje, ya que de fábrica los discos duros vienen configurados como
maestros y los CD-ROM como esclavos. Sin embargo, es un desperdicio de la
capacidad de transmisión de datos de la controladora, ya que tenemos uno de los
dos canales libre y el otro sobrecargado innecesariamente con dos unidades.

Al compartir el canal, los dos dispositivos no pueden mantener el flujo constante


de datos debiendo alternarse en su funcionamiento, perdiendo así rendimiento el
equipo. Lo ideal es instalar el disco duro en el canal primario y la unidad de CD-
ROM en el secundario para así aprovechar los dos en la transmisión de datos
entre las dos unidades. Si disponemos de una unidad de grabación de CD-ROM,
además del lector, es conveniente instalarla separada de la unidad lectora. Si el
lector está en el canal primario, instalaremos la grabadora en el secundario. Esto
reducirá los errores de grabación, sobre todo en las grabaciones directas (on the
fly) desde el lector. Si las dos unidades estuviesen montadas en el mismo canal
de la controladora tendrían que repartirse el ancho de banda, perdiendo
capacidad en el flujo de datos de ambas unidades, siendo más probable así que
se produzcan errores de grabación.

La configuración más recomendable en este caso es tener el disco duro como


maestro y el lector de CD-ROM como esclavo, en el canal primario de la
controladora, y en el secundario, la grabadora de CD-ROM. Esto favorecerá la
transferencia de datos tanto en copias directas desde el lector de CD-ROM,
como las realizadas desde el disco duro. Si dispusiésemos de un segundo disco
duro, sólo quedaría una opción libre: instalarlo como esclavo de la grabadora en
el canal secundario. Eso sí, evitaremos siempre que se pueda realizar copias
desde este disco duro, utilizando preferentemente el maestro del canal primario.
Otro detalle que mejora la velocidad de transmisión de datos entre las unidades
de disco duro y el ordenador personal es el aprovechamiento de los sistemas de
comunicación entre disco duro y controladora, Ultra DMA 33, 66 y 100. Si
nuestro disco duro y controladora soportan este modo de funcionamiento, para
aprovecharlo debemos instalar una faja de conexión especial entre ambos
dispositivos. Básicamente esta faja dispone de más hilos para la transmisión de
datos, con lo que el ancho de banda (capacidad máxima de envío de datos
simultáneos) se amplía incluso hasta los 100 MB/segundo.
Impresoras
Martín Moncalvillo

martinm@idg.es
94 Mayor accesibilidad

Mediante este truco podremos colocar el icono de Impresoras en el menú Inicio,


dando así mayor accesibilidad a la interfaz de este periférico: para ello
tendremos que pinchar en Inicio•Configuración•Barra de tareas y Menú Inicio...
Una vez seleccionado nos aparece el cuadro de diálogo Propiedades de Barra de
tareas donde tendremos que pulsar en la pestaña Programas del menú Inicio. Una
vez allí hacemos clic en Opciones Avanzadas. Entonces nos aparecerá la ventana
del explorador en el Menú de Inicio. En la ventana derecha crearemos un nuevo
directorio y le daremos el nombre: Impresoras.{2227A280-3AEA-1069-A2DE-
08002B30309D}. Ahora podremos disponer de un acceso directo desde el menú
Inicio al menú Impresoras.
95 Limpieza

Las impresoras de chorro de tinta funcionan pulverizando con pequeños chorros


de tinta el papel. De este modo, los cartuchos están compuestas por un cierto
número de orificios, a través de los cuales expulsan la tinta, formando un
minúsculo punto negro en el papel con el que se forman las letras e imágenes.
Así que se hace necesario mantener los cabezales limpios para una correcta
impresión, pues la tinta, debido a la inactividad, puede resecarse y taponar los
orificios. Para ello algunas impresoras suelen tener unas utilidades de
autolimpiado, que consisten en la limpieza estos cabezales para evitar que se
obstruyan. Si aún así no obtenemos los resultados esperados, podremos limpiar
nosotros mismos la impresora.

Debemos desconectar la alimentación y extraer el cartucho. Lo limpiaremos con


un paño humedecido en alcohol o un pequeño bastoncillo que no suelte pelusa.
Limpiaremos los inyectores, el soporte del cartucho y el lugar donde aparcan los
cartuchos de impresión cuando no se están utilizando. También limpiaremos los
contactos del lugar de colocación de los cartuchos en la impresora y el carro de
impresión.
96 Aumento de rendimiento
Cuando nuestro cartucho de tinta está dando los últimos ‘coletazos’ y las
impresiones comienzan a verse defectuosas, un truco que alargará su uso para
alguna urgencia es sacarlo y agitarlo. De este modo la tinta se distribuye por el
cartucho y el driver incluso puede reconocer que los niveles han subido,
consiguiendo algunas copias más de calidad. No obstante esto sólo servirá para
aguantar algunas copias mientras corremos a comprar otro cartucho.
97 Velocidad de impresión

Si lo que queremos es realizar muchas copias lo más rápido que podamos, sin
importarnos la calidad de la impresión y ahorrando la mayor cantidad de tinta
posible, lo mejor es introducirse en Inicio•Configuración•Impresoras y
seleccionar, con el botón derecho, la impresora predeterminada, para después
pinchar en Propiedades. Los menús ahora dependerán del driver instalado, pero
la mayoría de ellos permiten seleccionar imprimir en blanco y negro y realizar
impresiones rápidas, que son la opciones que menos tinta utilizan.
98 Ampliar su capacidad
El procesador de la impresora lee los datos de la memoria RAM de nuestro
ordenador y las almacena en su buffer, dando entonces las órdenes necesarias
para realizar la impresión. Cuando el buffer de la impresora se llena, el
ordenador interrumpe la transmisión de datos, y cuando se vacía, la impresora
vuelve a solicitar datos de la RAM. Por ello, a veces ocurren retenciones a la
hora de realizar una impresión, sobre todo cuando el documento a imprimir es
muy ‘pesado’ (tiene una gran cantidad de información, por lo general por
contener elementos gráficos). Para evitar esto en la mayor medida posible, lo
ideal es aumentar la memoria RAM disponible y adquirir una impresora con un
tamaño de buffer elevado.
99 Técnica de arrastar-soltar

Si quiere imprimir utilizando la técnica de arrastrar y soltar debe hacer doble clic
en el icono de Mi PC del escritorio. Después haga doble clic en el icono de
Impresoras con lo que le aparecerá una ventana con las impresoras que tiene
instaladas y la predeterminada. A continuación haga clic con el botón derecho
del ratón en la impresora que quiere utilizar, y seleccione Crear acceso directo.
Esto lanzará un cuadro de diálogo que nos informará de que tendremos que
situar este icono obligatoriamente en el escritorio. Aceptamos y ya sólo nos
queda buscar el fichero que quiere imprimir en el explorador o en el escritorio y
arrastrarlo y soltarlo encima de dicho icono. El documento se imprimirá
automáticamente.
Configuración del módem
Noé Soriano

noe@idg.es
100 Marcación más veloz del número de acceso
Para acelerar la velocidad de marcación del módem pulsar
IniciolConfiguraciónlPanel de
controllMódemslPropiedadeslConexiónlAvanzadas, una vez aquí, en la opción
Configuraciones Adicionales hay que escribir AT S11=50. No es necesario
reiniciar el ordenador, ya que la nueva configuración es operativa desde este
momento y el módem tardará menos en realizar la marcación de números
telefónicos, incluido el de acceso a Internet.
101 Silenciar el altavoz del módem

Algunos modelos de módem no permiten silenciar el altavoz. Esto puede ser


muy molesto en ciertas ocasiones. Para solucionarlo se pude silenciar el
dispositivo pulsando IniciolConfiguraciónlPanel de
controllMódemslPropiedadeslConexiónlAvanzadas, y en la opción de
Configuraciones Adicionales, añadir el parámetro AT M0. De esta forma el
altavoz del dispositivo ya no volverá a dar la lata.

Si quiere acelerar el marcado y silenciar el altavoz simultáneamente, no es


necesario que escriba AT dos veces. Bastará con que ponga AT S11=50 M0.
102 Velocidad del módem
Para optimizar la velocidad de transmisión de datos del módem es conveniente
configurar los recursos de este dispositivo y del puerto de comunicación
utilizado, dentro del sistema operativo. Pulsando IniciolConfiguraciónlPanel de
controllSistemalAdministrador de dispositivos, en la lista de dispositivos
seleccionamos el módem instalado en nuestro ordenador personal y pulsamos en
la opción Propiedades, en la pestaña General comprobaremos que en el apartado
de Velocidad máxima el valor es como mínimo 115200. Si es menor lo
modificaremos.
103 Velocidad del puerto de comunicaciones

Exactamente igual que el módem, el puerto de comunicaciones que utiliza para


la transmisión y recepción de datos debe tener configurada una velocidad que le
permita funcionar al máximo rendimiento. Pulsando IniciolConfiguraciónlPanel
de controllSistemalAdministrador de dispositivos, esta vez seleccionamos el
puerto de comunicaciones utilizado por el módem de nuestro ordenador
personal, pulsamos Propiedades y en la pestaña de Configuración del puerto, en
la opción de Bits por segundo también nos aseguraremos de que el valor mínimo
sea 115200. Con esto evitamos que el puerto de comunicaciones pueda crear un
cuello de botella para los datos, ralentizando la velocidad de conexión.
104 Configuración avanzada del puerto

Los parámetros de configuración avanzada del puerto se modifican dentro de la


pestaña conexión de las propiedades del módem. Para llegar a ella pulsamos
IniciolConfiguraciónlPanel de controllMódemslPropiedadeslConexión. En esta
ventana tenemos la opción Configuración de puerto..., donde aparecen las
opciones del buffer de recepción y transmisión del puerto de comunicaciones. La
opción de Usar búferes FIFO debe aparecer activada, y las dos barras de
recepción y transmisión en sus valores máximos, a la derecha del todo. Esto
mejora el rendimiento de la conexión. Si se produjesen numerosos errores de
conexión estos valores se pueden reducir para evitarlos.
Optimización de unidades de
disco
Noé Soriano, noe@idg.es

Martín Moncalvillo, martinm@idg.es


105 Utilizar el acceso directo a memoria (DMA)

El sistema operativo Windows en su instalación no activa el acceso directo a


memoria (DMA) de las unidades de disco IDE. Esto se debe a que las unidades
antiguas no soportan este modo de funcionamiento y el sistema operativo de
Microsoft no es capaz de detectar qué modelos son los que los soportan y cuáles
no. Para evitar problemas de funcionamiento, por omisión la opción DMA
aparecerá desactivada. Sin embargo, cualquier unidad de disco duro o lector de
CD-ROM medianamente moderno soporta el modo de acceso directo a memoria,
que además aprovecha los modos de acceso más rápidos de comunicación entre
el ordenador y las unidades de disco, tanto en un sentido como en otro.

Para activar esta opción pulsaremos IniciolConfiguraciónlPanel de


controllSistemalAdministrador de dispositivos, una vez aquí elegiremos la
unidad de disco a la cual queremos activar el acceso directo a memoria, hacemos
clic en PropiedadeslConfiguración, y activamos la opción DMA. Al pulsar
Aceptar se nos pedirá que reiniciemos el sistema para acabar de completar los
cambios. Si nos resta alguna unidad por activar, es mejor esperar, activarlas
todas y después reiniciar, para ahorrar tiempo en los sucesivos arranques del
sistema.
106 Desfragmentación

Se utiliza para mantener archivos en orden contiguo y que se carguen más


rápidamente. Cuando se escriben archivos al disco duro, éstos se dividen en
varios sectores, que se distribuyen de la manera más próxima posible a lo largo
de todo el disco. Cuando borramos y añadimos muchos archivos tenemos como
resultado archivos cada vez más divididos en sectores más alejados. De este
modo el lector del disco duro tiene que moverse mucho más. La solución es
utilizar esta utilidad que podemos encontrar en
Inicio•Programas•Accesorios•Herramientas de sistema•Desfragmentador de
disco.

Windows 98 posee una herramienta llamada Asistente para mantenimiento que


le permite configurar el mantenimiento periódico de su equipo. Se encuentra en
Inicio•Programas•Accesorios•Herramientas de sistema•Asistente para
mantenimiento. En él podremos configurar diversas tareas, como corrección de
errores o desfragmentación del disco, para que se realicen de forma periódica y
automática.
107 Sistemas FAT16 y FAT32

Actualmente el sistema FAT32 ha desplazado por completo al antiguo sistema


de archivos FAT16. Esta nueva versión permite crear volúmenes de hasta 2 TB,
frente a los 2 GB a los que limita FAT16. Este último sistema desperdiciaba
clusters, de modo que si el sistema debía guardar archivos de, por ejemplo 2 KB,
desaprovechaba al hacerlo todo un clúster de 32KB. Con el sistema FAT32
utilizaría un clúster de 4 KB, con lo cual ahorra recursos del sistema. Además se
consigue un ligero aumento en la capacidad del disco duro.

Con el convertidor de unidades FAT32 podremos aprovechar las ventajas de este


sistema en unidades de tipo FAT16, sin formatear ni perder los contenidos que
ya tuviéramos en el disco. Con ello conseguimos aprovechar mejor el espacio en
nuestro disco duro. El inconveniente es que no podremos acceder al disco ni
desde DOS, ni desde Windows 95 anterior al OSR2. Las ventajas son una mejor
gestión de la capacidad del disco y un pequeño aumento de tamaño del mismo.
Encontraremos esta utilidad en Inicio•Accesorios•Herramientas del
sistema•Convertidor de unidades FAT32.
108 Particiones

Normalmente cuando compramos un ordenador, éste nos viene con un solo disco
duro con una sola partición. Esto quiere decir que todo el disco tiene el aspecto
de una única unidad que ocupa todo el tamaño del disco. Sin embargo, cuando
compramos uno nuevo descubrimos que es necesario realizarle una partición
antes de formatearlo. Al realizar la partición podremos dividir el disco de forma
que tengamos diferentes unidades disponibles en las que, por ejemplo, podamos
instalar diferentes sistemas operativos. El número máximo de particiones
primarias que se pueden realizar es de 4.

Existen particiones primarias, y particiones extendidas que no se utilizan


directamente sino que se subdividen en unidades lógicas.

En principio una única partición es recomendable para los usuarios que no


quieran complicarse. Si embargo, aumentamos la seguridad si dividimos el disco
en varias particiones. Una primaria y dos lógicas dentro de una extendida es lo
ideal. En la primaria podemos instalar el sistema operativo (reserve 1 GB si tiene
capacidad para ello). En la segunda podemos instalar aplicaciones y podemos
tener otra para documentos o juegos. Normalmente la primera partición suele
estropearse con más frecuencia, debido al sistema operativo. Si esto ocurre,
tendremos todos nuestros datos salvados en las otras 2 particiones, así que,
aunque que tengamos que formatear el disco, e instalar de nuevo todo el sistema,
salvaríamos todos nuestros datos.

El comando Fdisk que se ejecuta desde DOS es la herramienta más primitiva


para realizar particiones, sin embargo es la más accesible, ya que la contienen
todos los sistemas Windows. Sin embargo, tiene muchos defectos: posee una
interfaz anticuada y requiere borrar las particiones preexistentes, perdiendo así
todos los datos contenidos en ellas. Herramientas como Partition Magic eliminan
todos esos inconvenientes, ofreciendo una sencilla y cómoda interfaz que no nos
obligará a borrar los datos contenidos en el disco. Podremos encontrar
información sobre esta herramienta en la dirección www.powerquest.com.
Otros trucos de hardware
Noé Soriano, noe@idg.es

Martín Moncalvillo, martinm@idg.es


109 Mejorar el rendimiento gráfico

Después del microprocesador, el elemento que más trabaja en un ordenador


personal es la tarjeta de vídeo, encargada de enviar al monitor la señal necesaria
para componer la imagen que el usuario ve en la pantalla. Esto convierte a la
tarjeta gráfica en uno de los elementos más importantes, y si hablamos de
potencia gráfica para juegos o aplicaciones profesionales, es el componente
principal. Aumentar su rendimiento significa por tanto mejorar lar prestaciones
gráficas del ordenador personal, aunque hasta ahora ésta no era una posibilidad
al alcance del usuario.

Ha sido con la aparición de los últimos modelos de aceleradoras 3D, donde un


mayor rendimiento supone desmarcarse de los competidores, cuando los
fabricantes de adaptadores de vídeo han dado la posibilidad al usuario de
intervenir en los procesos de funcionamiento del componente. Son muchos los
modelos que incluyen una aplicación para controlar la velocidad de reloj del
procesador gráfico y de la memoria de vídeo. Por lo general, los valores de
fábrica no fuerzan la tarjeta gráfica para asegurar un óptimo funcionamiento, por
tanto es posible aumentar ligeramente el ritmo de trabajo del procesador gráfico
y la memoria de vídeo. Esto va a mejorar el rendimiento gráfico del equipo al
obligar a la tarjeta gráfica a trabajar a mayor velocidad.

Además del overclocking del procesador y memoria, otra forma de mejorar el


rendimiento de la tarjeta gráfica es optimizar su funcionamiento. En el caso de
las tarjetas AGP, debemos aprovechar el ancho de banda de este bus. Así, si
nuestra tarjeta gráfica soporta AGP X4 y nuestra placa base también, podemos
configurar en la BIOS del sistema para que aproveche la velocidad del BUS
AGP X4. Por descontado esto también es aplicable para AGP X2. Incluso han
salido al mercado tarjetas gráficas con BIOS propia accesible para el usuario y
donde éste puede configurar la velocidad del bus, memoria y procesador gráfico,
así como monitorizar el funcionamiento del componente, incluida la temperatura
de la GPU para evitar problemas no deseados.

Dentro de unos valores razonables no tienen por qué producirse problemas por
realizar el llamado overclocking del dispositivo de vídeo (forzar el ritmo de
trabajo del procesador gráfico y la memoria por encima de los valores
recomendados por el fabricante), pero hay que advertir que ningún fabricante de
tarjetas gráficas da ningún tipo de garantía de funcionamiento. Por tanto esta
práctica, aunque puede mejorar el rendimiento gráfico, también puede ser fuente
de errores, cuelgues, e incluso averías en el hardware.
110 Mejorar la calidad de sonido del PC
El modelo de tarjeta de sonido instalada en el sistema es la principal referencia a
la hora de evaluar la calidad sonora que es capaz de ofrecer un ordenador
personal. Lógicamente los modelos más avanzados, con mayor número de
canales y efectos digitales, ofrecen mejores resultados que las tarjetas de sonido
de gama baja. Aún así, y dejando al margen las características y prestaciones de
cada modelo, hay algunos trucos de configuración que ayudan a mejorar la
calidad de la señal de sonido.

Lo primero es configurar los drivers de la propia tarjeta y las propiedades de


sonido de Windows para que ofrezcan la mejor calidad posible, normalmente 44
kHz, 16 bits, estéreo. Otra de las opciones que podemos configurar en el sistema
operativo es la información sobre el tipo de altavoces instalados en el ordenador
personal. Con esta información el driver de la tarjeta puede optimizar las salidas
de sonido para adecuarlas al sistema de altavoces del usuario. Pulsando
IniciolConfiguraciónlPanel de controllMultimedia, ya en esta ventana
seleccionamos la opción de Propiedades avanzadas en el apartado Reproducción,
para poder seleccionar el tipo de altavoces instalados.

Otro truco muy recomendable para mejorar la calidad del sonido con tarjetas de
gama baja, sobre todo si utilizamos a menudo el sintetizador MIDI, es instalar un
software de sintetización MIDI y prescindir del hardware de la tarjeta. Los
modelos baratos de gama baja en este apartado dejan mucho que desear.
Instalando un sintetizador por software, como puede ser el distribuido por
Yamaha para sus chips de sonido, mejoraremos las características del
dispositivo.
111 Colocación del sistema de altavoces
(DIAPOSITIVA: SoundWorks csw2000)
Si es el afortunado poseedor de un subwoofer y quiere sacarle el máximo
provecho, debe observar algunos consejos: coloque el subwoofer lejos del
monitor, pues estos dispositivos no suelen estar aislados electromagnéticamente,
con lo que pueden provocar interferencias en nuestro monitor. Su posición ideal
es en el centro de las líneas imaginarias que unen los satélites. Es también
recomendable situarlo sobre una superficie que evite las vibraciones que este
aparato produce.

Si tenemos 3 satélites, podemos colocar dos a ambos lados de la habitación,


detrás del ordenador y el tercero detrás de nosotros. Si tenemos 4, podemos
situarlos a nuestro alrededor, formando un cuadrado, dirigido hacia nosotros y a
la altura de nuestros oídos. También podemos aprovechar el efecto que produce
al rebotar el sonido en la pared, colgando los altavoces en los laterales de la
habitación y orientándolos hacia la pared que está a nuestra espalda. De este
modo recibimos el sonido indirectamente. La distancia a los satélites se
considera idónea entre los 2 y los 3 metros.
112 CD de audio con salida digital

Si quiere disfrutar de CD de audio en su equipo tendrá dos opciones.


Normalmente, con el CD-ROM viene un cable que une éste con la tarjeta de
sonido, con lo que dirige la señal analógica hacia ésta, que la convierte en
digital, pudiendo utilizar los altavoces de nuestro PC para oír música.

La otra opción esta sólo disponible para CD que permitan la extracción de audio
digitalmente y que tengan instalado el sistema Windows 98 ó 2000 (la mayor
parte de los equipos cumplen estas características). La extracción la realizaremos
por medios digitales mediante el propio bus de datos del equipo. Para ello sólo
tendremos que hacer clic en Inicio•Configuración•Panel de control y seleccionar
Multimedia y después la pestaña Música de CD. Aquí seleccionamos Habilitar el
Cd de sonido Digital para este dispositivo de CD-ROM.
113 Grabación de CD

Si al hacer la copia de un CD de audio se producen cortes o suena un ruido de


fondo, primero debe asegurarse de que sus unidades de disco y su grabadora
tienen los drivers adecuados. Debe también observar que el disco no esté
fragmentado. Si aún así se producen sonidos, debe desalojar de la memoria todas
las aplicaciones que el PC ejecuta al arrancar, asegurándose de no tener ningún
programa en ejecución, aparte del software para copiar CD. Para ello pulsamos
Ctrl+Alt+Supr y quitamos todos los programas que no utilicemos con Finalizar
tarea. Únicamente debemos tener en uso el programa de duplicación y las
entradas Systray y Explorer.

Si se producen cortes a la hora de hacer la grabación, puede ser debido a que el


buffer no suministre los datos con la velocidad necesaria. Para evitar esto, puede
intentar que la grabadora y el disco duro no se encuentren en el mismo bus. Para
el caso de disponer de suficiente espacio en el disco duro (750 MB libres),
intente realizar la copia haciendo primero una imagen del CD en el disco.
114 Conversor Paralelo a USB

Si ha comprado un ordenador en los últimos meses posiblemente tenga puertos


USB. Lo más normal es que desee utilizar el resto de sus periféricos con su
nuevo equipo; como escáneres e impresoras y modems, pero éstos sólo tendrán
conectores para puertos paralelos o serie. De este modo, está desaprovechando
las características que ofrece su equipo. Si se encuentra en ese caso puede
adquirir unos económicos conversores paralelo-USB que, además de permitirnos
aprovechar todos sus periféricos nos hará obtener de ellos un mejor rendimiento.
Este adaptador nos permite aprovechar beneficios del USB, como la conexión
‘en caliente’.

Su modo de funcionamiento es muy sencillo. Únicamente debemos conectar un


extremo al puerto paralelo y otro al conector USB. La configuración es
Plug&Play así que no deberíamos tener ningún problema. Su precio ronda las
5.000 PTA (30 euros) para el conversor paralelo y unas 9.000 PTA (50,41 euros)
para el conversor del puerto serie.
115 Añada puertos USB adicionales

Si posee una placa que soporte puertos USB, lo más seguro es que utilice la
mayoría de ellos, al ofrecer múltiples ventajas, como velocidad y comodidad de
uso. De este modo, es posible que se haya quedado sin puertos USB y se vea
obligado a utilizar los obsoletos puertos paralelo y serie. Sin embargo, eso no es
necesario. Gracias a los concentradores USB podremos disponer de varios
puertos USB más a nuestra disposición. Desde un mínimo de dos puertos más
podemos llegar a formar una cadena conectando dispositivos sucesivos y
conseguir hasta 127 puertos.

Podremos conectar ratones, teclados, joysticks, cámaras, impresoras, escáneres,


etcétera. Actualmente hay fabricantes que nos permiten adquirir estos
dispositivos desde 7.000 PTA (42 euros). Su conexión no reviste ninguna
dificultad, ya que se configura de forma automática. También podemos disponer
de más puertos USB si adquirimos determinado hardware; como monitores, pues
algunos incorporan estos puertos. Las últimas placas también incorporan dos
puertos USB opcionales que se conectan directamente a ésta mediante un chip
USB incorporado. Existen muchas configuraciones a nuestra disposición:
podemos elegir entre tarjetas USB que conectamos al zócalo PCI, al chip USB
de la placa, hubs externos de dos y cuatro puertos, etcétera.
116 Conectar dos ordenadores a través del
puerto USB

Uno de los métodos más utilizados para la conexión de dos equipos (sin instalar
tarjetas de red), es utilizar un cable de conexión a través del puerto serie o
paralelo. Estos cables disponen de conectores cruzados donde los pines de envío
de datos de uno de los PC coinciden con los de recepción del segundo. La
aparición de los puertos USB mejora la capacidad de transmisión de datos de los
antiguos puertos de comunicaciones.

Aunque en principio estos puertos están pensados para la conexión de


periféricos, también pueden aprovecharse para la conexión entre dos
ordenadores personales. Existen a la venta programas de conexión entre dos
ordenadores, que ya incluyen la posibilidad de utilizar el puerto USB con un
cable de conexión especial, como modo de transmisión de datos. Incluso existen
sistemas de emulación de una red local con ordenadores conectados con un hub
USB.

Cambiar el modo de conexión desde los puertos serie o paralelo a los nuevos
USB va a mejorar considerablemente la velocidad de transmisión de datos entre
los dos ordenadores conectados. Todos los usuarios que utilizaban el antiguo
sistema sabrán de la extrema lentitud en lo que al envío de archivos se refiere.
Con la conexión USB estos problemas se solucionan. El proceso de instalación
de cualquiera de estos sistemas es muy sencillo; instalando la aplicación de
comunicación en ambos ordenadores personales, sólo queda conectarlos a través
del puerto USB con el cable especial que se adjunta con el software.

Otra posibilidad de conexión entre ordenadores personales a través de puerto


USB es utilizar tarjetas de red externas que utilizan este conector como medio de
comunicación con el ordenador personal. Esta opción, aunque no conlleva
ninguna manipulación interna del ordenador personal para instalar las tarjetas, sí
que requiere un conocimiento de entornos de redes locales y su configuración,
aunque para dos ordenadores personales la conexión se realiza con un cable de
red cruzado sin necesidad de instalar un hub de control. Una vez instalado el
cable cruzado de una tarjeta a otra sólo queda aplicar la configuración y los
protocolos de red en el sistema operativo de ambos equipos.

También podría gustarte