Quantcast
Channel: #ExcelPedroWave
Viewing all 261 articles
Browse latest View live

Characters Games

$
0
0
Traducción al español aquí

The character

The character of a person or personality can not be understood by others. There are people with great character and people without character, with easy or difficult character or complicated treatment, strong or weak character, but this is not a blog on psychology but on technology.


The characters

The same goes for the characters in a computer or a computer application because it does not read well or not understood the sources of these characters or are difficult to see or do not say anything or express much as an image.


I have to say that I am unhappy with the popular saying "a picture is worth a thousand words" because a word, with graphical characters, can contain a thousand pictures and if not you can ask the Chinese or Japanese people.

Since the first PCs, we have tried that does not happen, trying to create characters games that become universal, which has not been achieved until today.

As an engineer I tend to use the 94 characters with symbols of units of measure, from &H3380 to &H33DD in the range F52C129:F52C222 and for my career in phone companies, the phones in cells F39C15 and F39C16.
☎ ☏

For example, Hertz or cycles per second to measure the CPU's speed:
㎐ ㎑ ㎒ ㎓ ㎔


Unicode characters

The latest attempt is the Unicode 6.0 version which adds 2,088 characters, including more than 1,000 additional symbols and emoticons emoji type, which are especially important for Japanese mobile phones.


The Japanese character

These usually so distant Japanese people into their far islands but so close of us exporting its high technology and that they are suffering now earthquakes, tsunamis (why Japanese people invented this word?) and a nuclear threat.


I'll take their samples of civic value, their behaving with integrity against the desolation, without incidents, looting or protests. Very different from the Western character.

津波 - Tsunami = this word is composed of two characters:
津 = Tsu, Japan port city with a barrier that provides time to evacuate.
波 = nami - wave.

The coincidence must have put following the character that represents the wave of the tsunami within Unicode, the next character:
泣 = Mourn.

When I got my nickname Wave was to refer to the power of the waves to travel and spread their message to all corners, but not as a black wave but as a wave of help.

From here, I encourage the Japanese people so they can recover soon from the uneasiness.
ここから、私は、このような不安から迅速に回復することができます日本の人々に私の励ましを与える。
(Translated with Google Translator)


Character encoding

To try to understand some Japanese character or the character encoding software, it is best to generate them. I refer to characters in the Japanese written language and an easy way to generate them in Windows is with this Excel spreadsheet that I prepared for the occasion and it generates 65,536 Unicode characters in 256 rows and 256 columns.

UnicodeFontsPW1.xls


Is a subset of Unicode known as BMP which does not refer to a Windows Bitmap file format with the extension .bmp, but as a Basic Multilingual Plane  - BMP.

The first plane (plane 0) of Unicode, comprising 17 planes, BMP contains characters for almost all modern languages​​ and a large number of special characters. It aims to support the unification of writing character sets. Most of the codes allocated in the BMP are used to encode the languages ​​Chinese, Japanese and Korean known as CJK. According to CJK Unified Ideographs code (&H4E00 to &H9FFF) in lines 79 to 160 of the table generated in Excel, or that is, a whopping 20,940 characters for 3 languages​​. (A lifetime to learn them).

The writing Japanese is called Kanji and it is composed of Chinese characters and characters hiragana (ひらがな, 平仮名) and katakana (カタカナ, 片仮名).

The full CJK characters list and their correspondence with each of the three languages is in this file of 974 pages: CJK Range: 4E00-9FCF.pdf

Wikipedia links to learn more about Unicode characters:
Unicode
ISO 10646
Mapping of Unicode characters
Unicode compatibility characters
Unicode planes

Microsoft links:
Unicode
Code Pages
Code Page Identifiers

Many Windows API functions have "A" (ANSI) and "W" (wide, Unicode) versions. The "A" version handles text based on Windows code pages, while the "W" version handles Unicode text.


Generated characters with Alt + number

Pressing numbers in the keypad while pressing the Alt key, it is possible to write extended characters in the old ASCII, but when we are using different systems and keyboards, results are different.

Things to know:
- The introduction of characters from the keyboard depends on the keyboard layout and language.
- The original ASCII table is that of the IBM PC and MS-DOS: Code page 437
- Correspondence in Western Europe can be: Code page 850
- In English tends to be: Windows-1252

A comprehensive list of ASCII and Unicode codes:
Microsoft code page numbers for various other character encodings

Herein is a method to generate all keystrokes Alt + number with macros:

Metodo de Teclado Alt+PW1.xls


You can check the characters and compare them:
- In row 24 there is the DOS compatible ASCII code table.
- In row 25 are generated with the function keybd_event keys Alt + number
- In row 26 are generated with Alt + 0 + number

To study the differences between the codes generated by pressing Alt, see this page: Alt code


Character fonts

To list the MS Windows characters fonts, installed on your computer, can be done with this Excel spreadsheet:

Fonts PW1.xls


Takes a minute to generate and, if you select a cell, automatically copy it to the clipboard for pasting it keeping font type into Word, for example.


My character

When did I come to my interest in the characters?

In my final year project about an intelligent terminal with a digital electronic prototype, a microcontroller, a modem and the program written with a microprocessor-language.

The prototype had a QWERTY keyboard but the screen was very expensive and I replaced it with a CRT TV that showed characters in 24 rows and 80 columns, encoded in ASCII, covering a proprietary ASCII and EBCDIC but not Unicode which appeared 10 years later.


Characters Games

Playing with the characters we made many computer games when there were no graphics cards in the first personal computer - PC.

They are text-based games, dungeons type (MUD), ping-pong, Star Trek or Amnesia (into a 5¼" floppy disk - see manuscript here)

List of text-based computer games

Also gave some art forms:
ASCII art
ANSI art

As the games graphics appeared, the Japanese overwhelmed us with their awesome games, which they could not do with their Chinese characters to us, incomprehensibles to Westerners.

Even now you can continue playing with the characters to draw the hearts of the cards in Excel or anything else that comes to your mind.

Well, that who have gone through the early stages of computer character encoding know something that young people leave out.

They should move their ass to learn these things and to generate better emoticons in social networking with simple characters and know what events occur when they are pummelling the keys.

Traducción al español aquí


Un juego solitario

$
0
0
English translation of this post here

Los programadores de VBA solemos estar muchas horas solos codificando las aplicaciones y a veces nos distraemos jugando al solitario de Windows.

Pero no siempre se puede jugar porque las empresas impiden su uso porque "piensan" que se pierde productividad si nos distraemos pasando un rato jugando solitariamente.

Si tienes restringido el acceso y uso de juegos, ¿por qué no jugar al solitario en una hoja Excel?

Por cierto, el Método de Montecarlo para el cálculo de complejos problemas matemáticos se le ocurrió a su inventor mientras jugaba un solitario estando enfermo.

La verdad es que el título del tema da mucho juego pues buscando en Google "un juego solitario" aparecen muchas referencias morbosas al "amor propio". Hace años que no me ponía a escribir juegos y por "amor propio" he diseñado este juego solitario. Recuerdo con nostalgia cuando hacía juegos de barcos y de guerras de galaxias en pantallas de 80x24 caracteres ¡sin gráficos! ¡Qué tiempos aquellos!


Este juego lo he hecho intentando ser fiel al movimiento de las cartas de la baraja del solitario, con unos naipes que se pueden arrastrar y soltar sobre los montones, darles la vuelta y mover en grupos de cartas de un montón a otro, que es lo que más quebraderos de cabeza me ha dado.

Os aseguro que no es una demo, es una beta (ß es la 2ª letra del alfabeto griego) de las que le gusta tanto publicar a Micro$oft, aunque yo diría que ellos lo entienden como una veta de hacer dólares (símbolo $ o ISO 4217 USD), cosa que yo no pienso hacer vendiendo este solitario.

Espero que os guste solitariamente porque pronto va a desbancar al solitario de Windows.

Se puede saber cómo está hecho porque el código VBA está abierto y desprotegidas las macros.


Hoy comparto la beta ß de un juego solitario que va a hacer estragos en las oficinas de todo el mundo - worldwide offices y va a desbancar al solitario de Windows, que está desinstalado en muchos ordenadores para que los oficinistas no jueguen en horas laborables.

SOLITARIO_PW22.xls


Después de testearlo en familia, os pido el favor de ser los próximos betatester solitarios de este juego y que os divirtáis tanto como yo al diseñarlo. Comentadme los fallos que encontréis y las ideas y mejoras que se os ocurran. Espero pronta respuesta de vosotros, los ß-tester, para saber en qué me he equivocado para ganar experiencia, como siempre digo en mi firma.

INSTRUCCIÓN ÚNICA:
Si sospechas de miradas indiscretas detrás de tu espalda mientras juegas al solitario, presiona el tapete para minimizarlo.

Aunque, si alguno se lleva bien con su jefe, no estaría mal que compartiera el solitario con él, ¡será una manera especial de hacer migas!

P.D.: Contraseña para desproteger las hojas: solitario

English translation of this post here

A solitaire game

$
0
0
Traducción al español aquí

We, as VBA software programmers, expend many hours alone coding applications and sometimes we are distracted playing Windows Solitaire.

But you can't always play because companies prevent their use because they "think" you lose productivity if you are distracted from time to time playing alone.

If you have restricted access to use Windows games, why not play solitaire in an Excel spreadsheet?

Indeed, Monte Carlo method for calculating complex mathematical problems has been inspired to the inventor when he was convalescing from an illness and playing solitaires.

The truth is that the post title gives much game because searching on Google for "a solitaire game" appear many morbid references to "self-esteem".  Years ago I'm writting games and by "self-esteem" I have designed this game alone. I remember with nostalgia when it was games about ships and star wars in 80x24 character screens with no graphics! Those were the days!


This game I've done trying to be faithful to the movement of the card deck of solitaire, with some cards that can be dragged and dropped onto the piles, turn them over and move in groups of cards from a pile to another, which is what more headaches than I have given.

I assure you it is not a demo, is a beta (ß is the 2nd letter of the Greek alphabet) of which like so much posting to Micro$oft, though I'd say they understand it as a seam of making dollars ($ symbol or ISO 4217 USD), which I'm not going to get rich by selling this solitaire.

I hope you enjoy it alone because it will soon overtake the Windows Solitaire.

One can know how it's done because the code is open and VBA macros unprotected.


Today I share the beta ß of a solitaire game that will wreak havoc in worldwide offices and is going to unseat Windows Solitaire, which is removed in many office computers to do not play during working hours.

SOLITARIO_PW22.xls


After my family has tested it, I ask you the favor of being the next lonely beta-tester of this solitaire game and you have fun as much as I have been design it. Comment me if you find bugs and your ideas and improvements you can imagine. I hope you prompt response, ß-tester, to see how I was wrong to gain experience, as I always say in my signature.

SINGLE INSTRUCTION:
If you suspect from prying eyes behind your back while playing solitaire, press the card table to minimize it.

Although, if anyone gets along well with his boss would be nice to share the solitaire with him, will be a special way to make good friends!

PD: Password to unprotect sheets: solitario

Traducción al español aquí

Mentes calculadoras

$
0
0
English translation of this post here

Si algo nos diferencia a los humanos de los animales es nuestra mente calculadora que nos permite resolver problemas de todo tipo, incluso problemas matemáticos como los que John von Neumann, el padre de la arquitectura computacional, resolvía con tanta facilidad, utilizando las mismas neuronas para almacenar tanto las instrucciones como los datos o ¿no es eso lo que hace la mente?


Historia de las calculadoras

Gracias a las calculadoras electrónicas e informáticas hemos progresado enormemente desde que se comercializó hace exactamente 50 años, en octubre de 1961, la primera calculadora de escritorio del mundo llamada ANITA (A New Inspiration To Arithmetic/Accounting - unA Nueva Inspiración para la conTabilidad Aritmética).

Hoy presento la primera calculadora en Excel que permite modificar el tamaño y la distribución de las teclas y guardar cada teclado virtual en una hoja de cálculo.


Calculadora táctil con teclas flotantes

Esta calculadora es táctil siempre que tengas una touchscreen o pantalla táctil y las teclas son flotantes porque con el botón derecho del ratón puedes arrastrarlas y soltarlas donde te venga en gana, además de cambiar su tamaño o girarlas (esta última característica no se guarda). Puedes descargarla pulsando en el siguiente enlace:

CalculadoraTactilPW2.xls


Cuando hayas configurado las teclas a tu gusto puedes guardar la disposición personalizada del teclado virtual presionando la tecla de Grabación, guardando la configuración del teclado en una nueva hoja Teclasn (el máximo de n es 100). La calculadora viene preconfigurada con 4 teclados virtuales más el primero de ayuda.

Usando el zoom de Excel se puede agrandar o achicar la calculadora.

Con una resolución de pantalla de 1280 por 1024 píxeles y un zoom del 40% se consigue un tamaño aproximado al de la calculadora de Windows de la que he copiado sus métodos abreviados del teclado que se pueden consultar en esta página:

Calculadora: preguntas más frecuentes

Las columnas de la hoja Teclado relacionan el teclado virtual con el teclado físico que se pueden usar indistintamente:
A - Nombre
B - Botón
C - Tecla
D - Código
E - Procedimiento

Para ello he usado intensivamente el método OnKey, incluso con el teclado numérico - numeric keypad que se activa con la tecla Bloq Num.

OnKey Method [Excel 2003 VBA Language Reference]

Lo que no puedo hacer es lo que hace la calculadora de Windows cuando se pulsa el botón derecho del ratón sobre una tecla y sale ¿Qué es esto? con la tecla equivalente del teclado. Por eso se usan las Tooltips para mostrar sus teclas equivalentes al pasar el cursor por encima de un botón con la forma de la tecla.

Mándame un mensaje si encuentras un bug o errata para mejorar la calculadora.


Calculadora romana

Lo que aún no he hecho ha sido una calculadora con números romanos pero mis amigos de Cesaraugusta han diseñado una CALCULADORA ROMANA.

Cuando construyas caminos, diseñes acueductos o cuentes a tus gladiadores, esta calculadora te hará el trabajo más fácil.


Juegos con calculadoras

La RSME o Real Sociedad Matemática Española mantiene una buena página dedicada a la divulgación de las matemáticas y nos propone un juego de adivinación para el que hace falta una calculadora:
El día de Pi


Calculadoras Web 2.0

Si te sabe a poco la calculadora en Excel puedes estar interesado en estas calculadoras que te pueden sacar de algún apuro.





Google Calculator
Google Calculator Guide Quick Reference



Web 2.0 scientific calculator


Esta última es mi preferida por sus extraordinarias características e incluso habla español, inglés y alemán. En el Historial se pueden ver ejemplos de lo que se puede hacer como:


0.2^(1-sqrt(2.5))/sqrt3(125^2-0.3^3)-cos(pi/sqrt(5))^(2e3*pi/e^2)

1/2*9.81m/s^2*(1563ms)^2

x^2+3x-9=0

El usuario puede resolver ecuaciones y ver el resultado en modo de interfaz gráfico.

Esto último ¡no lo intentes con mi calculadora en Excel!

English translation of this post here

Calculating minds

$
0
0
Traducción al español aquí

If anything distinguishes humans from animals is our calculating mind that allows us to solve problems of all kinds, including mathematical problems, such as John von Neumann, the father of computing architecture, so easily solved using the same neurons to store both instructions and data, or is not that what the mind is doing?


History of calculators

Thanks to software and electronic calculators we have progressed greatly since that the first desktop calculator was released exactly 50 years ago, in October 1961,  called ANITA (A New Inspiration To Arithmetic / Accounting) .

Today I present the first Excel calculator that lets you change the size and distribution of keys and allows to store each virtual keyboard on a spreadsheet.



Touch calculator with floating keys

This calculator is tactile whenever you have a touchscreen and keys are floating because with the right mouse button you can drag and drop them where you wants, in addition to changing its size or rotate them (the latter feature is not saved.) You can download it by clicking the following link:

CalculadoraTactilPW2.xls


Once you set the keys to your liking you can save a custom layout of the virtual keyboard by pressing the Record button, keeping the keyboard layout on a new Teclasn sheet (maximum of n is 100). The calculator comes preconfigured with 4 virtual keyboards plus first help calculator.

Using Excel's zoom you can zoom in or out the calculator.

With a screen resolution of 1280 by 1024 pixels and a zoom of 40% is obtained about the size of the Windows calculator that I have copied its keyboard shortcuts as are available on this page:

Calculator: frequently asked questions

The columns in the Teclado sheet relate the virtual keyboard with the physical keyboard that can be used interchangeably:
A - Name
B - Button
C - Key
D - Code
E - Procedure

For this I used extensively OnKey method, even with the numeric keypad that is activated by pressing Num Lock.

OnKey Method [Excel 2003 VBA Language Reference]

What I can't do is what makes the Windows calculator when you press the right mouse button on a key it goes What is this? with the equivalent key on the keyboard. So Tooltips are used to display its equivalent keys when move the cursor over a button in the shape of the key.

Send me a message if you find a bug or errata to improve the calculator.


Roman calculator

What I have not done is a calculator with Roman numerals, but my friends of Cesaraugusta have designed a ROMAN CALCULATOR.

When you build roads, aqueducts or count your gladiators, this calculator will make the job easier for you.


Calculator games

The RSME or Spanish Royal Mathematical Society has a good page dedicated to the dissemination of mathematics and gives us a guessing game for which you need a calculator:
El día de Pi
Pi Day Magic


Web 2.0 calculators

If  you couldn't get enough of this Excel calculator, you might be interested in these calculators that can get you out of any trouble.




Google Calculator
Google Calculator Guide Quick Reference



Web 2.0 scientific calculator


This last is my favorite for its outstanding features and even speaks Spanish, English and German. In History you can see examples of what can be done as:

0.2^(1-sqrt(2.5))/sqrt3(125^2-0.3^3)-cos(pi/sqrt(5))^(2e3*pi/e^2)

1/2*9.81m/s^2*(1563ms)^2

x^2+3x-9=0

The user can solve equations and see the result in GUI mode.
Do not try it with my Excel calculator!

Remap the Keyboard in Windows XP
Remap Num Lock Key

Traducción al español aquí

Cómo hacer calculadoras en Excel

$
0
0

English translation of this post here

En el artículo anterior sobre Mentes calculadoras mostré una calculadora escrita en Excel y ahora explicaré cómo hacer calculadoras en Excel.

Nueva calculadora mejorada

Si os gustan los cálculos como a mí seguro que os gustará la nueva calculadora con estas mejoras (versión 4):
  1. Modo de calculadora sin teclas flotantes.
  2. Nueva calculadora beta 5, con todas las funciones trigonométricas.
  3. Nueva calculadora completa 6, con todas las 67 teclas de función.
  4. Soft keys o teclas equivalentes para todas las teclas.
  5. Tooltips mejoradas con menos flicker o parpadeo.
  6. Calculadora internacional y geolocalizada.
  7. Información y ayuda traducidas a 6 idiomas: inglés, español, francés, italiano, alemán y portugués.
  8. Display de la calculadora en 56 colores.


ATENCION: Para cambiar el color del display elegir un color de la fila 1


CalculadoraTactilPW4.xls


No dejes de probar el modo de Calculadora sin teclas seleccionando un teclado del 7 en adelante. Si te sabes o te aprendes todas las tooltips o equivalentes del teclado físico podrás calcular pulsando las teclas físicas como en el método ciego de mecanografía. Por ejemplo, los números e y pi se visualizan pulsando las teclas E y P respectivamente.


Cómo se hizo la calculadora con teclas flotantes

Esta calculadora se abre inicialmente sin ninguna tecla flotante, o sea sin ninguna forma (shape) dibujada inicialmente por defecto, todas las formas de las teclas se generan dinámicamente cuando se selecciona un número de calculadora.

Si la pruebas verás que es mucho más fácil calcular con ella que con la primera calculadora electrónica de propósito general del mundo, la ENIAC que duró unos 12 años desde la firma del contrato hasta su apagado definitivo, aunque espero que su uso no sea para el cálculo de las trayectorias de los proyectiles y de las bombas de hidrógeno.

Este libro de trabajo

Al abrir se ejecuta la macro Workbook_Open() que establece el rango codPais de la hoja "Cod" en las celdas B2:C220 que relacionan el código de marcación de un país con un valor para su idioma: 1-inglés; 2-español; 3-francés; 4-italiano; 5-alemán; 6-portugués, etc. Este valor se guarda en la celda BM48 de la hoja "Calc".

Para que la función OnKey admita la tecla "/" como operación de dividir, y no su efecto por defecto para abrir los menús, se modifica la propiedad:

Si AO48 = 1 llama a la macro ActivaTeclado y a dibujaTeclas con el número de teclado de la celda BN13.

En Workbook_BeforeClose se llama a DesactivaTeclado y se vuelve a modificar a su valor por defecto:

Hoja Calc

Los eventos para lanzar Worksheet_Change se producen al cambiar el valor de las celdas:
  • AO48 = 1: ActivaTeclado; = 0: DesactivaTeclado
  • AC48 para activar o desactivar las Tooltips llama a dibujaTeclas
  • BM48 cambia el idioma y si AC48 = 1: dibujaTeclas
  • BN13 llama a dibujaTeclas con otro número de teclado

Se ejecuta Worksheet_SelectionChange en dos casos:
  • Cuando están activadas las Tooltips y la celda activa está en la columna 101, leyendo el valor de la celda activa que contiene la tecla equivalente pulsada y llamando a la macro tecla
  • Si la fila es la uno y las columnas entre 21 y 76, cambia el color del display

Módulo modAyuda

La macro AyudaCalc va modificando el texto y la posición de la tecla gigante de ayuda en 9 pasos, llamando a textoAyuda que busca la traducción en la hoja "Idiomas" con la función VLookup.

Módulo modCalc

Este módulo alberga la macro que realiza los cálculos propiamente dichos: tecla pasándole el valor de la tecla pulsada virtualmente en los botones de la hoja de cálculo o realmente en el teclado físico.

Cada dígito de un número va formando el número visualizado en el display.

Cambia a un color más oscuro la última tecla pulsada y, si es una operación con dos operandos, el operador se difumina en color amarillo para recordar cuál fue el último operador pulsado.

La función Opera realiza las operaciones con operadores de dos operandos que son sumar, restar, multiplicar, dividir, porcentaje, módulo, logaritmos y potencias en base y.

Otras funciones de la calculadora son:
  • valTrigo realiza las funciones trigonométricas para grados y radianes.
  • u_fact calcula el factorial de un número entero.
  • swapTeclas intercambia los dos operandos.
  • visTecla oculta o muestra una tecla.
  • grabaTeclado para crear otra hoja con un nuevo número de teclado, llamando a posTeclas
  • Traduce pasándole una clave obtiene su traducción a uno de los 6 idiomas.

Módulo modTeclado

La rutina ActivaTeclado ejecuta la función Application.OnKey una vez para cada tecla de la hoja "Teclado" asignando un código de la columna D a un procedimiento de la columna E, consiguiendo asignar teclas físicas a las teclas virtuales de la calculadora.

DesactivaTeclado hace lo contrario asignando el código por defecto a cada tecla física.

Con extensibilidad se puede incluir programáticamente en VBE, Herramientas, Referencias, la referencia a Microsoft Visual Basic for Applications Extensibility 5.3 necesaria para crear dinámicamente procedimientos con IncluyeSubModulo que se debe ejecutar una única vez, y por eso está comentado en la macro ActivaTeclado. Cada uno de estos casi 100 procedimientos generados automáticamente llama a la macro tecla con su tipo de tecla, como en este ejemplo:

Módulo modTeclas

La rutina dibujaTeclas va leyendo de una de las hojas "Teclasn", siendo n el número de teclado de 0 a 100 (0 a 6 por defecto), cada una de las teclas que componen el teclado y las dibuja según sus propiedades: nombre, texto, fuente, color, tamaño, estilo, posición superior e izquierda, ancho, alto y visible.

La rutina posTeclas crea una nueva hoja "Teclasn" cuando se manda grabar un nuevo teclado.

creaTecla añade una forma con AddShape del tipo msoShapeBevel con la apariencia de un botón, similar a una tecla.

La función tipTecla obtiene el texto traducido de la Tooltip de una tecla desde la columna F de la hoja "Teclado" con su operación y, entre paréntesis, su correspondientes teclas físicas equivalentes, por ejemplo: Número aleatorio (A) por lo que, al pulsar la tecla A se calcula un número aleatorio.


Cómo hacer calculadoras

En este vídeo se explica cómo usar y crear calculadoras en Excel.


Lo mejor es la posibilidad de crear nuevas calculadoras, personalizando la forma de las teclas y ampliando y mejorando el interface gráfico del usuario al gusto de cada uno, sin saber programación, solo con saber cómo cambiar el tamaño y el texto de las formas de las teclas y sabiendo arrastrar y soltar los botones, cosa que se aprende en dos minutos viendo el vídeo anterior.


Comparación con la calculadora de Windows

En cuanto a que se parezca a Micro$oft Calculadora, nada más lejos de mis intenciones.

De las 8 calculadoras que suministro, la única que he querido que se parezca a la de Micro$oft Windows es la número 2 y sólo en su apariencia no en sus cálculos que dejan bastante que desear por varios errores que esconde:

Resultados de la calculadora incorrectos cuando utiliza la clave de porcentaje

Prueba en las calculadoras estándar y científica de Micro$oft:

4 sqrt - 2 = -8,1648465955514287168521180122928e-39 (cualquier calculadora da 0)

50 + 25% da 12,5 (el resto de calculadoras dan 62,5)

50 [Inv] [Hyp] sin da 4,6052701709914238266212392672083. El arco seno hiperbólico en grados y radianes da el mismo valor siempre en radianes, cuando en grados debe dar 263,8625443153

0 x^y 0 = 1 (la mayoría dan 0 o mejor un valor indeterminado o indefinido, aunque la calculadora de Google también da 1 con 0^0. Ver: Wikipedia potenciación

El modo científico antes de Windows 7 no tiene la tecla de raíz cuadrada [sqrt], lo que es un auténtica porquería.

Alternando entre el modo estándar y el científico de Micro$oft Calculadora se pierden los cálculos, cosa que no pasa con mis calculadoras flotantes en Excel.

Tengo muchas más razones para no usar nunca esa paupérrima calculadora...


Ejecución de la calculadora

La ejecuto con CTRL + MAYUSCULAS + C como teclas de método abreviado dentro de un acceso directo creado en el escritorio, con destino:

Métodos abreviados de teclado de Windows

La calculadora de Windows la ejecuto con ALT + MAYUSCULAS +C y ¡¡¡tiene una pega muy grande que la hace muy chica!!! y es que ¡¡¡¿ no se puede maximizar ni ampliar ?!!! que es por lo que empecé a darle vueltas a la idea de hacer una en Excel, que para eso tiene Zoom...


English translation of this post here

How to make Excel calculators

$
0
0

Traducción al español aquí

In the previous article on Calculating minds I was showing a calculator written in Excel and now I shall explain how to make calculators in Excel.


New enhanced calculator

If you like the calculations as well as I sure that you will like the new calculator with these improvements (Version 4):
  1. Calculator mode without floating keys.
  2. New calculator beta 5, with all trigonometric functions.
  3. New full calculator 6, with all 67 function keys.
  4. Softkeys or keyboard equivalents for all keys.
  5. Improved tooltips with less flicker or blink.
  6. International geolocalized calculator.
  7. Information and help translated into 6 languages​​: English, Spanish, French, Italian, German and Portuguese.
  8. Display the calculator in 56 colors.


ATTENTION: To change the display color, choose a color in row 1.


CalculadoraTactilPW4.xls


Be sure to try Calculator without keys mode, selecting a keypad number 7 and up. If you know or you learn all the tooltips or the physical keyboard equivalents you will be able to calculate pressing physical keys such as the blind method of typing. For example, the numbers e and pi are displayed by pressing E and P keys, respectively.


How it was done the floating keys calculator

This calculator is initially opened without a floating key, ie without any shape drawn initially by default, each key forms is generated dynamically when you select a calculator number.

If you test it, you will find it much easier calculating with it than with the first general purpose electronic calculator in the world, the ENIAC, which lasted about 12 years since the contract sign until its final shutdown, but I hope you do not use it to calculate the trajectories of projectiles and hydrogen bombs.

This workbook

When it is opened run the macro Workbook_Open that sets the range codPais of the "Cod" sheet in cells B2:C220 linking the country dialing code with a value for your language: 1-English 2-Spanish; 3-French 4-Italian 5-German 6-Portuguese, etc. This value is stored in the BM48 cell of the "Calc" sheet.

In order for the function key supports OnKey "/" such as operation of dividing and not its effect by default to open menus, this property must being changed:

If AO48 = 1 then calls macro ActivaTeclado and dibujaTeclas with the keyboard number in cell BN13.

Workbook_BeforeClose calls DesactivaTeclado and re-modify the default value:

Calc sheet

Worksheet_Change event launches by changing the value of these cells:
  • AO48 = 1: ActivaTeclado; = 0: DesactivaTeclado
  • AC48 to activate o deactivate Tooltips, calls to dibujaTeclas
  • BM48 change language and if AC48 = 1: dibujaTeclas
  • BN13 calls to dibujaTeclas with another keyboard number

Worksheet_SelectionChange runs in two cases:
  • When Tooltips are enabled and active cell is in column 101, by reading the value of the active cell that contains the equivalent key down and calling macro tecla
  • If the row is the one and the columns between 21 and 76, change the display color

Module modAyuda

AyudaCalc macro is changing the text and the position of the giant key help in 9 steps, calling textoAyuda looking translation in the "Languages​​" sheet with the VLOOKUP function.

Module modCalc

This module contains the macro that does the calculations themselves: tecla passing the key value of the pressed key buttons virtually on the spreadsheet or really in the physical keyboard.

Each digit of a number is forming the number visualized on the display.

Changes to a darker color the last key pressed, and if it is an operation with two operands, the operator is diffuses in yellow to remember what was the last operator pressed.

Opera function performs operations for operators with two operands, such are: add, subtract, multiply, divide, percentage, module, logarithms and powers in y base.

Additional functions of the calculator are:
  • valTrigo performs trigonometric functions with degrees and radians.
  • u_fact calculates the factorial of an integer.
  • swapTeclas swaps the two operands.
  • visTecla hide or show a key.
  • grabaTeclado to create another sheet with a new key number, calling posTeclas
  • Traduce passing a code gets a translation into one of 6 languages.

Module modTeclado

The routine ActivaTeclado runs Application.OnKey function once for each key of the "Teclado" sheet by assigning a code in column D to a procedure in column E, getting physical keys assigned to the virtual keys on the calculator.

DesactivaTeclado makes the opposite assigning default code to each physical key.

With extensibility may include programmatically in VBE, Tools, References, the reference to Microsoft Visual Basic for Applications Extensibility 5.3 needed to dynamically create procedures calling IncluyeSubModulo to be executed only once, and is therefore commented in the macro ActivaTeclado. Each of these nearly 100 procedures automatically generated then calls macro tecla  with its key type argument, such as in this example:

Module modTeclas

Routine dibujaTeclas is reading from a "Teclasn" sheet, where n is a keyboard number from 0 to 100 (0 to 6 per default), each of the keys that make up the keyboard and draw them according to their properties: name, text, font, color, size, style, top and left position, width, height and visible.

posTeclas routine creates a new "Teclasn" sheet when you want to record a new keyboard.

creaTecla add a shape calling AddShape with msoShapeBevel type with the appearance of a button, similar to a key.

tipTecla function gets the text from the Tooltip of a key from the column F of the "Teclado" sheet with its operation and, in parentheses, their corresponding equivalent physical keys, eg: Random number (A) so that pressing A key calculates a random number.


How to make calculators

This video explains how to use and create Excel calculators.


The best is the ability to create new calculators, customizing the shape of keys and expanding and improving the graphical user interface to the taste of each, without knowing programming, just to know how to change text and size of keys shapes and knowing to drag and drop buttons, which is learned in two minutes watching the above video.


Comparison with the Windows Calculator

As that seems to Micro$oft Calculator, nothing is further from my intentions.

Of the 8 calculators that I supply, the only one I wanted to look like the Micro$oft Windows is No. 2 and only in its appearance not in their calculations  that leave a lot to be desired for several errors that hides:

Incorrect Calculator Results When You Use the Percent Key

Test in the standard and scientific Micro$oft calculator:

4 sqrt - 2 = -8.1648465955514287168521180122928e-39 (any calculator gives 0)

50 + 25% gives 12.5 (others calculators giving 62.5)

50 [Inv] [Hyp] sin give 4.6052701709914238266212392672083. The arc hyperbolic sine in degrees and radians gives the same value always in radians, when in degrees should give 263.8625443153

0 x^y 0 = 1 most calculators give a value 0 or better unspecified or undefined, but Google calculator also gives 1 with 0^0. See: Wikipedia Zero to the zero power

The scientific mode before Windows 7 is not the key square root [sqrt], which is a real mess.

When switch between standard and scientific Micro$oft calculator, calculations are lost, which does not happen with my Excel floating calculators.

I have much more reason to never use this impoverished calculator...


Running this calculator

To run with CTRL + SHIFT + C shortcut keys in a shortcut created on the desktop with this destination:

Keyboard shortcuts for Windows

The Windows calculator I run with ALT + SHIFT + C and has a very large stick which makes very small!!! and that would not be maximized or enlarged?!!! which is why I started ruminate on the idea of making one in Excel, that it has an excellent Zoom...


Traducción al español aquí

Cómo localizar aplicaciones

$
0
0

English translation of this post here

Localización de aplicaciones con Visual Basic

Para la localización de una aplicación se debe traducir la interfaz de usuario. Para facilitar la geolocalización, en lugar de escribir los textos dentro de la aplicación se deben almacenar los textos traducidos en un archivo separado o en una hoja Excel separada.

En Microsoft Office Excel 2003 y posteriores versiones, se pueden almacenar cadenas de caracteres para la interfaz de usuario en el archivo de recursos por defecto del proyecto. El archivo se denomina MyResources.resx en proyectos de Visual Basic, y Resources.resx en C#. Las copias del archivo de recursos pueden ser traducidas a varios idiomas.

En la siguiente página se explica: Cómo localizar soluciones de Office


Mejores prácticas recomendadas para la localización

Antes de diseñar una aplicación multinacional con traducción a varios idiomas de su interfaz gráfico de usuario se deben considerar las mejores prácticas de localización:
  1. Colocar todos las traducciones en un recurso separado como DLLs u hojas de traducción.
  2. No codificar texto dentro de la interfaz de usuario.
  3. Plantearse soluciones de traducción simultánea entre varios idiomas a elección del usuario.
  4. Controlar la localización al abrir aplicaciones con diferente configuración regional de usuario e idioma.
  5. No colocar recursos no localizables junto con recursos localizables porque causan confusión a los traductores.
  6. No componer frases que son construidas en tiempo real desde frases concatenadas ya que el orden gramatical puede ser distinto en un idioma traducido que en otro. 
  7. Prohibir el uso de imágenes o iconos que contengan texto pues son más caros de localizar.
  8. Dejar suficiente espacio para la longitud de las frases traducidas.  En algunos idiomas se requiere hasta un 75% más de espacio para decir lo mismo por escrito.
  9. No codificar las cajas de mensajes, diálogos, formas, menús, manualmente.
  10. Contratar a profesionales de la localización y traducción.

Siguiendo estas prácticas la aplicación será más fácil de diseñar y de probar independientemente del idioma del usuario final.  Los diseñadores podrán codificar la interfaz de usuario en su idioma y los probadores en el suyo, lo que permite encontrar los errores más rápidamente.

El Centro de desarrolladores Go Global de Microsoft da consejos para la internacionalización: Pruebas de internacionalización del software

Como el código de la aplicación y el idioma de su interfaz de usuario no están relacionados. Lo que se lee y/o escribe en la pantalla debe estar diseñado de tal manera que se puede cambiar sin modificar el código o incluso volver a tener que compilar el programa. La interfaz de usuario multilingüe (MUI) implementada debería posibilitar el mostrar varias versiones de idioma en la interfaz de usuario al mismo tiempo en la misma aplicación.

Para más información: Prácticas recomendadas para desarrollar aplicaciones de uso internacional


Guía de estilo para el idioma español a nivel mundial

Se pueden descargar las guías de estilo en el Portal lingüístico de Microsoft para localización en varios idiomas aquí

Para entendernos los 400 millones de hispanohablantes nativos en idioma español se debe seguir una guía de estilo y más sabiendo que contando los que tienen el español como segunda lengua somos unos 500 millones de personas en el mundo.

Para conocer más sobre las diferencias entre las distintas versiones del español: Portal de la Lengua española

Cuando desarrollamos una aplicación en español debemos conocer la audiencia y decidir si va a ser escrita en un lenguaje neutral, independiente de la localización de los hispanohablantes o si respetaremos la idiosincrasia del país de destino, pues no se usan las mismas palabras y frases en el español que se habla en Méjico que en el de España o en uno de los 21 países en los que se habla español.  Los ahorradores españoles denominan hucha a la alcancía de los países hispanoamericanos.

Las dudas en la localización del español se pueden consultar en el Diccionario panhispánico de dudas


Cómo hacer una aplicación en Excel geolocalizada

Para localizar un libro de trabajo en Excel sin la herramienta de desarrollo Visual Basic, se puede emplear una de las hojas Excel para contener las traducciones a los idiomas y en el resto de las hojas escribir referencias a la hoja de Idiomas.  Un ejemplo de esta forma de traducir en Excel se encuentra en el fichero que se puede descargar en el artículo de este blog sobre Cómo hacer calculadoras en Excel

La información y ayuda de esta calculadora está traducida a 6 idiomas: inglés, español, francés, italiano, alemán y portugués, además de ser muy fácil incorporar nuevos idiomas u otras versiones del español latinoamericano.  Lo único que hace falta es añadir la traducción correspondiente en una nueva columna de la hoja Idiomas.

La primera fila es el nombre del idioma en su idioma y las siguientes filas las frases traducidas a cada uno de esos idiomas.
  1. English Español Français

  2. Language: Idioma: Langue:

  3. Keyboard: Teclado: Clavier:

  4. Touch calculator Calculadora táctil Calculateur touch

  5. My first calculator Mi primera calculadora Ma première calculatrice

  6. Phone calculator Calculadora Celular Calculateur de téléphone

Con el Administrador de nombres se crean:

En la hoja Calc se puede elegir el idioma de la interfaz de usuario cambiando el valor de la celda BM48 mediante un desplegable con el número de idioma:
1-English
2-Español
3-Français
4-Italiano
5-Deutsch
6-Português

Inmediatamente se ve la traducción interactiva de la hoja al idioma seleccionado. Al lado del número de idioma aparece el idioma con esta fórmula:

En ninguna hoja se escriben los textos con las palabras o frases traducidas sino que se hace referencia a una celda de la columna A en la fila de los textos traducidos en la hoja Idiomas. Por ejemplo, para que aparezca la palabra "Teclado" en la celda AI48 de la hoja Calc se debe hacer referencia a la celda A4 dónde está su traducción al primer idioma, en este caso al inglés, mediante la fórmula:

Dentro de las macros en VBA se codifica como:

Esto es lo que se escribe, y nunca un texto. Los textos son fácilmente traducibles y revisables gramaticalmente y ortográficamente en una sóla hoja de Idiomas que se le dará al traductor con solamente una columna con el idioma de origen para que traduzca en otra columna el idioma de destino. Si lo que se quiere es una versión distinta de un dialecto español que se habla en Méjico, por ejemplo, se incluirá una columna localizada como español mejicano.

Para que al abrir Excel muestre el idioma del equipo, en VBA se introducirá el código:

En la hoja Cod se han incluido los códigos de marcación telefónica de varios países, ordenados en la columna B, y el número de idioma del 1 al 6 en la columna C. En la columna D está el nombre del país.

Se consultan estos códigos con la función VLookup para que coincidan con la propiedad Application.International(xlCountryCode). Ver aquí cómo Crear macros para diferentes versiones de idioma

Conclusión: Siguiendo este procedimiento se pueden traducir y localizar aplicaciones escritas en Excel o en otro lenguaje o idioma de programación, pero eso necesita así mismo una adecuada traducción entre los miles de lenguajes de software existentes, lo que se sale de los límites de este artículo...

English translation of this post here

How to localize applications

$
0
0

Traducción al español aquí

Localization of Visual Basic applications

For localization of an application, the user interface must be translated. To facilitate geolocalization, instead of writing the texts within the application should store the translated texts in a separate file or in a separate Excel sheet.

In Microsoft Office Excel 2003 and later versions, you can store strings for the user interface in the default resource file for the project. The file is named MyResources.resx in Visual Basic and Resources.resx in C#. Copies of the resource file can be translated into several languages.

Next page explains: How to Localize Excel Solutions


Best practices for localization

Before designing a multinational application with multi-language translation of the graphical user interface, best practices for localization should be considered:
  1. Move all localizable resources to separate resource-only DLLs or Excel  translation sheets.
  2. No encoding text within the user interface.
  3. Consider simultaneous translation solutions across multiple languages​​ selected by users.
  4. Controlling localization when open applications with different regional and language settings.
  5. Do not put nonlocalizable resources into the resource-only DLLs. This causes confusion for translators.
  6. Do not use composite strings that are built at run time from concatenated phrases. Composite strings are difficult to localize because they often assume an English grammatical order that does not apply to all languages. 
  7. Avoid the use of images or icons that contain text as they are more expensive to localize.
  8. Leave enough room for the length of the translated phrases. Some languages ​​require up to 75% more space to say the same in writing.
  9. Not encode the message boxes, dialogs, forms, menus manually.
  10. Hiring professional localization and translation.
Following these practices, the application will be easier to design and test regardless of the language the end user. Designers and testers can encode the user interface in their language which allows to find errors faster.

The Microsoft Go Global Developer Center gives tips for internationalization: Testing Software for World-Readiness

As the application code and the language of its user interface are not related. What is read and / or write on the screen should be designed in such a way that can be changed without changing the code or even go back to having to compile the program. Multilingual User Interface (MUI) implemented should allow the display multiple language versions of the user interface while at the same application.

For more information: Best Practices for Developing World-Ready Applications


Style Guide for the Spanish language worldwide

You can download the Style Guides in the Microsoft Language Portal for localization in various languages ​​here

To understand each other of 400 million Spanish language native speakers should follow a style guide and more knowing that counting those who have Spanish as a second language are about 500 million people worldwide.

To learn more about the differences between different versions of Spanish language: Spanish Language Portal

When developing an application in Spanish must know your audience and decide whether it will be written in a neutral, independent of the localization of the Spanish or respect the idiosyncrasies of the destination country because it does not uses the same words and phrases in Spanish spoken in Mexico than in Spain or in one of the 21 countries where Spanish is spoken.

Doubts about Spanish localization are available on the Pan-Hispanic Dictionary of doubts


How to make an Excel  geolocalized application

To localize an Excel workbook without the Visual Basic development tool, you can use one of Excel sheets to contain translations into and in the rest of sheets write references to the Languages sheet​​. An example of a translation into Excel is in the file that you can download in this article on this blog How to make Excel calculators

Help and information of this calculator is translated into 6 languages​​: English, Spanish, French, Italian, German and Portuguese, besides being very easy to incorporate new languages ​​or other versions of Latin American Spanish. The only thing needed is to add a translation into a new column of the sheet Idiomas.

The first row is the language name in their language and next rows are the translated phrases to each of those languages​​.
  1. English Español Français

  2. Language: Idioma: Langue:

  3. Keyboard: Teclado: Clavier:

  4. Touch calculator Calculadora táctil Calculateur touch

  5. My first calculator Mi primera calculadora Ma première calculatrice

  6. Phone calculator Calculadora Celular Calculateur de téléphone

Use Manager Names to create:

In the Calc sheet can choose the language of the user interface by changing the BM48 cell value by dropdown the language number:
1-English
2-Español
3-Français
4-Italiano
5-Deutsch
6-Português

Immediately you see the interactive translation of the sheet to the selected language. Next to the language number, language name is displayed with this formula:

On no sheet, strings are written with words or phrases translated but it refers to a cell in column A in the row of translated texts in the Idiomas​​sheet. For example, to display the word "keyboard" in the cell AI48 on Calc sheet should make reference to cell A4 where its first language translation is located, in this case English, using the formula:

Within the VBA macro is coded as:

This is what is written, and never a string. The strings are easily translated and checked for proper grammar and spelling on a single Idiomas sheet that will be given to a translator with only one column with the source language to translate in another column the target language. If what you want is a different version of a Spanish dialect spoken in Mexico, for example, include a column located such as Mexican Spanish.

So that when you open Excel, it shows the computer language, enter this VBA code:

On the Cod sheet were included the List of country calling codes, sorted in column B, and the language number 1 through 6 in column C. Column D is the country name.

These codes are searched with the VLOOKUP function to match the Application.International (xlCountryCode) property. See here how Creating Macros for Different Language Versions

Conclusion: Following this procedure you can translate and localize applications written in Excel or in another language or programming language, but this requires adequate translation likewise among the thousands of existing software languages​​, which is beyond the scope of this article...

Traducción al español aquí

Imagine lo que quieren los usuarios

$
0
0
English translation of this post here

La imaginación al poder

Un buen ejercicio para un desarrollador de interfaces gráficas es ponerse en el lugar del usuario e imaginar lo que quiere el usuario cuando interactúa con una aplicación informática.

Este ejercicio, que en principio parece tan fácil, no lo es para un programador acostumbrado a usar múltiples interfaces de desarrollo de software, a manejarse hábilmente en diferentes entornos gráficos y a cambiar de aplicación al instante, sin aparentemente ningún esfuerzo.

Si este programador quiere probar su desarrollo, desde el punto de vista del usuario final, será incapaz de saber qué quiere el usuario de su aplicación ya que, por deformación profesional, no sabrá cómo se comporta ese usuario delante del interface gráfico que ha programado.


El poder no lo tienen los programadores, que ni se imaginan lo que quieren los usuarios.  El poder real lo tienen los usuarios finales de un programa que van a usarlo o dejar de usarlo dependiendo de sus reacciones y comportamiento ante la interface gráfica.  Por eso es muy importante tener en cuenta su opinión y sus críticas que, muchas veces, pasan desapercibidas porque los usuarios no se molestan en denunciarlas y los desarrolladores no dedican tiempo y esfuerzo en preguntarles.


Cómo poder ver lo que esperan los usuarios

Esto mismo lo dijo hace más de diez años el gurú del software por excelencia Joel Spolsky en su célebre artículo sobre:
Diseño de Interfaz de Usuario para Programadores - Capítulo 2: Calcular lo que esperan

Viene a decir que es mejor preguntar a usuarios que no sean programadores para obtener lo que el común de los mortales quiere y espera de un programa o de una aplicación informática, porque esos usuarios no están influenciados por los usos y manías de los que somos programadores y su impresión y opinión sobre la interface gráfica serán más cercanos a los sentimientos que tendrá y a los usos que le dará el usuario final.

Yo no puedo imaginarme o figurarme que hará un usuario no habituado a multitud de aplicaciones con la mía pero de lo que estoy seguro es que las acciones que le permita hacer con mi programa o las omisiones de mi programa las comparará con los muchos o pocos programas que haya usado antes y, esa comparación, le llevará al criterio justo de gustarle o disgustarle mi aplicación.


Una aplicación para poder ver imágenes

Y como una imagen vale más que mil palabras, lo mejor es dejar que los lectores de este blog vean la nueva aplicación que he preparado acerca de un Explorador de Imágenes en Miniatura en Excel, que tiene la intención de sustituir las vistas en miniatura y la tira de imágenes del Explorador de Windows, dentro de un entorno gráfico más amigable para los usuarios de Excel o, por lo menos, eso es lo que pretendo con este programa.

Miniaturas_PW4.xls


Mi amigo verzulsan, del foro de AyudaExcel.com, subió un vídeo de la versión 2 de este Explorador de Miniaturas que quiero compartir para que se pueda comparar con la versión 4 que se puede descargar desde el enlace de arriba:


Usuario final no esperes que te explique nada de cómo usar este explorador de imágenes, lo dejo como ejercicio para que puedas comprobar por ti mismo si he conseguido mejorar o empeorar la exploración de imágenes de Windows. Sólo quiero que me lo comentes y así saldré de dudas.

English translation of this post here

Imagine what users want

$
0
0
Traducción al español aquí

Power of imagination

A good exercise for a GUI developer is putting instead of the user and to imagine what customers want when they interact with a computer application.

This exercise, which at first seems so easy, it is not too easy for a programmer accustomed to using multiple software development interfaces, to be handled skillfully in different graphics platforms and changing instantly applications, seemingly effortlessly.

Whether this programmer wants to test their development, from the end user viewpoint, will be unable to know what the user wants of your application because, as an occupational deformation, will not know how that user behaves in front of this new graphical  interface.


The power does not have the programmers who can not imagine what users want. The real power are from the end users of a program that will use or stop using it depending on their reactions and behavior towards the graphical user interface. It is therefore very important to take into account their views and criticisms that often go unnoticed because users do not bother to report them and the developers do not spend time and effort to ask them.


How to figure out what users expect

It said so for over ten years, the software guru by excellence Joel Spolsky in his famous article on:
Interface Design for Programmers - Chapter 2: Figuring Out What They Expected

Is to say that it is better to ask users who are not programmers to get what ordinary mortals want and expect from a program or a computer application, because those users are not influenced by the customs and foibles of those who are programmers and impression and opinion on the graphical interface will be closer to the feelings and applications will give the end user.

I can not imagine or figure out that a user will not accustomed to many applications with mine but I am sure is that the actions that the user does with my program or omissions of my program will compare with many or few programs which has used before, and this comparison lead to the fair criteria like or dislike my application.


An application to view images

And since a picture is worth a thousand words, it is best to let readers of this blog to see the new application that I prepared on a Thumbnail Image Browser in Excel, which is intended to replace the thumbnails and the Filmstrip view on Windows Explorer, in a more user-friendly graphical environment for users of Excel or at least that's what I intend to with this program.

Miniaturas_PW4.xls


My friend verzulsan, from AyudaExcel.com Forum, uploaded a video about version 2 of the Thumbnails Explorer and I want to share so you can compare with version 4 which can be downloaded from the link above:


End user does not expect explain to you anything about how to use the image browser, I leave as an exercise so you can see for yourself whether I've gotten better or worse Windows image browsing. I only want comments from you, just to be doubly sure.

Traducción al español aquí

Traductor de 58 idiomas en Excel

$
0
0
English translation of this post here

Si estás cansado como yo de copiar/pegar en el Traductor de Google, puedes usar Excel para hacer el trabajo sucio de copiar y pegar traducciones a más de 60 idiomas.

AVISO: Ya son 63 idiomas pues Google Translate ha incluido 5 nuevos idiomas de la India y Bangladesh: bengalí, gujarati, canarés, tamil y telugu. Más de 500 millones de personas hablan estos cinco idiomas.
Traductor De Google Ahora Con Más Idiomas



Lindo Traductor

La necesidad de traducir mis aplicaciones en diversos idiomas me obliga a usar el Traductor de Google a menudo, copiando el texto y pegándolo en la caja. Pero ¡el copiar y pegar se va a acabar!

Para obtener la traducción en varios idiomas acostumbro a usar un lindo traductor online llamado precisamente NiceTranslator que permite la traducción simultánea a 51 idiomas, como puedes comprobar tu mismo sin salir de esta página. Presiona translate into para elegir los idiomas y comienza a escribir el texto que quieras traducir:




NiceTranslator fue creado para proporcionar una interfaz mejorada para la traducción de texto en la Web. Aunque las tecnologías web han avanzado mucho recientemente, los traductores en línea siguen siendo engorrosos de usar.


Traductor de Google

Gracias a la traducción de Google Translate API, NiceTranslator ha sido capaz de centrarse en el diseño de un traductor en línea simple y funcional, con el objetivo de proporcionar un traductor online fácil de utilizar.

Pero la API de Google Translate ya está obsoleta oficialmente desde el 26 de mayo de 2011 ya que, debido a la importante carga económica causada por un extenso abuso, el número de solicitudes que se pueden hacer por día se ha limitado y la API se cerrará por completo el 1 de diciembre de 2011.

Se puede leer sobre este tema caliente en el Blog Oficial de Código Google:
Spring cleaning for some of our APIs By Adam Feldman, Google APIs Product Manager

Se pueden hacer experimentos en JavaScript con los métodos API de traducción de lenguajes de Google:
Google Code Playground


Traductor en Excel

Los traductores profesionales usan Excel para guardar sus traducciones
Excel como herramienta para traducir videojuegos
Macros para traductores
“Mamá, quiero ser informático y traductor”

Ahora Excel viene en mi ayuda para poder traducir simultáneamente en 63 lenguas, copiando o escribiendo una frase, escrita en cualquiera de esas lenguas, y generando las traducciones en unos segundos.

TraductorGooglePW1.xls


Con este fichero ahora también podrás traducirlos tú mismo, modificando las celdas con fondo amarillo:
Celda D17: Para seleccionar mi idioma en un desplegable.
Columna E: Para chequear los idiomas a traducir.
Celda E17: Para traducir sólo a mi idioma.
Columna F: Escribo el texto a traducir y aparecen las traducciones.
Celda G17: Número máximo de segundos programables para que Google traduzca.

En estas columnas hay información de los idiomas:
Columna B: Código del país.
Columna C: Lenguaje en el idioma original del país.
Columna D: Lenguaje en el idioma elegido en el desplegable D17.

Pues eso, prometí que el usar copiar y pegar con el Traductor de Google se iba a acabar.
Amable lector, ya me dirás si he cumplido la promesa.

NOTA: Las traducciones de Google no son fiables, sólo son aproximadas. Para una traducción correcta se necesita el servicio de un traductor profesional.


Traductores Online

En esta página puedes consultar otros traductores online:
http://portalingles.blogspot.com/search/label/translators

P.D.: Para traducir un documento Excel a más de 50 idiomas uso:
DocTranslator - Free Online Document Translator

Al instante traduce y conserva el diseño de documentos de Office, utilizando el API de traducción de Google. DocTranslator es compatible con archivos Excel tipo .xls y .xlsx en Windows.

English translation of this post here

58 languages translator ​​in Excel

$
0
0
Traducción al español aquí

If you're tired as I am copying and pasting into Google Translate, you can use Excel to do the dirty work of copying and pasting translations into over 60 languages.

NOTE: You can translate up to 63 languages as Google Translate has included 5 new languages ​​of India and Bangladesh: Bengali, Gujarati, Kannada, Tamil and Telugu. More than 500 million people speak these five languages​​.
Google Translate Supports 5 Indic Languages


Nice Translator

The need to translate my application in different languages ​​requires to use Google Translate often by copying and pasting the text in the box. But copy and paste is going to end!

For the translation in several languages I used to use very nice online translator called NiceTranslator that allows the simultaneous translation into 51 languages, as you can see yourself without leaving this page. Click translate into to choose languages and start typing the text you want translate:




NiceTranslator was created to provide an improved interface for text translation on the Web. Although web technologies have come a long way recently, online translators are still cumbersome to use.


Google Translator

Thanks to the translation of Google Translate API, NiceTranslator has been able to focus on the design of an online translator simple and functional, with the aim of providing an easy to use online translator.

But the Google Translate API is now obsolete officially on May 26, 2011 because, due to the significant economic burden caused by extensive abuse, the number of applications that can make per day is limited and this API will be closed altogether December 1, 2011.

You can read about this hot topic in the The Official Google Code Blog:
Spring cleaning for some of our APIs By Adam Feldman, Google APIs Product Manager

You can do experiments in JavaScript with the Google language translation API methods:
Google Code Playground


Excel Translator

Professional translators use Excel to store their translations
Game Localization - The biggest mistakes made by game developers and game publishers
Easy custom localization in WPF

Excel now comes to help me to translate simultaneously in 63 languages​​, copying or writing a sentence, written in any of these languages, generating translations in seconds.

TraductorGooglePW1.xls


With this file now you can translate them yourself by modifying the cells with yellow background:
D17 cell: To select my language from a dropdown list.
E column: To check the languages to translate.
E17 cell: To translate only into my language.
F column: Enter the text to be translated and translations will be shown.
G17 cell: Maximum number of seconds programmed to permit Google translate.

These columns provide information about languages:
B: Country code.
C: Language name in the original language of the country.
D: Language name in the chosen language in the drop-down list of D17 cell.

For that, I promised that using copy and paste the Google Translator is going to end.
Dear reader, tell me if I have fulfilled the promise.

NOTE: Google's translations are unreliable, are only approximate. A correct translation requires the services of a professional translator.


Online Translators

Here you can consult other online translators:
http://portalingles.blogspot.com/search/label/translators

PS: To translate an Excel document to more than 50 languages ​​use:
DocTranslator - Free Online Document Translator

Instantly translates and preserves the layout of Office documents, using the Google translation API. DocTranslator is compatible with Excel type files .xls and .xlsx in Windows.

Traducción al español aquí

Blog del Programador GUI Programmer Blog

$
0
0
Blog en Español y en Inglés.

Este blog educativo va dirigido a los programadores y programadoras de aplicaciones informáticas con Interfaces Gráficos de Usuario - IGU.






Blog in English and Spanish.

This educational blog is aimed at developers and programmers of software applications with Graphical User Interface - GUI.



Misión y autor de este blog.

Soy Pedro Wave y quiero expandir mi experiencia en las ondas de este blog, para lo que hago uso de la archiconocida hoja de cálculo Excel como herramienta para confeccionar los ejemplos de diseño orientado al usuario en todas sus facetas.

Si quieres aprender más sobre IGU, comienza por leer alguno de mis artículos anteriores, seleccionándolos en el ARCHIVO DEL BLOG o en las ETIQUETAS que aparecen a la derecha.

Hasta ahora he escrito sobre: banderas; calculadoras; calendarios; economía; errores frecuentes; excel; fútbol; juegos; mapas; olas; proyectos; relojes; software

Puedes leer todos los artículos en español aquí

Gracias por visitar mi blog y por dejar algún comentario.
Espero que les guste.


Mission and author of this blog

I am Pedro Wave and I want to expand my experience in the waves of this blog, for which I am using the well-known Excel spreadsheet as a tool to make examples of user-oriented design in all its facets.

If you want to learn more about GUI, start by reading some of my previous articles, by selecting the BLOG ARCHIVE or LABELS appearing on the right.

So far I've written about: bugs; calculators; calendars; clocks; economy; excel; flags; futbol; games; maps; projects; software; waves

You can read all articles in English here

Thanks for visiting my blog and leave a comment.
I hope you like it.

Interfaz del Censo 2011 en España

$
0
0
Si tu vivienda habitual es una de las tres millones de viviendas seleccionadas por el Instituto Nacional de Estadística - INE español, habrás recibido una carta para que rellenes un cuestionario por Internet, ¡ya puedes armarte de paciencia! Cuando entres en la página www.censos2011.es verás una pantalla con este lema:


A continuación expongo las incidencias encontradas al rellenar el Censo de Población y Viviendas 2011.
  1. El último Censo de hace 10 años no se confeccionó por Internet y este año es la primera vez que el INE manda dos claves, usuario y contraseña, para introducir los datos desde el ordenador de la vivienda habitual o desde cualquier lugar con conexión a Internet.  Repito, ¡ármate de paciencia!
  2. Sólo está disponible en idioma Castellano.  Si eres gallego, catalán, aragonés, valenciano, vasco, mallorquín, inmigrante, no podrás rellenar el cuestionario en tu idioma o lenguaje.
  3. Si no tienes el certificado de seguridad de la Fábrica Nacional de Moneda y Timbre - FNMT como autoridad certificadora, deberá instalarlo siguiendo esta guía para expertos: http://www.censos2011.es/CAWI/ConexionesSeguras.aspx
  4. La página www.censos2011.es es propiedad del INE. Al acceder a ella se establece una conexión segura a través de internet, utilizándose para ello un certificado emitido por la Fábrica Nacional de Moneda y Timbre (FNMT). Se ha detectado que algunas versiones de navegadores no reconocen a la FNMT como autoridad de certificación de sitios web. En tales casos podría aparecer una página avisando que la conexión con el INE no está certificada o simplemente no permitir el acceso. Por eso, no intentes usar navegadores como Chrome porque la página del Censo no está preparada y "The page at www.censos2011.es says":
  5. En las páginas seguras se puede ver el icono de un candado junto a la dirección (Internet Explorer) o en la zona inferior derecha (Mozilla Firefox); haciendo doble clic en el icono se muestra el nivel de cifrado de la conexión.
  6. Si consigues ver la página de Acceso con Claves, se muestra un teclado virtual para introducir de forma segura el Usuario y la Contraseña que has recibido por carta sin certificar ¡primer fallo de seguridad! No olvides presionar la tecla Bloq o Mayus para teclear las letras mayúsculas.
  7. Aparecen 5 letras y números borrosos que hay que introducir a continuación. Se trata del captcha, y es de uso habitual para evitar que se intente el acceso automático desde otros ordenadores, lo que pondría en peligro la disponibilidad del servicio.
    Si cree que no es capaz de interpretar las letras o números que aparecen, pinche en regenerar para disponer de otros diferentes. Puede regenerarlo las veces que sea necesario. Los invidentes o personas con visibilidad reducida también pueden escucharlo.  Si no los ves, presiona el pequeño botón con un altavoz para escuchar lo que tienes que introducir, que no se corresponde con lo que estás viendo, sino con el siguiente código regenerado.
  8. Si no consigues pasar de la primera pantalla, no entrarás en el juego y te avisará con un mensaje: "No se ha superado la validación. Si tiene problemas para entrar en la aplicación puede solucionarlos llamando al 900820082"
  9. Sesión Caducada

    Su sesión ha caducado. Por razones de seguridad se caduca su sesión tras un periodo de inactividad.
    Deberá volver a autenticarse. Pulse el siguiente botón para ir a la pantalla de bienvenida.
    Aunque diga que hacen falta unos minutos de inactividad, unos segundos de duda al rellenar el cuestionario bastan para que caduque la sesión y tengas que comenzar de nuevo desde el paso   uno.
  10. Durante la cumplimentación del cuestionario, usted NO podrá guardar los datos en cualquier momento para continuar más tarde.
  11. ¿Cuántas veces saldrá un error como éste?

    Service Unavailable


    HTTP Error 503. The service is unavailable.
  12. Si tiene dudas con este procedimiento puede ponerse en contacto llamando al teléfono gratuito: 900820082
  13. La participación de los ciudadanos es clave para obtener una información de calidad.
  14. El diseño del portal web es clave para que los ciudadanos usen este medio para rellenar los datos del Censo.
  15. Desde el 14 de octubre se puede ver este mensaje:
    Este servicio para rellenar el censo por internet está sufriendo problemas de lentitud en la respuesta y cortes inesperados.
    Estamos trabajando para dar una solución definitiva. Por favor, intente acceder de nuevo pasados unos días.
    Les pedimos disculpas por las molestias ocasionadas.

Si no se contesta a la encuesta la multa es de 10.000 a 50.000 pesetas.
Si se contesta con datos incompletos o inexactos hasta 500.000 pesetas.
Si se contesta con datos falsos hasta 5 millones de pesetas.

La Ley 12/1989, de 9 de mayo, de la Función Estadística Pública con las sanciones es de antes del euro.



Data Conversion 1: Chess Viewer in Excel

$
0
0
Introduction to Data Conversion

A good Graphical User Interface does not appeared from nowhere. GUI needs a lot of data conversion processes before it can display graphics and, of course, it requires many interfaces before it can prove useful to end users.

From the moment that inputs are introduced in a program or system, some conversion processes will be required to obtain the desired output. Through intermediary stages, data is converted from a notation to another, using communications interfaces between different processes and storing temporal data into different formats.

The easiest is when all possible inputs are known beforehand, but the reality is not that and normally the usual scenario is when there is no exact format of the input data, but the appropriate action must be taken which should prevent the input data are not recognized by the data conversion process to obtain the correct output data.

It should be very careful that this scenario does not happen, and that all entries are predictable and expected, and all data conversion processes are accurate, always generating the same output when the same conditions of input data occur.

If data conversion specifications are secret, conversion processes behave as a "black box" where you only know the input and output data. If the specifications are open, you can learn from the methods of conversion and improve them even without being the author thereof.


Example of Chess Viewer in Excel

As an exercise of conversion, open to the community of Excel users, I have designed a Chess Viewer in Excel without macros, for fans and lovers of both wonderful worlds like me.

Input Data is the Algebraic notation of a chess game, converted first into Numeric notation that is finally converted, using an interface, into a graphic chessboard in which the chess pieces move according to the stored game, as Output Data shows to the user of this Chess Viewer.


This idea coming to me reading an article from the Excel Hero Blog about an Excel 2007 Chess Game Viewer, very impressive and smart solution especially not using any VBA to implement it.


This Chess Viewer by Daniel Ferry are based on ICCF Numeric Notation and it showcases the advantage of using a state machine as input to a dynamic chart. This gives us the ability to view a game forward and backwards. The movement of chess pieces are converted from a numeric notation. Moves are designated with four digits – the first two are the code for the square of the piece that is moving and the last two are the code for its destination square.

The novelty of my approach of a Chess Viewer is that chess games are introduced by the Algebraic Notation, although their use can lead confusion to the machines, and even to human people with move notation for humans, since different languages have different names and initials for the chess pieces, which still I have not solved but it is on my agenda.  It is less complex to use move notations for computers.


The version uploaded to the cloud is complete but without graphic controls because Microsoft Excel Web App only admit .xlsx archives, without VBA and  without macros.  You can download my full Excel Chess Viewer version from here.



Change the entry value in cell J10 (in yellow) to move the pieces of the chess game selected with cell K1 from the Database sheet with some chess games stored, as:
You can store more chess games into this Database sheet.

In future articles I plan to write an explanation of how I managed to convert algebraic notation in movements of the pieces on the chessboard without using macros, only using formulas to obtain the states of each movement in numerical notation,  in compliance with the rules of chess (as "en passant" rule), easily translatable into positions on the chessboard being represented by chess symbols in Unicode characters, named figurines, without any external images, obtaining a graphical user interface that allows us to display a nice two-dimensional chess viewer.

In the next article: Data Conversion 2: Chess Viewer Instructions

Conversión de Datos 1: Visor de Ajedrez en Excel

$
0
0
Introducción a la Conversión de Datos

Todas las entradas sobre Conversión de Datos:
  1. Conversión de Datos 1: Visor de Ajedrez en Excel
  2. Conversión de Datos 2: Instrucciones del Visor de Ajedrez
  3. Conversión de Datos 3: Juego de Ajedrez con fórmulas
Una buena interfaz gráfica de usuario no se crea de la nada. Cualquier interfaz gráfico de usuario necesita una gran cantidad de procesos de conversión de datos antes de que se puedan mostrar los gráficos y, por supuesto, requiere de muchos interfaces antes de que pueda ser de utilidad a los usuarios finales.

Desde el momento en que las entradas se introducen en un programa o sistema, se requieren varios procesos de conversión para obtener la salida deseada. A través de etapas intermedias se convierten los datos, de una notación en otra, usando interfaces de comunicación entre los diferentes procesos y almacenando temporalmente los datos en diferentes formatos.

Lo más fácil es cuando todas las entradas posibles son conocidas de antemano, pero la realidad es que no es así. El escenario habitual se da cuando no existe un formato exacto de los datos de entrada pero se debe tomar la acción apropiada para que no pase que los datos de entrada no sean reconocidos por el proceso de conversión de datos, lo que impediría obtener los datos de salida correctos.

Se debe tener mucho cuidado de que esta situación no ocurra, y que todas las entradas sean predecibles y esperadas, y que todos los procesos de conversión de datos sean exactos, generando siempre las mismas salidas, cuando se produzcan las mismas condiciones de entrada.

Si las especificaciones de conversión de datos son secretas, los procesos de conversión se comportarán como una caja negra de la que sólo se conocen los datos de entrada y los datos de salida. Si las especificaciones son abiertas, usted puede aprender de los métodos de conversión y mejorarlos, aún sin ser el autor de las mismos.


Ejemplo de Visor de Ajedrez en Excel

Como un ejercicio de conversión, abierto a la comunidad de usuarios de Excel, he diseñado un Visor de Ajedrez en Excel sin macros, para los aficionados y amantes como yo de ambos mundos maravillosos.

Los datos de entrada son la notación algebráica de un juego de ajedrez, convertido en primer lugar en la notación numérica que finalmente se convierte, mediante una interfaz, en un gráfico que representa el tablero de ajedrez en el que las piezas de ajedrez se mueven de acuerdo con el juego guardado y, como datos de salida, muestra al usuario este Visor de Ajedrez.



Esta idea se me ocurrió leyendo un artículo del Excel Hero Blog acerca de un Visor de Partidas de Ajedrez en Excel 2007, realmente impresionante y una solución inteligente, especialmente por no usar nada de VBA para implementarlo.  Se puede ver el resultado en: Excel Hero Chess Game Viewer

Este Visor de Partidas de Ajedrez creado por Daniel Ferry se basa en la Notación Numérica ICCF, que supone la ventaja de utilizar una máquina de estados como entrada a una tabla dinámica. Esto nos da la posibilidad de ver los movimientos de una partida de ajedrez hacia adelante y hacia atrás. Los movimientos de las piezas de ajedrez son convertidos partiendo de una notación numérica. Los movimientos se designan con cuatro dígitos - los dos primeros son el código de la casilla de la pieza que se mueve y los dos últimos son el código de la casilla de destino.

La novedad de mi planteamiento de un Visor de Ajedrez es que las partidas de ajedrez se introducen por medio de la Notación Algebraica, aunque su uso puede provocar confusión a las máquinas, e incluso a las personas humanas siguiendo la notación de movimientos diseñada para los seres humanos. Las notaciones de movimiento para las computadoras son menos complejas de utilizar y convertir. Las piezas de ajedrez tienen diferentes nombres e iniciales en lenguas diferentes y este visor es capaz de entender 50 idiomas diferentes, incluidos los símbolos gráficos denominados figurines, como se pueden ver en la nube:


La versión subida a la nube es completa pero sin controles gráficos ya que Microsoft Excel Web App sólo admite archivos .xlsx, sin VBA ni macros. La versión completa con controles gráficos te la puedes descargar desde el siguiente enlace.


ATENCIÓN: No dejes de leer la siguiente entrada con las instrucciones de uso desde aquí: Conversión de Datos 2: Instrucciones del Visor de Ajedrez

En la hoja de arriba de Excel Web App, cambia el valor de la entrada de la celda J10 (en amarillo) para mover las piezas del juego de ajedrez que se selecciona con la celda K1 de la hoja Database,  y que contiene algunas partidas de ajedrez guardadas en ella, como:
1 - The Inmortal Game
2 - The Evergreen Game
4 - Kasparov versus the World

En esta hoja se pueden almacenar más de 250 partidas de ajedrez.

En próximos artículos me propongo escribir una explicación de cómo me las  ingenié para convertir la notación algebraica de los movimientos de las piezas sobre el tablero, sin el uso de macros, sólo usando fórmulas de Excel para obtener los estados de cada movimiento en notación numérica, de conformidad con las reglas del ajedrez (como la regla de "captura al paso"), fácilmente traducibles en posiciones en el tablero de ajedrez con sus piezas representadas por los símbolos de ajedrez como caracteres Unicode, llamados "figurines", sin ningún tipo de imágenes externas, obteniendo una interfaz gráfica de usuario que nos permite mostrar un buen visor de dos dimensiones de ajedrez.


ATENCIÓN: No dejes de leer la siguiente entrada con las instrucciones de uso desde aquí: Conversión de Datos 2: Instrucciones del Visor de Ajedrez

Conversión de Datos 2: Instrucciones del Visor de Ajedrez

$
0
0
Instrucciones del Visor de Ajedrez

Todas las entradas sobre Conversión de Datos:
  1. Conversión de Datos 1: Visor de Ajedrez en Excel
  2. Conversión de Datos 2: Instrucciones del Visor de Ajedrez
  3. Conversión de Datos 3: Juego de Ajedrez con fórmulas
En el artículo anterior mostré un visor de partidas de ajedrez guardadas en hojas Excel en formato algebraico en 50 idiomas, incluidos el inglés, el español y los símbolos gráficos de las figuras de las piezas blancas y negras del ajedrez: peón, torre, caballo, alfil, dama y rey.

Puedes descargar el visor de ajedrez desde aquí.

En este artículo aprenderemos a usarlo de modo básico y avanzado.



Instrucciones básicas para guardar una partida

1 - En la hoja 'AlgebraicDB' introduce una nueva partida algebraica en la columna K, como las partidas de ejemplo de las columnas A a J, y será la partida número 11.

2 - En la hoja 'ChessDB', si la notación algebraica era en español, introduce un 4 en la celda K2.

3 - Vete a la hoja 'Chessboard'

4 - Selecciona la partida número 11 con la celda K1.

5 - Elige el idioma de salida de la notación algebraica, por ejemplo pon un 1 en la celda K11 para mostrar las figuras de las piezas del ajedrez.

6 - Incrementa el contador de la celda K10 para ver los movimientos de la partida.

7 - Decrementa el contador para deshacer movimientos.

8 - Prueba con el resto de controles del tablero.

9 - Analiza la partida y aprende y progresa en el juego del ajedrez.


Hoja 'Game'

La función de esta hoja es convertir una partida de ajedrez escrita en notación algebraica compleja, con comentarios y variantes, a una notación algebraica simple, únicamente con los movimientos de cada jugador.

Nota: En esta hoja se debe escribir solamente en las celdas con fondo amarillo.

Si la partida de ajedrez está escrita en varias líneas se deben copiar en las celdas I21:I50, una línea en cada celda. En la columna J está la fórmula para concatenar estas celdas y convertirlas de varias líneas a una sola, lo que se consigue en la celda J50.

Si la partida está escrita en una única línea, o una vez obtenido una única línea en la celda J50, se copia en D1.

En las celdas D111:D200 se eliminan los comentarios y variantes de la partida contenidos entre dos paréntesis "(..)" o entre dos corchetes "{..}" y los valores que comienzan por el signo dólar "$", obteniendo en la celda D200 y D2 únicamente los movimientos de la partida.

La partida almacenada en D2 se descompone en sus jugadas individuales en el rango D3:D101, siendo el límite de jugadas de 99 movimientos por cada jugador.


Hoja 'NumericDB'

Permite verificar la corrección de la conversión entre la notación algebraica y la notación numérica de las partidas guardadas en la base de datos compuesta por las hojas 'ChessDB', 'AlgebraicDB' y 'NumericDB'.

Los movimientos en notación numérica se obtienen en la hoja 'Notation', en el rango N6:O104. Estos valores numéricos se deberán copiar manualmente en el rango E3:F101 de la hoja 'Game' para obtener la notación numérica en G3:G101 que, a su vez, se deberá copiar en la columna correspondiente a la partida en la hoja 'NumericDB'.

En la hoja 'Notation' se compara la notación numérica obtenida de 'NumericDB' en el rango H6:H104 con los datos numéricos convertidos desde la notación algebraica.


Hoja 'AlgebraicDB'

Esta hoja es la base de datos de las partidas en notación algebraica.

Se guarda una partida en cada columna, por ejemplo para la columna K se copian en el rango K1:K99, un movimiento en cada celda, por ejemplo en K1: 1. d4 Nf6

Se pueden almacenar las partidas en alguno de los 50 idiomas disponibles de la hoja 'Languages', así como en notación simbólica, tipo "figurines", por ejemplo: 8.♕d2 ♘d7


Hoja 'ChessDB'

La información adicional de la partida se guarda en esta hoja, en la misma columna en que se guardó la partida en la hoja 'AlgebraicDB'.

En la fila 1 está reflejado el número de partida.
En la fila 2 se indica el idioma en que se ha guardado la partida en notación algebraica, mediante un número de lenguaje.
En la fila 4 se incluye una descripción de la partida.
En las filas 5:22 se guardan los datos de la partida, obteniendo un resumen en la fila 23.


Hoja 'Languages'

Introduce en las columnas AW y AX un par de idiomas nuevos más.


Hoja 'Translate'

Traduce la partida en formato algebraico desde el idioma en que está guardada en la hoja 'AlgebraicDB' al idioma seleccionado por el usuario con la celda K11 de la hoja 'Chessboard'.

La conversión se basa en emplear como lenguaje intermedio la notación algebraica con figurines que usa caracteres Unicode para representar las piezas del ajedrez, por lo que son independientes de los lenguajes a traducir.


Hoja 'Chessboard'

Esta hoja es el interfaz gráfico del usuario con el visor de ajedrez y consta de:

1 - Un tablero de 64 casillas numeradas de la a1 a la h8, algebraicamente, y 11 a 88, numéricamente.

2 - Las piezas blancas y negras del ajedrez en formato con figurines que son caracteres Unicode.

3 - Un tablero con piezas del ajedrez representadas por las letras del idioma seleccionado por el usuario.

4 - Un tablero con piezas simbolizadas por 1 a 6 para las blancas y -1 a -6 para las negras.

5 - Un tablero con los números que representan cada una de las 64 casillas.

6 - Celda K1 para seleccionar el número de partida de la base de datos.

7 - Celda L2 para seleccionar entre notación algebraica y numérica.

8 - Celda K9 para elegir el movimiento de cada jugada.

9 - Celda K10 para ver la posición original de la pieza movida en el último movimiento.

10 - Celda O10 para cambiar el color de las casillas del tablero.

11 - Celda R10 para girar el tablero y cambiar el punto de vista del jugador de las piezas blancas o de las negras.

12 - Celda K11 para elegir el idioma de la notación algebraica.

Esta última característica permite visualizar las partidas en cualquiera de los 50 lenguajes diferentes, incluida la notación algebraica con figurines gráficos de las piezas del ajedrez.

¿Qué característica adicional te gustaría ver en la próxima versión del visor de ajedrez?
Me lo puedes decir escribiendo un mensaje.

Data Conversion 2: Chess Viewer Instructions

$
0
0
Chess Viewer Instructions

In the previous article I showed a chess viewer of games stored in Excel spreadsheets in algebraic format in 50 languages​​, including English, Spanish and graphic symbols of the patterns of white and black chess pieces: pawn, rook, knight, bishop, queen and king.


In this article we will learn to use basic and advanced mode.



Basic instructions for saving a chess game

In the sheet 'AlgebraicDB' you should input a new game in algebraic notation in the K column, as the sample games in columns A to J, and will be the game #11.

  1. In the sheet 'ChessDB', if the algebraic notation was in Spanish, enter a 4 in cell K2.
  2. Go to sheet 'Chessboard'
  3. Select game #11 with K1 cell.
  4. Choose the output language for algebraic notation, by example set 1 into K11 cell to show the shapes of the chess pieces.
  5. Increases the K10 cell counter to see the movements of the game.
  6. Decrease counter to undo movements.
  7. Try other controls of the board.
  8. Analyze the game and learns and progresses in the chess game.

'Game' sheet
The function of this sheet is to convert a chess game written in complex algebraic notation, with comments and variations, to a simple algebraic notation, only with the movements of each player.


Note: This sheet should be written only in cells with a yellow background.


If the chess game is written in several lines, it will be copied in cells I21:I50, a line in each cell. Into column J is the formula to concatenate these cells and convert multiple lines to one, which is achieved in J50 cell.


If the game is written in a single line, or after obtaining a single line in the J50 cell, is copied to D1.


In cells D111:D200 comments and variants are removed from the game content between two parentheses "(..)" or between two brackets "{..}" and the values ​​that begin with a dollar sign "$", getting in cell D200 and D2 only the moves of the game.


The game stored in D2 is converted into its individual moves in the range D3: D101, being the limit of 99 moves played by each player.


'NumericDB' sheet


Verifies the correctness of the conversion between algebraic notation and the number notation of the chess games stored in the database that consists of the 'ChessDB', 'AlgebraicDB' and 'NumericDB' sheets.


The movements are obtained in numerical notation into the 'Notation' sheet, in the range N6:O104. These numerical values ​​must be copied manually in the range E3:F101 of the 'Game' sheet for numerical notation G3:G101 which, in turn, must be copied into the column on the page 'NumericDB' for the corresponding chess game.


'Notation' sheet compares the obtained numerical notation 'NumericDB' in the range H6:H104 with the numerical data converted from the algebraic notation.



'AlgebraicDB' sheet

This sheet is the database of chess games in algebraic notation.


An stored game in each column, for example to column K are copied in the range K1:K99, a movement in each cell, eg into K1: 1. d4 Nf6


You can store games in any of the 50 languages sheet 'Languages​​' or in symbolic notation, such as "figurines" for example: 8.♕d2 ♘d7




'ChessDB' sheet

The information of the game is stored in this sheet, in the same column in which you saved the game on the 'AlgebraicDB' sheet.


In row 1 is reflected the number of the game.
Row 2 shows the language in which you saved the game in algebraic notation, with the number of language.
Row 4 includes a description of the game.
In rows range 5:22 is saved the data game, obtaining a summary in row 23.




'Languages' sheet

You can enter a couple of new more languages in columns AW and AX.


'Translate' sheet

Translates the algebraic format of the game, from the language in which is stored in the sheet 'AlgebraicDB', to the language selected by the user with the K11 cell in the 'Chessboard' sheet.


The conversion is based on an intermediate language, an algebraic notation with figurines that uses Unicode characters to represent the chess pieces, so they are independent of the languages ​​to be translated.



'Chessboard' sheet

This sheet is the graphical user interface of the chess viewer and includes:

  1. A chessboard of 64 squares numbered from a1 to h8, algebraically, and from 11 to 88, numerically.
  2. The black and white pieces in figurines that are formatted with Unicode characters.
  3. A chessboard with chess pieces represented by the letters of the algebraic notation language selected by the user.
  4. A chessboard with pieces symbolized by 1 to 6 for white and -1 to -6 for black.
  5. A chessboard with the numbers representing each of the 64 squares.
  6. Cell K1 to select the number of the database chess game.
  7. Cell L2 to select between numeric and algebraic notation.
  8. Cell K9 to choose the movement of each play.
  9. Cell K10 to see the original position of the piece moved in the last movement.
  10. Cell O10 to change the color of the squares on the chessboard.
  11. Cell R10 to rotate the board and change the player's point of view of the white and black pieces.
  12. Cell K11 to choose the language of the algebraic notation.

This last feature lets you view games in any of the 50 different languages, including algebraic notation in graphics figurines of the chess pieces.


What additional features would you like to see in the next version of this chess viewer?
You can tell me writing a post.

Conversión de Datos 3: Juego de Ajedrez con fórmulas

$
0
0
Juego ajetreado con fórmulas iterativas
    En Excel hay algo que a los formulianos nos saca de nuestras casillas y es cuando aparece una referencia circular porque una celda se refiere a sí misma de una manera directa o indirecta, lo que obliga a eliminar o corregir la referencia circular o, como es el caso en este juego, a aceptarla para que funcione cambiando el número de veces que Excel itera una fórmula.

    Iteración es el cálculo repetido de una hoja de cálculo hasta que se cumple una condición numérica específica. Para usar fórmulas iterativas se deben cambiar las opciones de Excel:
    Habilitar cálculo iterativo.
    Nº máximo de iteraciones = 1 en este juego.

    Microsoft.com: Cómo aceptar, quitar o corregir una referencia circular



    Reglas y normas del juego del ajedrez

    La primera regla que he tenido en cuenta es la clásica: 
    Pieza_tocada,_pieza_jugada

    Empleando solamente fórmulas, ¿cómo se tocan las piezas? ¿cómo obtener la pieza tocada? ¿como saber la casilla de destino?

    El truco ha sido insertar 64 botones de opción de los controles de formulario, uno por cada una de las 8x8 = 64 casillas del tablero de ajedrez, denominados Square11 a Square88, según la nomenclatura de la notación numéricas del ajedrez.  Son las 64 formas que se agrupan en los Squares, como se puede ver en la imagen a la derecha de este texto con todas las formas de la hoja ChessGame.

    Estos radio-buttons no se ven por estar ampliadas las casillas cinco veces y, con un zoom del 20%, los botones parecen los goznes de las puertas de cada casilla.  Cada uno de estos botones ocupa el tamaño de una casilla y está vinculado con la misma celda: Square.  Al presionar cada botón genera un número distinto del 1 al 64 por lo que se conoce exactamente cuál es la casilla pulsada.

    La posición de la pieza tocada se guarda en la celda: PositionPiece
    hasta que se toca una nueva casilla que sea una posición válida de la pieza tocada si se comprueba con las fórmulas de las celdas: MirrorSquare y Move.


    Descarga del juego del ajedrez

    En este enlace se puede descargar el juego de ajedrez:



    Especificaciones del juego del ajedrez

    Este juego de ajedrez permite jugar entre dos humanos de momento.  No lleva un motor de juego (imposible de hacer con fórmulas en Excel, ya que no sería eficaz y su rendimiento pésimo).

    Se pretende generar un tablero de ajedrez con las 32 piezas iniciales que revise los movimientos permitidos según las reglas del ajedrez y que guarde las partidas en una hoja Excel que haga de base de datos de las partidas jugadas, en la hoja NumericGames.

    Las especificaciones del juego de ajedrez son:

    1. Juego de ajedrez en Excel entre dos humanos programado sólo con fórmulas iterativas, sin macros ni VBA.
    2. Tablero de ajedrez de 64 casillas con formas redimensionables.
    3. Toque de las piezas y casillas con 64 botones de opción vinculados a una única celda: Square.
    4. Normas del enroque corto y largo.
    5. Captura del peón al paso.
    6. Tablero con las piezas del ajedrez en distintos formatos numérico o algebraico en español e inglés y figuras de varias fuentes de texto.
    7. Opción para ver la partida desde el lado de las blancas o de las negras.
    8. Opción para ver las referencias de las celdas en notación algebraica o numérica.
    9. Opción para seleccionar el estilo de las piezas del ajedrez (figurines) o incluso estilo numérico o algebraico.
    10. Opción para visualizar el último movimiento de una pieza, sus movimientos válidos posibles y las posiciones de ataque de las piezas blancas o negras.
    11. Base de datos de las partidas jugadas en la hoja 'NumericGames', guardada cada partida en una columna.
    12. Opción para finalizar una partida por tablas o por rendición y opción para comenzar un nuevo juego.
    13. Panel de visualización de cada uno de los movimientos de la partida en notación numérica.
    14. Traducción del juego a varios idiomas.
    Aún queda por resolver:
    1. Visualizar los movimientos de una partida guardada en modo Play.
    2. Guardar notación algebraica de las partidas.
    3. Guardar notación FEN.
    4. Posiciones válidas en el jaque al Rey.
    5. Detección de jaque mate.
    6. Promoción de los peones.
    Espero que os guste y os haga disfrutar de tan buenos momentos como yo mismo he pasado depurando este ajedrez.  Para seguir mejorándolo espero vuestros comentarios de apoyo.

    Viewing all 261 articles
    Browse latest View live