Notación Húngara
Es un sistema usado normalmente para crear los nombres de variables,
tipos y estructuras cuando se programa en Windows.

El sistema consiste en prefijos en minúsculas seguidos por el nombre de las
variables, estos prefijos indican el tipo de datos.

A continuación se muestra un listado de los prefijos que se utilizan:




    Prefijo                                  Significado


b             Booleano (int)


by            BYTE o UCHAR (unsigned char)


c             Carácter (un byte)


dw            Entero largo de 32 bits sin signo (double word)


f             Flags empaquetados en un entero de 16 bits


h             Manipulador de 16 bits (handle)


l             Entero largo de 32 bits


lbl           Objeto Label


lp            Puntero a entero largo de 32 bits


lpfn          Puntero largo a una función que devuelve un entero
lpsz      Puntero largo a una cadena terminada con cero


n         Entero de 16 bits


p         Puntero a entero de 16 bits


e         Enumeración


pt        Coordenadas (x, y) empaquetadas en un entero de 32 bits


rgb       Valor de color RGB empaquetado en un entero de 32 bits


sz        Cadena terminada en cero


txt       Cajas de texto


w         Entero corto de 16 bits sin signo (word)



Ejemplo de cómo utilizar la notación Húngara:

     nContador: la variable es un entero que se usará como contador.
     szNombre: una cadena terminada con cero la cual almacena un nombre.
     bRespuesta: una variable booleana que almacena una respuesta.
     txtHora: una instancia de un objeto textbox que almacena la hora.
Notaciones de 1 carácter



Prefijo                                             Significado



a         'array'. Para vectores/matrices/listas de n dimensiones ordenados escalarmente.



b         'booleano'. Para variables que tomen sólo dos tipos de valores.



c         'char'. Para el tipo primitivo de carácter alfanumérico individual.



d         'double'. Para tipos numéricos de alta precisión, como double o float.



e         'event'. Para eventos.



          'función'. Sólo la utilizaremos delante de funciones cuando se traten de funciones que se
f         añadan como observadores de un evento (ya que usar esta notación para cualquier
          método o función sería bastante engorroso).



g         'delegated'. Para tipos delegados.



h         'hashtable'. Colecciones ordenables mediante clave hash (hUsuarios[“juan23”]).



          'int'. Para números enteros en general, tanto enteros normales como aquellos tipos enteros
i
          de más capacidad (como long).



          'lock'. Para objetos de control que nos faciliten el uso de exclusiones mutuas, candados y
l
          semáforos.



n         'enum'. Para tipos enumerados.
'objeto'. Para objetos en general (no se debe usar la notación húngara para distinguir entre
o
    tipos de objetos, salvo escasas excepciones).



p   'puntero'. Para lenguajes con aritmética de punteros.



    'string'. Para variables de tipo cadena de texto, ya sean nativos o arrays de chars. Este tipo
s   de datos es muy habitual en lenguajes sin lógica de punteros. Si se usara el objeto de tipo
    “String” en estos casos, acudiremos a este identificador en lugar de al „o‟ de objeto.



    'struct'. Similar al 'o' de objetos, éste se usaría para variables de tipo struct en general (es
t
    decir, objetos de tipo primitivo).



    'variable'. Para variables que adquieran diferentes tipos de valores. Normalmente sólo
    acudiremos a esta opción en lenguajes no tipados (como JavaScript/EcmaScript). La
v
    usaremos cuando no estemos seguros del tipo de valor que albergará una variable.
    También puede valer para objetos que tengan un tipo genérico T.



y   'byte'.

Notacion hungara

  • 1.
    Notación Húngara Es unsistema usado normalmente para crear los nombres de variables, tipos y estructuras cuando se programa en Windows. El sistema consiste en prefijos en minúsculas seguidos por el nombre de las variables, estos prefijos indican el tipo de datos. A continuación se muestra un listado de los prefijos que se utilizan: Prefijo Significado b Booleano (int) by BYTE o UCHAR (unsigned char) c Carácter (un byte) dw Entero largo de 32 bits sin signo (double word) f Flags empaquetados en un entero de 16 bits h Manipulador de 16 bits (handle) l Entero largo de 32 bits lbl Objeto Label lp Puntero a entero largo de 32 bits lpfn Puntero largo a una función que devuelve un entero
  • 2.
    lpsz Puntero largo a una cadena terminada con cero n Entero de 16 bits p Puntero a entero de 16 bits e Enumeración pt Coordenadas (x, y) empaquetadas en un entero de 32 bits rgb Valor de color RGB empaquetado en un entero de 32 bits sz Cadena terminada en cero txt Cajas de texto w Entero corto de 16 bits sin signo (word) Ejemplo de cómo utilizar la notación Húngara:  nContador: la variable es un entero que se usará como contador.  szNombre: una cadena terminada con cero la cual almacena un nombre.  bRespuesta: una variable booleana que almacena una respuesta.  txtHora: una instancia de un objeto textbox que almacena la hora.
  • 3.
    Notaciones de 1carácter Prefijo Significado a 'array'. Para vectores/matrices/listas de n dimensiones ordenados escalarmente. b 'booleano'. Para variables que tomen sólo dos tipos de valores. c 'char'. Para el tipo primitivo de carácter alfanumérico individual. d 'double'. Para tipos numéricos de alta precisión, como double o float. e 'event'. Para eventos. 'función'. Sólo la utilizaremos delante de funciones cuando se traten de funciones que se f añadan como observadores de un evento (ya que usar esta notación para cualquier método o función sería bastante engorroso). g 'delegated'. Para tipos delegados. h 'hashtable'. Colecciones ordenables mediante clave hash (hUsuarios[“juan23”]). 'int'. Para números enteros en general, tanto enteros normales como aquellos tipos enteros i de más capacidad (como long). 'lock'. Para objetos de control que nos faciliten el uso de exclusiones mutuas, candados y l semáforos. n 'enum'. Para tipos enumerados.
  • 4.
    'objeto'. Para objetosen general (no se debe usar la notación húngara para distinguir entre o tipos de objetos, salvo escasas excepciones). p 'puntero'. Para lenguajes con aritmética de punteros. 'string'. Para variables de tipo cadena de texto, ya sean nativos o arrays de chars. Este tipo s de datos es muy habitual en lenguajes sin lógica de punteros. Si se usara el objeto de tipo “String” en estos casos, acudiremos a este identificador en lugar de al „o‟ de objeto. 'struct'. Similar al 'o' de objetos, éste se usaría para variables de tipo struct en general (es t decir, objetos de tipo primitivo). 'variable'. Para variables que adquieran diferentes tipos de valores. Normalmente sólo acudiremos a esta opción en lenguajes no tipados (como JavaScript/EcmaScript). La v usaremos cuando no estemos seguros del tipo de valor que albergará una variable. También puede valer para objetos que tengan un tipo genérico T. y 'byte'.